SDK の導入

GoAlong の SDK は、Swift(iOS)・React Native・Flutter の 3 種類があります。どれも MIT ライセンスで公開しています。

SDK対象リポジトリ
SwiftiOS 15 以上(Swift Package Manager)blue-office/goalong-swift
React NativeReact Native 0.72 以上blue-office/goalong-react-native
FlutterFlutter 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_… は購読に数えません)。

次のステップ

紹介コードの入力欄は必須です。続けて 紹介コードの入力欄 を組み込みます。