SDK の導入
GoAlong の SDK は、Swift(iOS)・React Native・Flutter の 3 種類があります。どれも MIT ライセンスで公開しています。
| SDK | 対象 | リポジトリ |
|---|---|---|
| Swift | iOS 15 以上(Swift Package Manager) | blue-office/goalong-swift |
| React Native | React Native 0.72 以上 | blue-office/goalong-react-native |
| Flutter | Flutter 3.22 以上 | blue-office/goalong-flutter |
| Kotlin(Android) | プレビュー公開(Android 対応は予定) | blue-office/goalong-kotlin |
メモ
ベータ版は iOS のみ対応です。報酬の対象になるのは App Store(iOS)の課金で、React Native・Flutter のアプリでも iOS での購入だけが対象になります。Android(Google Play)は対応予定です。時期は決まり次第お知らせします。
このページは Swift のコードで説明します。React Native・Flutter は、それぞれのリポジトリの README に同じ手順のコードがあります。
インストール
Swift: Xcode の File → Add Package Dependencies で次の URL を追加します(バージョン 0.1.0 以上)。
https://github.com/blue-office/goalong-swift
React Native(SDK はネイティブコードを含まないので、CocoaPods・SPM の設定は不要です):
npm install github:blue-office/goalong-react-native#0.2.0
インストール ID などの保存先は configure の storage に渡します(AsyncStorage・MMKV など、アプリで使っているものをそのまま渡せます)。
Flutter(pubspec.yaml):
dependencies:
goalong:
git:
url: https://github.com/blue-office/goalong-flutter.git
ref: 0.1.0
1. 初期化する
アプリの起動時に一度だけ呼びます。
import GoAlong
GoAlong.configure(
appId: "YOUR_APP_ID", // GoAlong のアプリ詳細「SDK の設定」の App ID(Bundle ID ではありません)
appSlug: "your-app" // 紹介リンクの slug。指定を推奨(他のアプリのリンクの混入を防ぎます)
)
初回起動の登録は裏で行われ、アプリの起動を待たせません。
2. RevenueCat のユーザー ID を渡す
RevenueCat を設定した直後と、ログインなどでユーザーが切り替わったときに呼びます。
Purchases.configure(withAPIKey: key, appUserID: uid)
GoAlong.setRevenueCatUserID(Purchases.shared.appUserID)
これを呼んでおくと、以後の紹介コードの適用で毎回ユーザー ID を渡す必要がなくなります。また、ログイン前の画面で紹介が成立していた場合に、まだ付いていないユーザー特典をここで取りに行きます。
注意
ログイン後に RevenueCat を初期化するアプリでは、この呼び出しがないとユーザー特典が付かないままになります。
3. 課金と紹介を結び付ける属性を渡す
Purchases.shared.attribution.setAttributes(GoAlong.attributionAttributes)
attributionAttributes には goalong_installation_id が含まれ、紹介の成立後は goalong_referred も加わります。課金イベントに付いたこの属性で、GoAlong は課金と紹介を結び付けます。購入より前に設定し、紹介コードの適用後・取り消し後にも設定し直してください。取り消し後に古い属性を残さないよう、含まれない属性は空文字で消します(詳しくは各 SDK の README)。
有効な購読の判定(React Native・Flutter)
有効な購読があるユーザーは紹介の対象外です。Swift 版は端末の StoreKit で自動判定しますが、React Native・Flutter 版では configure の isActiveSubscriber で、RevenueCat の情報から判定してください(GoAlong の特典などで付与された無料期間 rc_promo_… は購読に数えません)。
次のステップ
紹介コードの入力欄は必須です。続けて 紹介コードの入力欄 を組み込みます。