くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

RevenueCat入門 その6 | 課金アイテムをRevenueCatに設定する

前回の続き。やっと課金アイテムが登録できたので、
RevenueCat側の設定をしていく(*´ω`*)

Configuring Productsから。

Configuring Products

RevenueCatの管理画面上で設定する項目の説明

  • Products(課金アイテム) ... 各ストアで作成したやつ
  • Entitlements(課金アイテムに紐づく権利/権限)
  • Offerings(購入画面で表示する対象)

ざっと概要を理解できる5分の動画があるので、
英語だけど、眺めてみるのがいいかも。

Products

Productsは、AppleGoogle・Stripe・Amazonなどの、
ユーザが実際に購入する課金アイテム(SKU)。

Store Configuration

まずは、各ストアで課金アイテムの作成/設定をしておく

iOSAndroidは以下の記事で。

RevenueCat Configuration

各ストアで作成した課金アイテムをRevenueCatに登録していく。

以下の記事で、課金アイテムがインポートできるように設定しておくと、
自動で読み込んで登録してくれる「IMPORT PRODUCTS」ボタンが使える。

Identifierは、RevenuCat内で払い出されるProductsのID。
それぞれ、以下の情報から作成される。

  • iOS ... <SubscriptionsのProduct ID>
  • Android ... <Subscription Id>:<Base Plan Id>

もし、RevenuCat側に登録していない課金アイテムを購入した場合でも、
購入処理は行われて、RevenuCatも追跡してくれるらしい。

登録したProductsは、Display name(表示名)を変更することができ、
チャートで利用される。今後はダッシュボード全体でもサポートされるとのこと。

Entitlements

entitled(資格/権限)を登録していく。

Pro機能/Lite機能みたいに、購入したプランに応じて、
権限を切り替えるときに利用する。

Productの属性に役割をつけるのではなく、
Entitlementを得られるProductを登録していく感じ。

entitlementsは、単一プロジェクトで共有される。

Creating an Entitlement

Entitlementを作成する。以下を設定

  • Identifier
    • 権限名。pro/liteみたいな感じ
  • Description
    • 説明文

Attaching Products to Entitlements

Entitlementを作成すると、編集画面で、
Productと紐づけれるようになる。

紐づいたProductを購入すると、
対象のEntitlement(権限)を持っているとして扱われる。

定期購入と、それ以外で異なるので注意。

  • 定期購入の場合は、契約中のみ権限を持つ
  • 非消耗品/消耗品の場合は、永久に権限を持つ

また、購入時に紐づいている(Associated)かどうかではなく、
購入履歴から判断されるよう。対象から外すと権限もなくなる。

さらに、EntitlementとProductは多対多で設定できるので、
1つ購入すると2つの権限を得るようにすることもできる。

Offerings

Offeringsは、ユーザにofferd(提供/表示)されるProducts。
各ストアの課金アイテムを同一視するためのPackagesをあわせて使う。

Offeringsを使うことで、表示する課金アイテムを
簡単に切り替えることができる。

Creating an Offering

Offeringを作成していく。
IdentifierDescriptionを入力して作成。
Identifierは後で変更できないので注意

Current Offeringが設定することで、
表示する内容を管理画面だけで変更することができる。

try {
  Offerings offerings = await Purchases.getOfferings();
  if (offerings.current != null && offerings.current.availablePackages.isNotEmpty) {
    // Display packages for sale
  }
} on PlatformException catch (e) {
    // optional error handling
}

Adding Packages

作成したOfferingからPackagesを追加できる。

IdentifierDescriptionを入力して作成するが、
Identifierは選択式な感じ。Customもできる。

作成したPackgeを選択すると、
Productsを紐づけ(Attach)できるようになる。

各Appsで1つづつ選択する必要があるっぽい。

Packagesの順序もここで変更できる。

Removing Packages

Packageは、いつでも削除できるので、
管理画面だけで変更することができる。

Packageの削除だけでは、Products自体は削除されないので、
Entitlement(権限)などがなくなったりすることはない。
ただ、表示されなくなるだけ。

なので、いつでも再追加することができる。


以上!! 各ストアの課金アイテムを連携できた!!
いよいよSDKをインストールしていくぞ...(*´ω`*)