😆

Android編【Flutter×Revenuecat】サブスクリプションを構築する

2023/04/28に公開

私が先日リリースした筋トレ習慣化アプリ(Fitness Slave)で、アプリ内課金によるサブスクリプション機能を実装しました。

◆iOS
https://apps.apple.com/jp/app/fitness-slave/id1664027797

◆Android
https://play.google.com/store/apps/details?id=net.japanblog.fitness.slave

Revenuecatのシリーズ記事です。

  1. iOSの各種設定
  2. Androidの各種設定
  3. Revenuecatでの設定
  4. Flutterアプリ内でのコード実装

今回は「2.Androidの各種設定」編です。

それぞれの記事はこちら

https://zenn.dev/yamamotosaishu/articles/6e6b5aaefa397b

https://zenn.dev/yamamotosaishu/articles/b19319e83fe6fb

https://zenn.dev/yamamotosaishu/articles/14217db39bc4fd

Androidの各種設定

Androidでは、大まかにやることは以下になります。

  1. Google Play Consoleで、クローズドテスト トラックの作成、審査に出す
  2. Google Play Consoleで、サブスクアイテムの登録
  3. GCP(Google Cloud Platform)で、サービスアカウントの作成(Revenuecat ⇄ GooglePlay間の接続に使用)

Google Play Consoleで、クローズドテスト トラックの作成

Androidの場合、クローズドテストのトラックを作成(クローズドテストに出す)しないと、実際の課金操作でエラーになります。
テストに出すには、aabファイル(Android App Bundle)を作成して、Google Play Consoleのクローズドテストにアップロードする必要があります。
aabファイルの作成方法については、この記事では説明しきれないので、以下記事などを参考にしてみてください。

https://zenn.dev/kazutxt/books/flutter_practice_introduction/viewer/42_chapter5_googleplay

Google Play Consoleで、ライセンステストの設定

コンソールのトップページから、「ライセンステスト」の設定をします。ここでは、テストユーザーのメールアドレスを入力します。ここで入力したアドレスのユーザーであれば、課金のテストをしても、実際に課金をされることはありませんので、ご自身がテストする際に使うアドレスを入れておきましょう。

実際にクローズドテスト に出す

ご自身のアプリのコンソールから、「クローズドテスト」に進みます。

  1. テスターを選択する 先ほど「ライセンステスト」で作成したテスターを選択します
  2. 新しいリリースを作成する に進みます

  • AABファイルをアップロード
  • リリース名記載(クローズドテスト v0)など、ご自身が管理できるものにしましょう
  • リリースノート記載(このバージョンの一言説明を入れます)

入力が終わったら、「次へ」ボタンがアクティブになりますので、先に進み審査へと提出します。

Googleでの審査

審査に出したら、しばしまちましょう。大体2〜3日以内には、結果が返ってきます。

Google Play Consoleで、サブスクアイテムの登録

サブスクアイテムを登録していきます。

「定期購入」 → 「定期購入を作成」 を押して、「アイテムID」と「名前」を入力します。

次に、サブスクの商品の詳細を設定していきます。
私の場合はもうすでに設定されているので、Revenuecat公式からスクショを拝借します。英語の部分は、日本語に置き換えて各項目を選択してみてください。

価格の登録

アイテムを設定したら、価格を登録します。
「定期購入」→「基本プランと特典」から、作成したアイテムを選び、基本プランの編集をします。
ここで、価格を設定します。
海外にも販売するときは、対象の国を選びましょう。
注意点として、日本向けでは「消費税抜き」の価格が表示されています。

設定が終わったら、「有効にする」ボタンを押して、アイテムを有効にします。

特典の登録

「初回購入者に限り、1週間無料」のような設定もできます。
基本プランと特典の右側にある「特典を追加」から作成します。

こちらも設定が終わったら、「有効にする」ボタンを押しておきます。

サービスアカウントの作成

Revenuecat ⇄ GooglePlay間の接続に使用する「サービスアカウント」を発行します。
Google Play Console のトップページに行って、「APIアクセス」→ 「サービスアカウントを作成する方法を見る」→ ダイアログが出てきますので、Google Cloud Platformに移動します

「+サービスアカウントを作成」をクリック。

そうすると、

  • サービスアカウント名
  • サービスアカウントID
    を入力するように求められます。

サービスアカウントが作成されたら、以下のように「鍵を管理」に進みます。

「鍵を追加」→「新しい鍵を作成」

JSONタイプの秘密鍵を作成します。

この鍵は、後でRevenuwcatのコンソールで使いますので、大切に保管しておいてください。

ここまで終わったら、Google Play Consoleに戻り、「完了」ボタンを押します。

すると、「サービスアカウント」の欄に、先ほど作成したサービスアカウントが追加されていると思います。

サービスアカウントの権限を設定する

次に、作成したサービスアカウントの権限を設定します。RevenuecatからGooglePlayにアクセスする時、どの情報までアクセスを許容するのかを決めます。
サービスアカウントが表示されている部分の右「Google Play Console の権限を管理」をクリック。

「アプリの権限」・・・・対象のアプリを選択します。
「アカウントの権限」・・・・ここで権限の設定をします。

Revenuecatの公式による推奨は、

  • アプリ情報の閲覧、一括レポートのダウンロード(読み取り専用)
  • 売上データ、注文、解約アンケートの回答の閲覧
  • 注文と定期購入の管理

この3つの許可をすることのようです。

権限にチェックしたら、右下の「ユーザーを招待」を押して設定を完了します。

Discussion