2016年5月20日金曜日

GoogleI/O2016で発表されたAndroidInstantAppsについて聞いてきた

今年もGoogleI/Oに参加することができまして、実りの多い旅になっております。

わくわくする発表が多々あったkeynoteですが、私が特に気になったのは、
モバイルバックエンド系の機能をまとめなおしPlayServicesを置き換えようとしているFirebaseと、
ダウンロードなしにアプリを実行させるというInstantAppについてです。

Android Instant Apps

https://developer.android.com/topic/instant-apps/index.html

keynoteとWhat's new in Google Play for developersで発表されたAndroid Instant Appsの概要は次のとおりです。

  • ダウンロードなしにアプリを起動しほぼ製品版と変わらない機能を使用することができる
  • Android4.1から使用できる
  • 次の4点を守ることでInstantAppにすることができる
    • ディープリンクをサポートすること
    • Module化すること
    • 制約を適切に処理すること(Handle Restrictionsと書いてあったけど訳があってるか自信ない)
    • 新しい機能に対応すること



このInstantAppにするための条件の内容について、不明な点が多かったのでGooglePlayのサンドボックスで聞いてきました。




ざっくり言うとツイートの通りですが、もう少し詳しく書きます。

  • InstantAppのAndroidManifestとAPKはPublishしているアプリ本体とは別
  • 機能(Activity)ごとにModuleに分割する。これをModularizeと言ってたらしい
  • 1Moduleあたり4MB以内に収めること
  • InstantAppのModuleは対応するためのTempleteが公開される(AndroidStudioの新規Moduleウィザードに追加される)予定
  • ひとつのInstantAppにModuleは複数含めることが可能
  • Module間での呼び出しも可能。DeepLinkで各画面を起動する
  • DeepLinkで呼び出されるたびに対応するModuleが一時的にPlay経由でダウンロードされる
  • Permissionは本体と同じものをAndroidManifestに指定する。ただ、これが推奨なのか機能的な制限なのかまでは未確認

対応方法自体は特別難しいことは言ってないように見えますが、実際に現在動いているアプリを機能ごとにモジュール単位に分割するのはかなり覚悟が必要そうです。


ここに書いた内容はこの機能が使用可能になるまでまだ間が(だいぶ)あるため、変更がある可能性が大いにあります。
実際に使用できるようになるまでは油断はできません。




keynoteのロードマップで見ても年内に使用できるようになる可能性は低そうです。

AndroidInstantAppsのページの「I'M INTERESTED IN ANDROID INSTANT APP」の登録フォームに、アプリの情報について入力する項目があるので、使ってみたい人は登録してみると今後何か情報が得られるかもしれません。

0 件のコメント:

コメントを投稿