わくわくする発表が多々あったkeynoteですが、私が特に気になったのは、
モバイルバックエンド系の機能をまとめなおしPlayServicesを置き換えようとしているFirebaseと、
ダウンロードなしにアプリを実行させるというInstantAppについてです。
Android Instant Apps
https://developer.android.com/topic/instant-apps/index.htmlkeynoteとWhat's new in Google Play for developersで発表されたAndroid Instant Appsの概要は次のとおりです。
- ダウンロードなしにアプリを起動しほぼ製品版と変わらない機能を使用することができる
- Android4.1から使用できる
- 次の4点を守ることでInstantAppにすることができる
- ディープリンクをサポートすること
- Module化すること
- 制約を適切に処理すること(Handle Restrictionsと書いてあったけど訳があってるか自信ない)
- 新しい機能に対応すること
InstantAppを作るには:SupportDeepLinking— mochico (@_mochicon_) 2016年5月19日
Modularize
Handle restrictions
Integrate new features
そのModulaizeがどうするのかがめっちゃきになるんだけど #io16jp
このInstantAppにするための条件の内容について、不明な点が多かったのでGooglePlayのサンドボックスで聞いてきました。
@_mochicon_ 聞いた。Manifest/APKは本体とは別。Modularizeは文字通りModule(4MB以下)に分ける。Moduleは複数可能でdeeplinkで連携できる。時がきたらInstant用のTempleteが追加される #io16 #io16jp— mochico (@_mochicon_) 2016年5月19日
ざっくり言うとツイートの通りですが、もう少し詳しく書きます。
- InstantAppのAndroidManifestとAPKはPublishしているアプリ本体とは別
- 機能(Activity)ごとにModuleに分割する。これをModularizeと言ってたらしい
- 1Moduleあたり4MB以内に収めること
- InstantAppのModuleは対応するためのTempleteが公開される(AndroidStudioの新規Moduleウィザードに追加される)予定
- ひとつのInstantAppにModuleは複数含めることが可能
- Module間での呼び出しも可能。DeepLinkで各画面を起動する
- DeepLinkで呼び出されるたびに対応するModuleが一時的にPlay経由でダウンロードされる
- Permissionは本体と同じものをAndroidManifestに指定する。ただ、これが推奨なのか機能的な制限なのかまでは未確認
対応方法自体は特別難しいことは言ってないように見えますが、実際に現在動いているアプリを機能ごとにモジュール単位に分割するのはかなり覚悟が必要そうです。
ここに書いた内容はこの機能が使用可能になるまでまだ間が(だいぶ)あるため、変更がある可能性が大いにあります。
実際に使用できるようになるまでは油断はできません。
— mochico (@_mochicon_) 2016年5月19日
keynoteのロードマップで見ても年内に使用できるようになる可能性は低そうです。
AndroidInstantAppsのページの「I'M INTERESTED IN ANDROID INSTANT APP」の登録フォームに、アプリの情報について入力する項目があるので、使ってみたい人は登録してみると今後何か情報が得られるかもしれません。
0 件のコメント:
コメントを投稿