前回の続き。Androidの課金アイテムを登録していく
事前準備: APKのアップロード
めちゃめちゃハマったポイント。。
iOSと違い、AndroidではAPKをアップロードするでは、
課金アイテムを作成できない。
ただ、アップロードするだけではダメで、
Play Billing Libraryを利用しているAPKが必要。
Flutterの場合、purchases_flutter
を追加したあとにビルドすればOK。
「新しいAPKをアップロード」ボタンを押すと、クローズドテストの画面に移動するけど、
内部テストでも「定期購入を作成」ボタンが押せるようになる。
なお、AndroidManifext.xmlに以下を追加する記事も多いけど、
Play Billing Libraryだと不要っぽい
<uses-permission android:name="com.android.vending.BILLING" />
Google Play Product Setup
Google Playの場合はこんな構造らしい
- Subscription(定期購入) ... 購入する商品
- Base plan(基本プラン) ... 期間などの属性情報
- Offer(特典) ... トライアルやお試し価格など
iOSのようなSubscriptionグループはない感じで、
アップグレードなどは、Subscription(定期購入)の変更する形。
月払いから年払いへの変更は、Base plan(基本プラン)を変更するイメージ
定期購入の作成
Google Play Consoleでの作業。
- 対象のアプリを開く
- 「収益化 → 商品 → 定期購入」から「定期購入を作成」をクリック
- ProductID(アイテムID)とName(名前)を入力
- ProductID ... RevenueCatと同期するために使うID
- 以下の形式がおすすめらしい
<app>_<entitlement>_<version>
例:rc_premium_v1
- 以下の形式がおすすめらしい
- Name ... ユーザに表示される商品の名前
- ProductID ... RevenueCatと同期するために使うID
表示名の多言語対応
定期購入の作成後に、「定期購入の詳細を編集」ボタンから、
「翻訳の管理」を選択できるようになる。
Create a base plan
次に基本プランを作成していく
- Base plan ID(基本プランID)
- 以下の形式がおすすめらしい
<duration>-<renewaltype>
例:annual-autorenewing
- 以下の形式がおすすめらしい
- Price(価格と在庫状況)
- 各国/地域での価格を設定
- 右の「Set prices」で一括指定できる
(Optional) Create an offer
トライアルやお試し価格などを用意する場合は、
Offer(特典)を追加する。
Making Subscriptions Editable, InAppProduct API
RevenueCatは、InAppProductAPIを利用しないらしい。
直接APIを操作しない場合、定期購入を編集可能にしても安全とのこと。
ただ、このダイアログが出てこなかったので、
古いAPIを使っていると出てくるものかもしれない。。
以上!! Androidの課金アイテムも登録できた!!
これで次に進めそう(*´ω`*)