この記事は ZOZO Advent Calendar 2024 カレンダーのシリーズ10の5日目の記事です。
Androidアプリへのサブスクリプション(定期購入)の導入について調べたので、用語や注意点について備忘録としてまとめます。Androidで定期購入を実装するコードについてではなく、定期購入の用語や作成手順について書いてます
定期購入とは
Google developersでは以下のように定義されています。
定期購入は、指定された期間にユーザーが利用できる特典のセットを表します。たとえば、定期購入により、ユーザーは音楽ストリーミング サービスの利用資格を獲得できます。
同じアプリ内に複数の定期購入を設定して、異なる特典セットや、単一の特典セットの異なる階層(シルバー階層、ゴールド階層など)を提供できます。
基本プランと特典を使用して、同じ定期購入アイテムについて複数の構成を作成できます。たとえば、アプリを定期購入したことがないユーザーを対象とするお試し特典を作成できます。同様に、すでに定期購入しているユーザーを対象とするアップグレード特典を作成できます。
ここで「基本プラン」や「特典」について見ていきます。
- 定期購入: 指定した期間にユーザーが利用できる特典を規定します
- 基本プラン: 定期購入の請求対象期間、更新の種類(自動更新または前払い)、料金を規定します。1 つの定期購入に複数の基本プランを設定できます
- 特典: 対象ユーザーに提供する割引を規定します。1 つの基本プランに複数の特典を設定できます
親子関係は下の図のようになります。
定期購入とは、指定された期間にユーザーが利用できる一連の特典です。定期購入には1つ以上の基本プランが含まれており、特定の請求対象期間を指定します。また、ユーザーは特典を購入することで、定期購入を割引価格で利用できるようになります。
- 定期購入(Subscription)
- アイテムID
- アプリ固有のIDである必要がある
- 作成後に変更したり、再利用したりすることはできない
- 先頭は必ず数字または小文字にしてください。アンダースコア(_)、ピリオド(.)も使用できます。アイテム ID は半角 40 文字以内です
- 名前
- 半角 55 文字(全角 27 文字)以内
- ユーザー向けのメールや定期購入センターには、この名前が表示される
- アイテムID
- 基本プラン(Base plan)
- 基本プラン ID
- 定期購入内で固有である必要がある
- 基本プラン ID の先頭は必ず数字または小文字にしてください。数字(0~9)、小文字の英字(a~z)、ハイフンを使用できます
- 基本プランが有効になった後で変更したり、再利用したりすることはできません
- 基本プラン ID
- 特典(Offer)
- 作成できるのは、自動更新の基本プランに対する特典のみ
作成例
1つの定期購入に複数の基本プランを用意できます。たとえば、「プレミアム メンバーシップ」という 1 つの定期購入について、次のような基本プランを作成できます。
- 月単位の自動更新の基本プラン
- 月単位のプリペイドの基本プラン
- 年単位の自動更新の基本プラン
定期購入の作成手順
Google Play Console上での定期購入の作成手順を紹介します
アイテムIDは一度作成すると変更・削除ができないため要注意
基本プランIDは一度作成すると変更・削除ができないため要注意
6.作成した基本プランを有効化する
定期購入のテストについて
ライセンステスターを設定することで、実際の課金を行わずに定期購入のテストを行うことができます。
ライセンステスターの登録はGoogle Play Consoleから行えます。
ライセンステスターに登録済みのアカウントから定期購入の購入導線を辿るとテストカードでの購入ができます
- アプリをオープンテスト版、クローズド テスト版、内部テスト版、または製品版のトラックに公開する必要があります。公式ドキュメントでは、内部テスト版を推奨しています
- パッケージ名は、Google Play 用に構成されたアプリのパッケージ名と一致する必要がある。そのためdebugビルドで確認する場合はdebugビルドをテスト配信する必要があります
- 動作確認を行うAndroid端末でもライセンステスターに登録したアカウントでログインする必要がある
終わりに
ざっくりですが、Androidでの定期購入の作成手順とそのテスト方法をまとめました。Androidアプリでの定期購入の導入について調べている方の参考になれば幸いです