プロダクト ニュース

アプリの品質向上: メモリ使用量の削減とデバイス移行の改善

所要時間: 4 分
Raghavendra Hareesh Pottamsetty さんのプロフィールを表示
Raghavendra Hareesh Pottamsetty GM、Google Play デベロッパー&収益化

健全な Android エコシステムを維持することは、すべてのアプリとゲームが役割を果たすべき共通の取り組みです。ユーザーが期待するプレミアム エクスペリエンスを提供できるよう、Google Play では 2 つの新しい品質要件を導入します。1 つはアプリのメモリ使用量の削減に重点を置いたもので、もう 1 つは安全でシームレスなデバイス移行エクスペリエンスの提供に重点を置いたものです。

まず、デベロッパーが業界全体のハードウェアの制約と Android のメモリ制限を乗り越えられるよう、Google Play は新しいパフォーマンスの基準を設けます。

次に、アプリの品質向上に向けた取り組みの一環として、デバイスのアップグレード時のログインを簡素化し、安全性を高める新しいオンボーディング標準を導入します。

アプリのメモリ使用量を減らし、コードを最適化する

モバイル業界は、デバイスのメモリの利用可能性を変化させ、ユーザー エクスペリエンスに悪影響を及ぼす可能性のある、ハードウェアの供給制約という大きな課題に直面しています。Android は、メモリを過剰に使用してシステム全体の速度低下を引き起こすアプリからユーザー エクスペリエンス全体を保護することを目的とした、より広範なメモリ上限を導入することで、この課題に正面から取り組んでいます。

この流れを受け、本日より Google Play では、デベロッパーがユーザーの期待に応えるプレミアムなエクスペリエンスをアプリで提供し続けられるよう、パフォーマンスの基準値を設定します。これには、動的メモリ使用量、ビットマップ使用量、コード最適化に関する新しいしきい値が含まれており、デバイスのパフォーマンスが予期せず制限されたり、アプリが終了したりするのを防ぎます。

  • 動的メモリ使用量(匿名 RSS + スワップ): アクティブなメモリと圧縮されたメモリの両方を含め、アプリのプライベート データ ストレージに使用されるメモリを追跡します。コードやアセットなど、デバイスに保存されているファイルは除外されます。この使用状況は、アプリのさまざまな状態(アプリの使用中やバックグラウンドでの実行中など)とデバイスのパフォーマンス カテゴリにわたって評価されます。
  • ビットマップ メモリ使用量: ビットマップで使用されるメモリを評価します。アプリがフォアグラウンドにある間はビットマップがメモリを占有しますが、バックグラウンドやキャッシュに保存された状態など、アプリが非表示の状態では、ビットマップを長時間メモリに保持すべきではありません。
  • 最適化された DEX コード:  最適化された Android App Bundle は、メモリ使用量が少なく、起動が速く、ANR が減少し、レンダリングとランタイムのパフォーマンスが向上します。最適化されたフットプリントを確保するため、Google Play で公開されるアプリは、R8 などのツールやその他の圧縮ツールを使用して、最適化、圧縮、難読化を 25% 以上行うことで最適化されている必要があります。     

しきい値と技術的な詳細を確認すると、アプリとゲーム、RAM バケット、プロセス状態に固有の適用性の違いをより深く理解できます。

行動を促す新しいツール 

新しい不正行為のしきい値を満たすようにアプリやゲームを事前に検出し、調査し、最適化できるように、Google Play Console で新しいツールをすでに展開し始めています。    

  • 新しい動的メモリ指標の詳細: Android Vitals で、動的メモリ使用量(匿名 RSS + スワップ)とビットマップ メモリ使用量の全体を直接モニタリングできます。さまざまなパーセンタイルと RAM バケットをドリルダウンして、メモリの肥大化がどこで発生しているかを正確に特定できます。

