🔖

Revenuecat設定編【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アプリ内でのコード実装

今回は「3.Revenuecatでの設定」編です。

それぞれの記事はこちら
https://zenn.dev/yamamotosaishu/articles/6e6b5aaefa397b

https://zenn.dev/yamamotosaishu/articles/8d80174051e4ac

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

Revenuecatでの設定

revenuecatのコンソールで、各種設定をしていきます。

まずはユーザー登録をして、コンソールを開きます。

https://www.revenuecat.com/?utm_source=google&utm_medium=cpc&utm_campaign=Branded Search&utm_content=[revenuecat]&utm_ad=648909947249&utm_term=revenuecat&matchtype=e&device=c&GeoLoc=1009343&placement=&network=g&campaign_id=8437358848&adset_id=140227929820&ad_id=648909947249&utm_term=revenuecat&utm_campaign=Branded+Search&utm_source=adwords&utm_medium=ppc&hsa_acc=5477478064&hsa_cam=8437358848&hsa_grp=140227929820&hsa_ad=648909947249&hsa_src=g&hsa_tgt=kwd-835502603918&hsa_kw=revenuecat&hsa_mt=e&hsa_net=adwords&hsa_ver=3&gclid=CjwKCAjw9J2iBhBPEiwAErwpeU7L_4K8u7hjN3UjyMNXGqjzZXDQmcB2ZZaaOWr8VFJbyOUcBtDipRoCi3sQAvD_BwE

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

  1. Projectを作る
  2. Projectの中にiosアプリを登録する
  3. Projectの中にAndoroidアプリを登録する
  4. Productsの登録
  5. Offeringsの登録
  6. Entitlementsの登録

Projectを作る

コンソールの上部の+ボタンを押して、プロジェクトを設定します。

Projectの中にiosアプリを登録する

Appsの右上の「New」からiosを登録します。

各項目を入力していきます。

  • App name入力
  • App Bundle ID入力
  • App Store Connect App-Specific Shared Secret入力(AppStoreConnectで作成した、共有シークレットの文字列です)
  • In-App Purchase Key Configurationのアップロード(AppStoreConnectで作成したp8キーファイルです)
  • Apple Small Business Program(ここには開始日を入れます)
    *通常、利益の30%をAppleに持っていかれますが、このプログラムに登録しておくと15%になるのでぜひ登録しましょう。
    https://developer.apple.com/app-store/small-business-program/

私の場合は、こんな感じになっています。
なお、下部にある「Public API Key」は後ほど、Flutterでの実装で使用します。

Projectの中にAndroidアプリを登録する

先ほどと同じ要領で、Andorioidの登録です。

  • App nameを入力
  • Google Play package を入力(com.などで始まる、アンドロイドアプリのパッケージ名です)
  • サービスアカウントファイルをアップロード(Google Cloud Platform でダウンロードしてきたファイルです)

入力したら、「SAVE CHANGES」を押して一旦保存します。

  • SDK Support in Offering Setup ここは、標準のSDK v6+ and backwards compatible
    のままでOK
  • Google Developer Notifications では、「CONNECT TO GOOGLE」ボタンを押してPlayStoreConsoleと接続させます

ここでも、下の方に「Public API Key」があります。
こちらも後ほど、Flutterでの実装で使用します。

私の場合は、こんな感じになっています。

Revenuecat独特の考え方

Revenuecatでは、商品を登録する際に前提となる考え方があるので、それをまずはご紹介します。

  • Products
  • packages
  • Offerings
  • Entitlements

この3つです。

Products

Productsは、アイテムそのものです。
今回で言えば、iosと、Androidの、「サブスク商品」がそれに該当します。

Packages、Offerings

Offeringsは、Productsを入れる箱のようなものと理解しています。
後ほどご紹介しますが、ProductsをPackagesの中に入れ、さらにOfferingsの中に、入れてユーザーに提供します。マトリョーシカみたいになっています。

Revenuecat公式ドキュメントにある図がこれです。

  • Entitlements
    こちらは上記2つとは毛色が異なり、「アイテムの保有状況(アイテムが購入済みで、アクティブになっているかどうか)」を確認するための設定項目です。
    アプリ内でサブスクを買った人とそれ以外で機能を分けたい場合などに使います。
    例えば、アプリからRevenuecatにサブスクのEntitlementsがアクティブかどうかを確認して、レスポンス(true,false)を返してくれます。

Productsの登録

ダッシュボードの「Products」から追加していきます。

そうすると、「Identifier」を登録することができます。
AppStoreConnectで設定した製品IDを登録して、「CREATE PRODUCT」ボタンを押します。

AppStoreConnectで設定した製品IDは以下の部分です。

Androidの方も同様に登録していきます。
Androidの登録画面では、「Subscription」と「One time purchase」と項目がラジオボタンで分かれていますが、今回は「Subscription」に登録をします。

  • Subscription
  • Base plan Id

上記2点を入力します。
GooglePlayConsoleの以下の部分を入力します。

Offeringの登録

Productsの登録と同様に、Offeringの登録をします。

そうすると、「Identifier」「Description」を入力するように求められます。
Flutterのアプリ側からOfferingを呼び出すときに使う名前です。私の場合は、「Monthly_subscription」という名前にしましたが、サブスクアイテムが複数ある場合はもう少し具体的な名前でもいいかもしれません。
*なお、「Identifier」は後で変えらえません

このまま「ADD」でOfferingを作成します。
そうすると、以下のように追加されていると思いますので、赤枠をクリックします。

そして、以下の画面でPackageを登録します。

「Identifier」で今回登録するアイテムの期間を選択します。年間だったら「Annual」、月間だったら「Monthly」。もしサブスクじゃなくて、一回買い切りの商品販売だったら、「Lifetime」になります。

さらに、このPackageの中に、先ほど設定したProductを入れます。赤枠をクリック。

「Attach」でアイテムを登録します。

Attach products to packageの画面で、先ほど登録したProductが選択できると思うので、選択して登録します。

Entitlementsの登録

Product,Offerings同様、登録します。

  • Identifier (Flutterアプリ側から呼び出す名前です)
  • Description

上記2点を入力して「ADD」。

赤枠をクリック。

「Attach」で、登録したProductが選択できますので、ios、Android共に選択して登録を完了します。

Discussion