解約率を改善するという Google Play 定期購入の 「一時停止」に対応した #Zaim
Android アプリ開発者のみなさん、こんにちは。Zaim Android チームの ishikawy です。
今回は Google Play の定期購入の専用機能に追加された「一時停止」に対応した話を書きます。Google の勉強会で聞いたところによると、「一時停止機能を実装すると解約率を 2 割程度下げられる想定」とのことで、定期購入を辞める抑止力になる効果が期待できます。
定期購入の「一時停止」とは
ユーザー側から購読している定期購入を一時的に停止できます。停止期間はユーザーが 1 か月から 3 か月の間で選べ、直近の有効期間が終わった時点から停止になります。指定した停止期間が終了すると、自動的に定期購入は再開します。
アプリ側での開発は不要ですが(※UI 対応などは必要)、Google Play Console から設定を変えることと、サーバー側の実装が必要です。
以下、具体的な手順をご紹介します。
管理画面で「一時停止」機能を有効にする
定期購入の一時停止は、デフォルトでは有効になっていません。有効化は Google Play Console の「設定」から可能です。これはアプリの定期購入に共通したフラグで、購読アイテムごとには設定できません。
1. Google Play Console にログイン
2. アプリを選択し [ストアでの表示] > [アプリ内アイテム] > [定期購入] へ
3. [定期購入の設定] を展開
4. [一時停止を有効にする] チェックボックスをオン
また、「一時停止」を有効にするには「アカウントの一時停止」も有効にする必要があるので両方有効にします。
ユーザー側から定期購入を「一時停止」する
設定の反映が完了すると、ユーザー側から見える Google Play の定期購入の画面に「支払いを一時停止」というリンクが現れます。
これをタップして停止期間を選択すると、その終了日まで定期購入は停止になります。ユーザーには停止させたタイミング、復帰するタイミングで Google から通知メールが送られます。
サーバー側で「一時停止」状態を判定する
最後にサーバー側で、ユーザーの定期購入のステータス変化をキャッチし、一時停止の状態であれば Zaim 側の有料機能をオフにする必要があります。
方法としては(1)リアルタイムデベロッパー通知を使いリアルタイムに検知する、(2)定期バッチにより定期購入の有効性を判断する、の 2 パターンがあります。今回、Zaim では実装のスピードを優先し、後者の方法を採用しました。
公式サイトにある通りですが、
expiryTimeMillis が過去で autoResumeTimeMillis 未来であれば一時停止中である、つまり「有料機能を使えなくする」
expiryTimeMillis と autoResumeTimeMillis の両方に将来の日付であればユーザーが一時停止を保留にした、つまり「有料機能を使えるようにする」
という部分がポイントになるかと思います。
対応して初めて分かった注意点
実装自体は比較的シンプルでしたが、実際に対応を進めた所、以下の点に戸惑いがありました。
(1)年間の定期購入は一時停止できない
公式サイトにある通り、年間の定期購入は一時停止できません。
(2)一時停止の有効化はタイムラグがある
定期購入の停止を有効にしても、アプリ側にはすぐに反映されないのでご注意ください。私が試したときは、およそ半日かかりました。
(3)ユーザーによる一時停止は年 3 回まで
年 3 回に渡り繰り返し一時停止を実行した場合、そのユーザーは以下のような画面となり、一時停止を選べなくなります。
(4)テスト環境のみの一時停止の有効化は不可
この一時停止の機能は、テスト環境だけ有効にはできません。つまり、デバッグするためには本番環境としても反映する必要があり、実際に使っているユーザーからも一時停止が操作できてしまう状態になります…。
このため Zaim ではテストの日程をあらかじめ決め、本番の定期バッチが動く前にテスト環境でテストを終わらせ、その日のうちにサーバー側の処理を反映させました。
終わりに
今回、一時停止の機能が追加されたことで、「解約まではするつもりはないけれども、ちょっと一回ストップしたい」というニーズに応えられるようになりました。
効果測定はまだこれからですが、「定期購入で得られる機能は、今すぐ有用ではないかも」と解約以外の選択肢を提供しておくのはユーザーさんにとってのメリットはあると思われるので、一時停止まだ有効化していない、存在を知らなかった、という方は有効化を検討してみてはいかがでしょうか。
サービスを便利にしたい!継続率を上げたい!という方、お待ちしています
この記事が気に入ったらサポートをしてみませんか?