前回の続き。SDKのインストールしていく
Installing the SDK
Flutterで使うので、FlutterSDKを見ながら。
Requirements
利用要件はこんな感じらしい
Xcode 13.3.1+ Minimum target: iOS 11.0+
Installation
- purchases_flutter | Flutter package
- RevenueCat/purchases-flutter: Flutter plugin for in-app purchases and subscriptions. Supports iOS, macOS and Android.
$ fvm flutter pub add purchases_flutter
iOS Deployment Target
iOS 11.0+なので、必要に応じて、
ios/Podfile
を編集する。
# ios/Podfile platform :ios, '11.0'
iOS Swift Version
Swift >= 5.0が必要。必要に応じて、
XcodeのSwift Language Versionになってるか確認する。
Import Purchases
dartでのimport文はこんな感じ。
import 'package:purchases_flutter/purchases_flutter.dart';
XcodeでIn-App Purchase(アプリ内課金)の機能を使うので、
「Project Target → Capabilities」で「In-App Purchase」をONにしておく。
Configuring the SDK
Basic Configuration
SDKを利用する前に初期化する必要がある。
dartの場合はこんな感じ。
import 'dart:io' show Platform; import 'package:purchases_flutter/purchases_flutter.dart'; Future<void> initPlatformState() async { // デバッグログの有効化 await Purchases.setLogLevel(LogLevel.verbose); // public API keyを使ったconfigの取得 PurchasesConfiguration configuration; if (Platform.isAndroid) { configuration = PurchasesConfiguration(<public_google_api_key>); } else if (Platform.isIOS) { configuration = PurchasesConfiguration(<public_apple_api_key>); } // configを設定 await Purchases.configure(configuration); }
API Keyは、RevenueCat管理画面上の
Project Settings > API keys > App specific keys
か、
対象のAppのPublic API Key
欄から。
Additional Configuration Options
追加で、以下の設定もできるよう。
- App User ID
- RevenueCatのユーザID/顧客ID
- 未設定の場合は匿名ID(anonymous Id)を自動生成
- 詳しくは、Identifying Customers
- Observer Mode
- 既存のサブスクからRevenueCatに移行するときに利用
- 詳しくは、Observer Mode
- User Defaults (iOS only)
CustomerInfo
をキャッシュするuser defaultsのキーを変更できる- App Extensionsが必要
- 詳しくは、iOS App Extensions
Advanced Configuration
iOS/Android側のオプションの追加設定。
Swift/Javaなどのネイティブ側での設定。
- iOS/Delegates
purchases:receivedUpdated
- 購入時に
CustomerInfo
の更新を受け取る
- 購入時に
purchases:readyForPromotedProduct
- ユーザがアプリ内課金を開始したときに呼ばれる
- Android/Listeners
UpdatedCustomerInfoListener
- 購入時に
CustomerInfo
の更新を受け取る
- 購入時に
以上! とりあえず、SDKのインストールと初期化まで。
次はAppUserIDの設定周り(*´ω`*)