8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WebRTCAdvent Calendar 2017

Day 7

WebRTCでAndroidアプリ作りさらにiOS&Macアプリを作ろうして難儀している話

Last updated at Posted at 2017-12-06

WebRTCの力を借りてアプリ作ったんですよ。

##現物
ソーシャル仮想散歩アプリSmanpoWiz

Googleストリートビューの景色に没入しFacebookまたはLINEの仲間と散歩気分でビデオ通話を楽しむ事ができる。
映像から利用者の動きを検出し、動いた分だけストリートビューの景色が進み、相手と近づいたり離れたりでき、仲間との散歩を仮想体験できる。

動画は↓(画像をクリックするとYouTubeが開きます)
SmanpoWiz

##経緯
以前より歩数計センサーとGoogleストリートビューをのっけた仮想散歩アプリ「Smanpo(Android,iOS)」ってのを作っていた。
その後、室内で座って腕を振りつつ流れる景色を楽しめばなんか健康的でいい感じだろうと思い、歩数計センサーの代わりにカメラで動きを検出するカメラモード(iOSのみ)って機能を追加した。ちなみにMacアプリは新規で作成した。
ビデオ通話機能を盛り込めば仲間と楽しめるんじゃないかと思い、WebRTC(Skyway)に手を出した。

##実装
とりあえずjsベース(PeerJS)のサンプルコードを触ったらちょー簡単にビデオ通話できたのでNativeアプリにはwebview実装という安易な選択を企んだ(2017年8月頃)。
Android:手元の端末でCrosswalkというWebViewエンジンを利用したらWebRTCが動いたのでこれ使えば端末環境による差異を吸収してくれるらしいしいいなこれ、って事で採用。
iOS,Mac:Safari11からWebRTCに対応するとのことで、アプリ実装時のWebView(WKWebView)もWebRTCに対応するだろう、つまりAndroidが出来上がる2017年秋頃には環境が整うだろうとたかをくくっていた。

##現状
Android:できました!既存アプリに機能追加ではなく別アプリとしてローンチしました。
iOS,Mac:できず涙

##iOS,Mac環境について
当初の目論見から外れ、いざ蓋を開けて見るとSafari11が動いているiOS11(MacはHighSierra?)のWKWebViewではWebRTCが動いておりませんでした。がーん。

##今後
mashupawardという開発者のお祭りの2ndSTAGEというところで発表できることになったので自慢してくる。
ローンチ済みのAndroidをキレイにしてからiOSでは心を入れ替えてSDKを使い実装する。

##未解決問題←解決しました!
Macにはsdkなさげけどどうやって実装するんだろう??素直にwebアプリという手もあるがMac app storeってiOSほど盛り上がっていないから個人アプリ供給者としては需給バランス的に配信チャネルとして魅力なんだよなぁ。
12/7追記:エレクトロンってのを使うとmac-webviewでWebRTCが使えるんじゃないかという話をWebRTCもくもく会で教えていただきました。ありがとうございます!今回のイベント主催者のWebRTC Beginners Tokyoの皆さんはふわ系の私のような人にでも親切に教えてくれます。興味のある方はお気軽にjoinしてみましょう!

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?