Android 14 には、サードパーティのアプリ ストアの動作をさらに向上させる新機能が追加されています

Android 14 では、新しい API のおかげで、サードパーティのアプリ ストアのユーザーのエクスペリエンスがさらに向上するよう準備されています。

Google Play は Android ユーザーの間で断然最も人気のあるアプリ ストアですが、トップの座を公平に獲得できなかったと主張する人もいるかもしれません。 Google は、次の理由により、世界中の規制当局や立法機関から厳しい監視を受けています。 アプリストアの優位性をどのように維持しているのか、そしてこの圧力がいつでも緩和される兆候はない すぐ。 おそらくそれが、Google が率先して新しい機能を導入している理由です。 アンドロイド14 サードパーティのアプリ ストアのユーザー エクスペリエンスを向上させます。

Android 上のほとんどのサードパーティ アプリ ストアは、Google Play とあまり競争できません。それはアプリの選択だけが原因ではありません。 ファーストパーティのプリインストールされたアプリ ストアには常にアプリの自動更新を行う機能がありましたが、サードパーティのアプリ ストアが無人更新を行えるようになったのはつい最近のことです。 Googleが追加しました Android 12 の API これにより、サードパーティのアプリ ストアはユーザーのアクションを必要とせずにアプリを更新できるようになり、ユーザーの操作の手間が軽減されます。 サードパーティのアプリストアを使用する.

しかし、それでもサードパーティのアプリ ストアは機能に関して大きな不利な状況にありました。 いつ 実際には自動更新を行っても安全です。 これは、Google が Android 14 で、サードパーティのアプリ ストアが「穏やかなアップデート」を実行できるようにする新しい API を使用して解決しようとしているものです。

穏やかなアップデート

Android 14 では、サードパーティのアプリ ストアがアプリの自動更新を開始する前に、特定の条件が満たされているかどうかを確認できるようにする新しい API が追加されました。 の パッケージインストーラー。 InstallConstraints API 「ユーザー エクスペリエンスを中断することなく自動アップデートを配信するためにアプリ ストアで使用できます (穏やかなアップデートと呼ばれます)。 - たとえば、アプリ ストアは、更新するアプリが ユーザー。"

この新しい API により、サードパーティのアプリ ストアは、更新の準備をしているアプリにアクティブなフォアグラウンド サービスがあるかどうかを確認できます。 (isRequireAppNotForeground)、何らかの方法でユーザーと対話している (isRequireAppNotInteracting)、または画面上にあります (isRequireAppNotTopVisible)。 サードパーティのアプリ ストアは、デバイスが仮眠モード (isRequireDeviceIdle) であるか、通話中 (isRequireNotInCall) であるかを確認することもできます。

API ではチェックする条件を指定できますが、ドキュメントでは「システムが認識している」として、事前に設定された制約を使用することを推奨しています。 最善の方法を。」 Google が自社のアプリ ストアで自動更新を処理する最適な方法を開発するのに十分な時間を費やしてきたことを考えると、これは当然のことです。 ドキュメントに記載されているように、プリセットを使用することも有益です。Google が API に制約を追加した場合、将来のリリースで穏やかな更新の精度と効率が向上する可能性があるためです。

PackageInstaller のすべての条件。 InstallConstaints API を使用すると、既存の API を使用してチェックを行うことができますが、システムにこれらのチェックを処理させるほうがはるかに簡単で、煩わしさがありません。 たとえば、更新中のアプリがアクティブに使用されているかどうかを確認したいサードパーティのアプリ ストア ユーザーは現在、UsageStats や AccessibilityService などの API を使用する必要があります。どちらも機密性が高くなります。 権限。 ただし、この新しい Android 14 API を使用する場合、仕事を行うためにこれらの権限は必要ありません。

所有権を更新する

Android 14 でのサードパーティ アプリ ストアの改善点は、「ジェントル アップデート」の有効化だけではありません。 また、サードパーティのアプリ ストアが、最初にインストールされたアプリに対する今後の自動アップデートの独占的なソースになることを可能にする、新しい「アップデートの所有権」メカニズムもあります。 これは、サードパーティのアプリ ストアを使用している場合、そこから入手できるアプリは、サードパーティのアプリ ストアによって精査されていることを意味します。 たとえば、他のアプリ ストアから入手可能な未調査のアップデートは、コミュニティに自動的にプッシュされません。 あなたのデバイス。

現時点では、サードパーティのアプリ ストアを通じてアプリをインストールする場合、ファーストパーティのアプリ ストアがそのアプリを更新することを妨げるものはありません。 Android 12 の無人更新 API では、サードパーティのアプリ ストアが最初にインストールしたアプリをサイレントに更新することのみが可能ですが、ファーストパーティのアプリ ストアは特権を保持しているため影響を受けません。 INSTALL_PACKAGES 許可。

Android 14 のサードパーティ アプリ ストアでは、新しい setRequestUpdateOwnership のメソッド パッケージインストーラー。 セッションパラメータただし、インストールしようとしているアプリに対する更新の所有権を主張していることをシステムに伝えるためです。 アプリに対して更新所有権の強制を有効にすると、他のすべてのアプリ ストア (INSTALL_PACKAGES 権限を持つアプリ ストアであっても) では、アプリを更新するためにユーザーのアクションが必要になります。 更新の所有権はアプリの初期インストール中にのみ有効にできるため、別のアプリ ストア 問題のアプリをアンインストールしてから再インストールしない限り、更新を引き継ぐことはできません 店。 アプリ ストアは、新しい InstallSourceInfo#getUpdateOwnerPackageName() API。

サードパーティのアプリ ストアは、新しい ENFORCE_UPDATE_OWNERSHIP 更新所有権強制 API を使用するためのアクセス許可ですが、このアクセス許可の保護レベルが「通常」であるため、インストール時にシステムによって付与されます。 ただし、Google Play がこの権限/API の使用を監査するかどうかはまだわかりません。

インストールの事前承認

最後に強調したい新しい Android 14 API は、 パッケージインストーラー。 セッション#requestUserPreapproval. この API を使用すると、サードパーティのアプリ ストアは、インストール セッションをコミットする前にユーザーの承認をリクエストできます。 これは、バックグラウンドでアプリを更新する前にユーザーに意図的にプロンプ​​トを表示したいサードパーティのアプリ ストアに役立つと思います。

たとえば、セキュリティを重視したアプリ ストアが、アプリの更新によって新しい権限が追加されたことをユーザーに知らせたいと考えているとします。 アプリを自動的に更新することで、その保護レベルが「通常」の場合にそのアクセス許可を自動的に付与する代わりに、アプリ ストアは更新を行う前にユーザーにプロンプ​​トを表示することができます。 現在、自動更新中にユーザーが存在しない場合、サードパーティのアプリ ストアはインストール セッションを追跡し、後でユーザーにプロンプ​​トを表示する必要があります。 この API はそのプロセスを簡素化します。


Android 14 は、今年後半に一般公開される際に、多くの新機能と API を導入する予定です。 これらの新しい API は、私たちが発見した他の変更のように隠蔽されていませんが、安定版リリースで開発者がこれらの API を利用できるという保証はありません。 これは、Android 14 が 2023 年 6 月のベータ 3 で「プラットフォームの安定性」に達するまで API のフリーズは発生せず、現時点では DP1 のみを使用しているためです。 今後の Android 14 DP およびベータのリリースに注目して、これらの API が存続するかどうか、またはサードパーティのアプリ ストアに関連する新しい API が追加されるかどうかを確認していきます。