Android Vitals の新しいメモリ指標でメモリ肥大化を特定して解決

  • 「メモリ不足」によるクラッシュを追跡: クラッシュと ANR に新しいフィルタを追加しました。これにより、デバイスのメモリ不足が深刻なために OS がアプリを終了させたタイミングを簡単に特定できます。
  • DEX コードの最適化に関する分析情報を確認する: Google Play Console にアップロードする新しい App Bundle ごとに、最適化に関する詳細な分析情報が表示されるようになりました。縮小ツールが最適化メタデータを共有する場合、コードの効率を簡単に評価し、改善の余地がある部分を特定できます。  
image.png
Google Play Console で DEX コードの最適化に関する分析情報を確認する
  • パフォーマンスに関する事前アラートを受け取る: アプリやゲームが新しい不正な動作のしきい値を超えると、Android Vitals の概要ページに直接警告が表示されます。また、Android Vitals で最適化されていないビットマップ、DEX の最適化の制限、分割バンドルの使用の制限が検出された場合にもアラートが表示されるため、パフォーマンスとメモリの節約をさらに高めることができます。

今年後半には、アプリが各状態で費やした時間に関する指標や、個々のアプリがデバイスのメモリを過剰に使用しないようにする Android のメモリ制限機能に関する詳細な分析情報など、追加の診断ツールが提供される予定です。Google はこれらの機能強化に継続的に投資することで、お客様がフットプリントを継続的に最適化し、ユーザーに提供するエクスペリエンスを向上させることを支援することを目指しています。

ポリシー適用スケジュール

2027 年 2 月より、アプリとゲームは、メモリ使用量(匿名 RSS + スワップ)、ビットマップ メモリ使用量、DEX コードの最適化について、それぞれの不正な動作のしきい値を満たす必要があります。既存の Android Vitals の指標と同様に、しきい値を超えると、アプリのエクスペリエンスの低下やデバイス上の Android アプリの終了を示す強い兆候となります。  

これらのしきい値を満たしていないアプリやゲームは、Google Play でのアプリの表示と公開機能が低下する可能性があります。詳細については、今年中にお知らせいたします。

今後、Android エコシステムが進化し、お客様の固有のユースケースをより深く理解できるようになるにつれて、これらのしきい値は時間の経過とともに適応していくと予想されます。要件が更新された場合は、準拠に必要な適切な期間を確保します。

安全でシームレスなデバイス移行エクスペリエンスの提供

ユーザーが新しいデバイスに切り替える際に、アプリを安全かつ簡単に移行できるようにします。オンボーディング エクスペリエンスを向上させるため、アプリ デベロッパーがデバイスの移行時にログインをより迅速かつ安全に行えるようにするための要件を導入します。

ゼロタップでのログインの標準では、ユーザー ログイン(任意または必須)に対応しているアプリは、Android Restore Credentials API を使用して Android デバイスを移行する際に、ユーザーのログイン状態を自動的に復元することが求められます。この API を使用すると、ユーザーが新しい Android デバイスでアプリを初めて開いたときに、追加のタップなしで瞬時に認識され、安全にログインできます。

2027 年 4 月より、Google Play でアプリの公開機能を維持し、Google Play ストアでの最適な視認性を確保するには、アプリがゼロタップ ログインの要件を満たす必要があります。

現在、ゲームはゼロタップ ログインの要件から除外されていますが、2027 年に、ゲーム認証の複雑なユースケースに特化したガイダンスと、カスタムのソリューションを提供する予定です。単一のアカウントのログインをサポートするゲームでは、Restore Credentials API を使用してゼロタップ ログインに対応することを強くおすすめします。詳しくは、ヘルプセンター記事「違反措置の適用プロセス」をご参照ください。

ロードマップを計画する: Google Play の要件を確認する

各要件の詳細を確認して、今後の施行期限に備えましょう。

Google Play でこれらの品質要件を満たすことは、ユーザーに高速で信頼性の高いエクスペリエンスを提供するための重要なステップです。Android コミュニティの発展にご協力いただき、誠にありがとうございます。

続きを読む