Android SDKでGoogle Playメッセージを制御する

Google Playは、サブスクリプションの支払いが拒否されて支払い方法の更新が必要な場合など、ユーザーにメッセージを表示することがあります。Google Playはアプリがリクエストしたときのみ、アプリの上にこれらのメッセージを表示します。

デフォルトでは、Adapty SDK はアプリの Activity が起動するたびに Google Play メッセージをリクエストします。そのメッセージは、フロー、オンボーディング、チェックアウトなど、その Activity に表示されているコンテンツの上に重なって表示されます。表示タイミングを自分でコントロールするには、SDK を手動メッセージ処理モードに切り替え、メッセージがユーザーの操作を妨げない場面で showStoreMessages を呼び出してください。

Google Play はメッセージをユーザーに表示するかどうかを判断するため、リクエストしても常にメッセージが表示されるとは限りません。ユーザーがメッセージから支払い方法を修正すると、SDK はユーザーの購入情報を Adapty と同期し、プロファイルリスナーが更新されたアクセスレベルを受け取ります。

Warning

手動モードでは、SDK は自動的に Google Play メッセージをリクエストしません。アプリが showStoreMessages を一度も呼び出さない場合、支払いが拒否されたユーザーにはアプリ内で通知が表示されません。

始める前に

Adapty Android SDK 4.3.0 以降が必要です。それ以前のバージョンでは Google Play のメッセージをリクエストしません。

手動処理を有効にする

showStoreMessages を呼び出したときだけ Google Play メッセージをリクエストするには、SDKを有効化する際に withStoreMessagesHandling を MANUAL に設定します:

メッセージを表示する

アプリがGoogle Playのメッセージでユーザーの操作を妨げない状態に達したとき(例えば、ユーザーがフローを閉じた後やオンボーディングを完了した後など)、メッセージを表示するActivityを引数としてshowStoreMessagesを呼び出してください:

このメソッドは結果を返しません。以下のケースでは、SDKはメッセージをリクエストしません:

  • SDKが有効化されていない場合:Adapty.activateの後にshowStoreMessagesを呼び出してください。
  • Activityがメッセージを表示できない場合:Activityが終了中または破棄済み、あるいはそのウィンドウがまだアタッチされていない場合です。ユーザーが表示しているActivityからメソッドを呼び出してください。

デフォルトのAUTOモードでもshowStoreMessagesを呼び出すことができます。たとえば、すでに実行中のActivityで再度メッセージをリクエストする場合などに使用します。