この記事は Dom Elliott による Android Developers Blog の記事 "The future of Android App Bundles is here" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
2018 年 5 月に Android App Bundle をローンチしてから、デベロッパー コミュニティがこの新基準を広く採用し、リリースの効率化や高度な公開機能によるメリットを活用しているのを見てきました。現在では、100 万以上のアプリが実際に App Bundle を使っています。そこには、Adobe、Duolingo、Gameloft、Netflix、redBus、Riafy、Twitter など、Google Play のトップ 1,000 のアプリやゲームの大半が含まれています。
このメリットをより多くのユーザーに提供し、すべてのデベロッパーにとっても有益な、最先端の Android のアプリ公開形式に注力するため、2021 年 8 月より、Google Play で新しいアプリやゲームを公開する際に Android App Bundle の使用が必須となります。これにより、標準の公開形式が APK から App Bundle になります。
まだ App Bundle に切り替えていない方のために、皆さんが見逃しているメリットについて説明します。
リリースの種類
変更前
2021 年 8 月に必須となる
項目
Google Play 上の新規アプリ
APK
Android App Bundle(AAB)
拡張ファイル(OBB)
Play Asset Delivery または
Play Feature Delivery
既存アプリのアップデート
変更なし
新規 Instant
エクスペリエンス
Instant app ZIP
Instant 対応 Android App Bundle(AAB)
Instant
エクスペリエンスの
アップデート
再度のご案内となりますが、App Bundle の要件は新規アプリに適用されます。現在のところ、既存アプリや managed Google Play ユーザーを対象に公開されている限定公開アプリは対象外です。最後になりましたが、App Bundle の普及に貢献してくださっているたくさんのデベロッパーの皆さんに感謝いたします。今後、さらなる改善と新機能をお届けできることを楽しみにしております。以下では今回の移行に際し、よくお寄せいただく質問への回答を紹介します。
- - -
Android App Bundle に関するよくある質問と回答
APK と比べ、App Bundle を使う場合はどのくらいの作業が必要になりますか?
ほとんどのアプリでは、わずかな作業だけで APK の代わりに AAB をビルドできます。ほとんどの場合、ビルド時に別のオプションを選び、いつもどおりテストするだけです。App Bundle はオープンソースのフォーマットで、Android Studio、Gradle、Bazel、Buck、Cocos Creator、Unity、Unreal Engine、その他のエンジンなど、主要なビルドツールでサポートされています。Play Core Native や Play Core Java & Kotlin SDK でも、任意のコーディング環境を利用して、オプションの高度な App Bundle 機能を簡単に利用できます。
App Bundle で拡張ファイル(OBB)がサポートされないのはなぜですか?ゲームで Play Asset Delivery を使う必要があるのはなぜですか?
APK でユーザーに追加リソースを配信するには、別のファイル(OBB)が必要です。しかしながら、OBB は署名されておらず、アプリの外部ストレージに保存されるため、あまり安全ではありません。しかし、 Play Asset Delivery(PAD)を使用することで、サイズが 150 MB を超えるゲームでも、OBB ではなくゲーム全体を 1 つの App Bundle として Google Play Store で公開できるようになります。公開プロセスがスムーズになり、柔軟な配信モードが利用できることに加え、PAD には以前の拡張ファイルを上回るメリットがあります。アセットの差分パッチが大型アプリ向けに最適化されるので、アップデートに必要なデバイスのストレージが OBB よりも大幅に少なくなります。そのため、fast-follow を使うことで、インストール率やストアのコンバージョン率が上がります。さらに、最大 80% のデバイスで ASTC がサポートされているので、テクスチャ圧縮形式のターゲット指定を使ってサポート対象のデバイスに ASTC を配信できます。これにより、利用可能なハードウェアやデバイスのストレージを効率的に利用しつつ、幅広い Android デバイスをターゲットにすることができます。
App Bundle を使う場合、今後も複数の配信チャンネルやアプリストアで公開できますか?
可能です。これを実現する方法はいくつかあります。すべての場所で同じアプリ署名鍵を使うことも、チャンネルによってアプリ署名鍵を使い分けることもできます。Google Play 用の一意なアプリ署名鍵を使うこともできます。また、ローカルですべての配信チャンネル用のアーティファクトをビルドして署名することも、Google Play から配信用 APK をダウンロードして別のチャンネルで使うこともできます。Google Play Console の App Bundle エクスプローラまたは Play Developer API のいずれかを使用して Google Play からダウンロードした配信用 APK は、Play アプリ署名鍵で署名されます。
新しいアプリをリリースしようとしています。アプリ署名鍵を自分で決めることはできますか?
可能です。このオプションは Google Play Console で利用できます。新しいアプリを作成するときには、Google が使うアプリ署名鍵の提供方法を選択できます。アプリ署名鍵のコピーは、ローカルで保持できます。たとえば、Play バージョンと同じ鍵を使って署名し、他のチャンネルで配信する署名済みのバージョンを生成できます。近日中に、Play Console でのアプリの初回リリースが少しばかり簡単になる予定です。具体的には、初めてオープン トラックに公開する前であれば、操作を誤った場合でもアプリ署名鍵を変更できるようになります。
Google Play でアプリを配信する場合、アプリが意図したとおりにユーザーに配信されていることを確認するにはどうすればよいですか?
いつでも、Play Console の App Bundle エクスプローラか、Play Developer API を通して、Play ストアからアーティファクトをダウンロードして検証できます。さらに、新しいオプション機能である App Bundle のコードの透過性機能を使うと、デバイスで実行されるコードが、デベロッパーがビルドして署名したオリジナルのコードと一致するかどうかを検証できます。
既に Google Play でアプリを公開しています。既存のアプリ署名鍵のコピーを提供せずに Play アプリ署名を使うことはできますか?
現在のところ、Play アプリ署名を使うには、既存のアプリ署名鍵のコピーを提供する必要があります。既存のユーザーに配信する際に、Google Play でアップデートに署名するため、Google Play がコピーを保持する必要があるためです。これはほとんどのデベロッパーにとって適した方法で、100 万以上のアプリが Play アプリ署名を実際に利用しています。近日中に、鍵のアップグレードを行って Play アプリ署名をオプトインする追加オプションを既存アプリ向けに追加する予定です。このオプションを選択すると、すべての新規インストールとそのアップデートの際に、Play アプリ署名で新しい一意の鍵が使われます。ただし、これを動作させるには、App Bundle をアップロードする際に、古い鍵で署名した以前の APK もアップロードする必要があります。これが必要なのは、Google Play が既存ユーザーへのアップデート配信を継続できるようにするためです。
アプリ署名鍵は変更できますか?
可能です。アプリによっては、Play Console で新規インストール用のアプリ署名鍵のアップグレードをリクエストできます。Google Play では、新規インストールとアプリのアップデートの署名に新しい鍵が使われます。一方、鍵のアップグレード前にアプリをインストールしたユーザーへのアップデートでは、以前のアプリ署名鍵が使われます。近日中に、Play アプリ署名鍵のアップグレードにも APK 署名スキーム v3 の鍵ローテーションのサポートを追加する予定です。これにより、鍵のアップグレードが現実的なオプションとなるアプリが増え、アップグレードした鍵で署名されたアプリがさらに多くのユーザーに届くようになります。
Reviewed by Hidenori Fujii - Head of APAC Developer Marketing, P&E