日本のデベロッパーの方へ Google Play や Android に関する最新情報をお届け
最近の Android App Bundle の改善と新規アプリのスケジュール
2020年8月14日金曜日
この記事は Dom Elliott、Yafit Becher による Android Developers Blog の記事 "
Recent Android App Bundle improvements and timeline for new apps on Google Play
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Android App Bundle
が Google Play でアプリやゲームを公開する際の実質的な標準となってから、2 年あまりが経ちました。現在の実環境では、60 万以上のアプリやゲームで App Bundle が使われており、Google Play のすべてのリリースの 40% 以上を占めています。App Bundle は、Google Play のトップ デベロッパーの 50% が使用しています。たとえば Adobe の場合、App Bundle を使って
Adobe Acrobat Reader のサイズを 20% 削減しました
。
最近リリースした
Play Asset Delivery
(PAD)は、App Bundle による大きなメリットをゲームにもたらします。PAD を利用すると、配信コストとゲームのサイズを減らしつつ、ユーザー エクスペリエンスを向上させることができます。
Gameloft
は、PAD を使ってユーザーの維持率を高め、以前のアセット配信システムの使用時に比べて新規プレイヤーが 10% 増加しました。App Bundle を使うために必要な
Play App Signing に関するよくある質問
や
App Bundle のテスト方法
に関するガイダンスを公開しています。本記事では、App Bundle の開発、テスト、公開に関する最近行われた改善について説明します。
Google Play での機能配信
App Bundle を使うと、カスタマイズ可能な各種配信オプションを備えた動的機能モジュールによって
アプリ開発をモジュール化
できます。モジュール化したアプリを構築する際には、動的機能モジュールやベース モジュールの
リソースの縮小
もできるようになっています。この機能は長く待ち望まれてきたもので、アプリのサイズを大幅に削減できる可能性があります。この機能は、現在 Canary 版となっている Android Studio 4.2 以降で試験運用版フラグ
android.experimental.enableNewResourceShrinker=true
を指定すると利用できます。
デフォルトでは、App Bundle が配布用 APK に変換される際にインストール時モジュールが自動的に組み込まれます(bundletool 1.0.0 以降)。つまり、各端末に配布する APK の数を減らしつつ、開発時にアプリをモジュールに分割できます。これにより、アプリのダウンロードやインストールにかかる時間が短くなります。インストール時モジュールには「削除可能フラグ」を設定することもできます。その場合、組み込みが行われなくなるので、モジュールの使用後に端末からアンインストールできるようになります。大きなモジュールが不要になった場合は、削除するとよいでしょう。アプリのサイズを減らすことで、アンインストールされる可能性が低くなります。
Android Studio 4.0
では、
機能間の依存性
が安定版になっています。そのため、動的機能モジュールが他の機能モジュールに依存するように指定できます。この関係を定義できることで、アプリで追加機能を解放するために必要なモジュールが存在することを保証でき、その結果リクエストが少なくなり、アプリのモジュール化が簡単になります。
アプリの配信のテスト
で実際のユーザーと同じ操作を行ってみることが不可欠です。内部アプリ共有を使うと、テストビルドを Play にアップロードし、アプリをダウンロードできる共有可能なリンクを生成できます。このリンクからアプリをダウンロードすると、アプリを Play にリリースしたときにユーザーに提供されるものと同じバイナリを取得できます。
Play Asset Delivery
Play Asset Delivery は、App Bundle のフォーマットを拡張し、Google Play で公開する単一アーティファクトのバイナリと合わせて
最大 2 GB のゲームアセット
を格納できるようにします。PAD を使うと、150 MB 以上のゲームは以前の拡張ファイル(OBB)ではなく、ゲームのバイナリと同じように Google Play の機能を使ってアセットを最新に保つようになります。さらに、圧縮や差分パッチの対応、ダウンロード サイズの最小化、アップデートの高速化も行われます。
1 つのベース モジュール、2 つの動的機能モジュール、2 つのアセットパックのある Android App Bundle の内容
アセットをユーザーに配信するタイミングに応じて、3 つの配信モードから選択できます。
install-time
は、最初のゲームのインストールとともに配信します。
on-demand
は、リクエストされたときにのみ配信します。
fast-follow
は、ユーザーがアプリを開く操作とは関係なく、ゲームのインストールが完了した直後に追加ダウンロードが行われます。fast-follow を使うと、最初のインタラクションまでの時間を短縮しつつ、アセットをできる限り早くユーザーに配信できます。
今後数か月のうちに、
テクスチャ圧縮フォーマットのターゲット指定
をリリースする予定です。これを使うと、複数のテクスチャ圧縮フォーマットのアセットを含めておき、リクエストする端末がサポートする最も高度なフォーマットを自動選択して配信できるようになります。
詳細については、Game Developer Summit の
こちらのセッション
をご覧ください。また、Unity、Unreal Engine、Gradle、ネイティブ、Java のサポート オプションについては、
ドキュメント
をご覧ください。
Google Play による高品質の配信
Google Play は、無数の種類の端末を使う世界中の Android ユーザーに、毎月数十億のアプリやゲーム、アップデート、動的機能モジュールを配信しています。私たちは、ユーザー エクスペリエンスが複雑にならないようにしつつ、皆さんのコンテンツをできる限りシームレスかつ効率的にユーザーに配信するため、多くの時間と労力を費やしています。
たとえば最近では、Google Play で利用しているダウンロード サービスをアップグレードしました。この変更だけで、App Bundle によるアプリのインストールが平均 6% 高速化され、世界のインストール成功率が 1% 上昇しました。その結果、毎週のインストール数は数百万回増加しました。
また、
動的機能モジュールの配信に関する複数の改善
をロールアウトしています。たとえば、アプリが
VISIBLE
以上の場合にモジュールのインストールを許可する、ストレージ不足エラーのしきい値となる空き領域を下げる、大きな動的機能を Wi-Fi でダウンロードする際のユーザーの確認を省略するなどです。これだけで、モジュールの遅延ダウンロードの成功率が 12% 上昇しました。動的機能を使うアプリでは、自動的にこの変更によるメリットが得られます。
2021 年下半期の新規アプリ要件
引き続き、Google Play で App Bundle を APK よりも優れた公開フォーマットにするための作業に取り組んでいます。たとえば、新しい
App Bundle Explorer
を使うと、すべての App Bundle を 1 か所で管理できます。Play が配信用に生成する APK そのものや、別の配信チャンネルで使用できる署名されたユニバーサル APK(サポート対象の端末に必要なすべてのコードやリソースを含む 1 つのインストール可能 APK)をダウンロードして確認することもできます。
App Bundle がアプリやゲームのエコシステムに広く普及することを大変嬉しく思っており、今後もその改善を続けてゆきます。
Android 11 のイベントでお知らせしましたが
、今後の改善に向けた労力を集中させるため、
2021 年の下半期には、Google Play で新しいアプリやゲームを公開する際に
Android App Bundle
の使用が必須になる予定です。
同じタイミングで、以前の APK 拡張ファイル(OBB)のサポートを終了し、
Play Asset Delivery
が、150 MB 以上のゲームを公開する際の標準オプションになります。また、インスタント対応には
インスタント対応 App Bundle
による公開を必須とし、以前の Instant App の ZIP フォーマットのサポートを終了する予定です。
既に Android App Bundle に切り替えてくださっている皆さま、また、フィードバックを共有してくださった皆さま、ありがとうございます。皆さまのご意見は、App Bundle の将来を形作り、あらゆる人に向けたテクノロジーを改善するために役立ちます。ぜひ今後も感想をお知らせください。
Reviewed by
Yuichi Araki - Developer Relations Team
ラベル
#11WeeksOfAndroid
18
#Android12
1
#AndroidDevJourney
1
#androiddevsummit
5
#GoogleIO
19
#WeArePlay
10
12l
1
5 star apps
1
Ads
1
advertising
1
AGDE
1
AGDK
2
AGI
1
AI
3
AI Announcements beginner Explore Generative AI
1
AI Announcements beginner Explore Generative AI、
1
Android
111
Android 10
1
Android 11
1
Android 12 Beta 5
1
Android 12L
1
Android 13
3
Android 14
7
Android 14 Beta 4
1
Android 14 ベータ版4
1
Android 15
4
Android App Development
42
Android app excellence
1
Android Architecture
1
Android Architecture Components
1
Android Auto
4
Android Automotive OS
1
Android Dev
2
Android Dev Summit
1
Android Dev Summit 2021
1
Android Developer
31
Android Developers
49
Android Development
8
Android Development Tools
1
Android fitness
1
Android for cars
5
Android Game Development Kit
1
Android Games
2
Android health
3
Android Jetpack
10
Android O
1
Android photo picker
1
Android SDK
1
Android SDK Upgrade Assistant
1
android security
7
Android Stu
1
Android Studio
35
Android Studio Bumblebee
1
Android Studio Chipmunk
1
Android Studio Dolphin
2
Android Studio Dolphin Beta
1
Android Studio Electric Eel Canary
1
Android Studio Giraffe
1
Android Systemui
1
Android Tools
2
Android TV
4
Android TV OS
1
Android10
1
Android11
19
Android12
13
android13
6
Android14
2
Android15
2
Android9
1
androidbasics
1
AndroidDev
1
AndroidDevChallenge
4
AndroidGoogle Play
1
androidstudio
3
AndroidX
4
announcement
3
Announcements
12
aosp
1
APIs
1
App
2
App Bundle
2
app development
3
app lifecycle
1
app performance
1
App quality
3
App Security
1
appexcellence
2
appexcellencecasestudy
1
appquality
2
apps
2
AppWidgets
1
Architecture
2
Assistant
1
attestation
1
Authentication
3
Best Apps 2020
1
best apps 2022
1
best apps 2023
1
Best games 2020
1
best games 2022
1
best games 2023
1
Best Practices
2
Beta
2
Biometrics
1
Buildbetterapps
2
CameraX
2
case study
6
ChromeOS
1
Cloud photos
1
coding productivity
1
compatibility
3
Compose
20
Compose Animation Previews
1
Conversation API
1
conversations
2
COVID-19
3
credential manager
1
Custom Model
1
Dagger Hilt
1
dark theme
1
Delegation
1
Dependency Injection
1
Design Patterns
1
Develop
1
Developer Preview
14
Developer Review
1
developer stories
4
developers
1
Developers Story
5
device explorer
1
devices
2
Edge-to-edge
1
events
2
Explore
2
Featured
151
Featured Game Development
1
Featured Google Play Policy
1
features
2
Firebase
2
Firebase Remote Config
1
foldables
7
form factors
3
game
19
Game Development
6
Game Mode API
1
games
2
gaming
1
GDG
1
Gemini
2
Get Inspired
2
get started
1
glance
1
Google AI Studio
1
Google Developers
1
Google for Games Developer Summit
2
Google I/O
5
Google Pixel Fold
1
Google Pixel Tablet
1
Google Play
121
Google Play App Safety
1
Google Play Billing
2
Google Play Billing Library
1
Google Play Console
3
Google Play developer distribution agreement
1
Google Play Developer Policies
3
google play developers
5
Google Play Devs
2
Google Play Game Services
1
Google Play Games
6
Google Play Indie games accelerator
2
Google Play Indie Games Festival
1
Google Play Integrity API
1
Google Play Latest
1
Google Play Pass
1
Google Play Points
1
Google Play SDK Index
1
Google Play Store
4
GoogleIO
3
GPS
1
Gradle sync
1
Health Connect
1
Health Connect API
1
health data
1
How to build Android app
1
I/O Extended
2
I/O Extended Japan
2
Identify
1
IGF2020
6
IGF2021
9
Indie developers
1
Indie Game
16
Indie Games
1
Indie Games Festival
17
Indie Games Festival 2020
7
Indie Games Festival 2021
9
indies
5
Insights
1
Japanese
15
Japanese Developer
9
JetLagged
1
Jetpack
17
Jetpack Compose
23
Jetpack Compose 1.2
1
JetpackCompose
5
key
1
keymaster
1
keymint
1
keystore
1
Kotlin
21
Kotlin Android Extensions
1
Kotlin Beginners
3
Kotlin Symbol Processing
1
Kotlin Vocabulary
2
Large Screens
6
large_screens
1
latest
133
Learn
1
learn Android
1
lifull
1
live edit
1
Location
1
Location Data
1
Machine Learning
1
Mad Skills
3
MADSkills
3
Material Design
4
material you
4
Media
8
mikan
1
ML
1
ML Kit
1
mobile
2
Model Maker
1
Modern Android Development
1
monetization
3
multiplatform apps
1
Navigation
1
nonce field
1
notifications
2
Now in Android
27
Open source
1
Optimization
1
organization account
1
passkeys
2
people
2
People API
1
Performance
8
permissions
1
Pixel
3
Platform_Update
13
Platform_Updates
1
play
1
Play Billing
1
Play Console
21
Play Store
1
Policies
6
Policy
11
policy compliance
8
policy violations
8
privacy
29
Privacy Sandbox
2
privacy sandbox on android
1
Programming
1
provisioning
1
Requirements
3
Resources
1
safety
3
sandbox
1
Security
12
stable
1
Story
3
subscriptions
5
success stories
3
Tablets
6
tapple
1
TensorFlow
2
TensorFlow Lite
1
Testing
1
Tools
1
training
2
UI
2
UX
1
wear
1
Wear OS
15
Wearables
1
wearos
3
webinar
2
Windowinsets
1
Women in Gaming
1
Workmanager
2
ベータ版4
1
ブログ アーカイブ
2024
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2023
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2022
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
1月
2021
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2020
12月
11月
10月
9月
8月
7月
6月
5月
4月
3月
2月
1月
2019
12月
9月
7月
6月
4月
3月
2018
8月
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"