この記事は シニア パートナー デベロッパー アドボケート、Tom Greenaway による Android Developers Blog の記事 "Updating your games for modern Android" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

昨年お知らせしたように、2018 年 8 月より、Google Play のすべて新しいアプリとゲームで、ターゲットを API レベル 26(Android 8.0 Oreo)以降に設定することが求められるようになりました。さらに、2018 年 11 月以降は、この要件が既存のアプリとゲームのアップデートにも拡大されます。
Android ではバージョンが新しくなるたびに、セキュリティやパフォーマンスの大きな改善をもたらす変更が行われています。また、全般的な Android のユーザー エクスペリエンスも進化しています。ターゲットが最新の API レベルになるようにゲームをアップデートすると、古いバージョンの Android でゲームを動作させながら、ユーザーがそういった改善によるメリットを受けられるようになります。

次のステップ:
  • Android Studio で([Tools] > [Android] > [SDK Manager] > [Android SDK] > [SDK Platforms])に移動し、Android 8.0 Oreo SDK(API レベル 26)をインストールします。
  • できるだけ早くターゲットが API レベル 26 になるようにゲームをアップデートし、ゲームに非互換性や問題がないかを確認します。また、必要に応じて外部依存関係をアップデートします。Android バージョン間の増分変更についての詳細は、こちらをご覧ください
  • API レベル 26 と互換性のない広告ネットワーク、SDK、プラグインを使っている場合は、開発元に連絡して API レベル 26 がサポートされるスケジュールを確認します。開発元には、この変更について早めに知ってもらう方がよいでしょう。
  • Unity でゲームを開発している場合、ターゲット API 26 のサポートは Unity 5.6.6 以降に組み込まれています。Unity の Android ビルド設定([Build Settings] > [Android] > [Player Settings])で、最新のターゲット API レベルが選択されていることを確認してください。Unity 5.6.5 以前のバージョンを使っている場合は、バージョン 4.3 までの回避策が記載されているこちらのドキュメントをご覧ください。
  • Unreal でゲームを開発している場合、Android プラットフォーム設定の "Target SDK Version" が 26 に設定されていることを確認します。
  • Cocos2D-X を使っている場合、生成される gradle.properties ファイルのターゲット API レベルを確認してください。
注意すべき主な変更点:
  • API 23 以降では、パーミッションが実行時にリクエストされるようになり、アプリのインストール プロセスが効率化されています。
  • API 24 以降では、アプリからの非 NDK ライブラリへのダイナミック リンクができなくなっています。アプリ(サードパーティ製の静的ライブラリを含む)にネイティブ コードが含まれている場合は、パブリック NDK API のみを使用するようにしてください。
  • ゲームで Android プッシュ通知を使っている場合、API レベル 26 をサポートするには、Google Play Services SDKバージョン 10.2.1 以降にアップデートする必要があります。
  • ゲームで Opaque Binary Blob(OBB)を使っている場合、OBB ファイル自身にアクセスする前にディレクトリにアクセスできるかを確認する必要があります。Runtime Permissions API を使って明示的にアクセス パーミッションをリクエストし、パーミッションが付与されなかった場合にもスムーズに対応できるようにすることをお勧めします。また、外部ストレージにアクセスするために、次のエントリをマニフェストに追加してください。
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
今後に向けて
ターゲット API レベルのアップデートは、最初の一歩にすぎません。皆さんのゲームで、現在のターゲット API レベルと API レベル 26 の間での動作の変更点に確実に対応できるようにしてください。過去のバージョンの Android での変更点について詳しいガイドを確認し、移行プロセスに役立ててください。今回のポリシーの変更は、Android エコシステムを前進させ、ユーザーや皆さんにとって健全なものであり続けるために重要です。
このブログ投稿投稿はどのくらい役に立ちましたか?

Reviewed by Hak Matsuda - Developer Relations Team