iOS(Swift)SDK API

主な API の一覧です。導入の手順は SDK の導入 をご覧ください。React Native・Flutter 版も同じ名前・意味の API があります(各リポジトリの README)。Kotlin(Android)SDK はプレビュー公開です(Android 対応は予定。blue-office/goalong-kotlin)。

設定

API説明
GoAlong.configure(appId:appSlug:)起動時に一度呼ぶ
GoAlong.setRevenueCatUserID(_:)RevenueCat の設定直後・ユーザーの切り替え時に呼ぶ
GoAlong.attributionAttributesRevenueCat に渡す属性(setAttributes に渡す)
GoAlong.installationIDこの端末の GoAlong のインストール ID

紹介コード

API説明
GoAlong.validateCode(_:)適用せずに検証する(紹介者の名前の確認など)
GoAlong.applyCode(_:method:rcAppUserID:confirmReplace:)コードを適用する
GoAlong.handleDeepLink(_:)紹介リンクからコードを取り出す(適用はしない)
GoAlong.checkClipboardHint()クリップボードに紹介リンクの手がかりがあるかを確認する(内容は読まない)
GoAlong.requestClipboardCode()同意のあとにクリップボードからコードを読む
let validation = try await GoAlong.validateCode("MIKA")
let result = try await GoAlong.applyCode("MIKA", method: .code)

applyCode の結果:

結果意味
.applied(creator:perk:offeringKey:perkLabel:)適用した(perk は付与された特典。perkLabel だけのときは、RevenueCat のユーザー ID が分かったあとに付与されます)
.alreadyApplied(creator:perk:offeringKey:perkLabel:)同じコードを適用済み
.conflict(currentCreator:)別の紹介者のコードを適用済み。確認のあと confirmReplace: true で再実行
.existingSubscriber有効な購読があるため対象外
.notFound(error:)コードが見つからない・期限切れなど

紹介の状態と取り消し

switch try await GoAlong.currentReferral() {
case .applied(let creator, let appliedAt, let perk): ...
case .removed: ...
case .none: ...
}

try await GoAlong.removeReferral()

取り消すと、以後の課金は紹介に結び付きません。受け取り済みの特典は期限まで使えます。取り消したあとに、別のコード(または同じコード)を適用し直せます。

UI 部品

部品説明
CreatorCodeInputView紹介コードの入力欄(適用済みなら現在の紹介と取り消しを表示)
.goAlongCodeSheet(isPresented:rcAppUserID:)入力欄をモーダルで表示する
CreatorCodeModel入力欄の状態(独自のデザインを作るとき)
ReferralEntryView初回画面の入口(状況に応じて表示を変える)
GoAlongTheme / Labels見た目と文言

エラー

エラー意味
GoAlongError.notConfiguredconfigure の前に呼んだ
GoAlongError.network通信エラー
GoAlongError.server(statusCode:)サーバーのエラー