最近になって、GooglePlayConsoleに以下のような注意文言が出るようになりました。
どうやら、現状オフになっている機能である定期購入の一時停止・再登録(再購入)が、2020/11/01からすべてのアプリでONになってしまうとのことです。
それぞれどういったものか、どんな対応が必要になりそうかを簡単にまとめてみます。
半分が自分用のメモなので、読みづらかったらすみません
##定期購入を一時停止する
ドキュメントには以下のように書いてあります。
ユーザーが定期購入を一時停止できるようにすることで、自発的な解約を防ぐことができます。一時停止機能を有効にすると、契約期間の間隔に応じて、ユーザーは 1 週間から 3 か月の間で定期購入を一時停止することを選択できます。一時停止機能を有効にすると、定期購入センターと解約フローの両方に表示されます。1 週間や 3 か月の一時停止制限は、随時変更される可能性があります。また、年次定期購入は一時停止できません。
要は、「解約する前に1個選択肢を増やしたよ」ってことです。
これにより、定期購入を実装しているアプリではステータスを確認する手間が増えることになります。
例を立てて考えてみたいと思います。
例)2020/09/01にサブスクのプランをアップグレード。2020/09/10に一時停止し、2020/09/20に再開した。
フリープランとプレミアムプランがあったとして、期間で見るとユーザーは以下のようにプランを遷移することとなります。
・2020/09/01~2020/09/10:プレミアムプラン
・2020/09/10~2020/09/19:フリープラン
・2020/09/20~2020/10/10:プレミアムプラン
これを実現するにはアプリを起動したタイミングでその状態を取得する必要があります。
Google Play Developer API or **リアルタイム デベロッパー通知(RTDN)**のいずれかの方法で取得できるみたいです。
方法については以下をご確認ください。
定期購入を一時停止する
状態を確認し、一時停止となっていた場合はプレミアムプランを使用できないようにする必要があります。
もしプラン変更ではく、定期購入によるポイント付与のような仕組みを導入している場合は、サーバーでポイント付与のチェックを行なっているパターンが多いと思いますので、サーバー側で上記の状態を取得して一時停止になっていたらポイント付与をしないよう調整が必要になるはずです。
##定期購入を再開する
ドキュメントに書いてある文を羅列します。
注: 再開機能はデフォルトで有効になっており、定期購入を有効にしたすべてのデベロッパーが利用できます。再開機能をテストして、再開を適切に処理できるかどうかを確認しておくことを強くおすすめします。テストを簡単に実施できるよう、すべてのライセンス テスト アカウントの再開機能を有効にしてあります。定期購入のテストの詳細については、定期購入固有の機能をテストするをご覧ください。
この機能は Google Play Console でオプトアウトできます。その場合、[ストアでの表示] > [アプリ内アイテム] > [定期購入の設定] に移動して、[ユーザーが Google Play で定期購入を再開することを許可します] チェックボックスをオフにします。
解約された定期購入は、有効期限まで Play ストア アプリに表示されたままになります。ユーザーは、有効期限が切れる前に解約した定期購入を再開できます。Play ストア アプリ内の [定期購入] で [再開] をクリックします。
要は、「解約されてもしばらくはPlayストアアプリ内に表示して、そこから購入できるようにしといたよ」ってことです。
これによって自アプリを経由せずに購入できるようになってしまうので、購入時にプラン変更などを行なうためにレシートをサーバーに渡し通知していた場合はその処理を通らないことになるので、起動時にチェックし購入されていた場合の処理を追加する必要があります。(※RTDNを使わない場合のみ)
方法については以下をご確認ください。
定期購入を再開する
##最後に
2020/11からすべてのアプリでこの設定がONになってしまうため、それまでにテストして必要な実装を行なう必要があります。
テストする場合は、GooglePlayConsoleから一時停止・再開の機能をライセンステスターのみ有効とすることができますので
それで実際に一時停止・再開を試してみてください。
一時停止も再開もPlayストアのWebページかアプリからしかできないので、しばらくの間はユーザーにはあまり触れられることのない仕組みかもしれません。
なので今のうちに仕組みを理解し、対応できるよう頑張りましょう!
【参考リンク】
https://developer.android.com/google/play/billing/billing_subscriptions