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.attributionAttributes | RevenueCat に渡す属性(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.notConfigured | configure の前に呼んだ |
GoAlongError.network | 通信エラー |
GoAlongError.server(statusCode:) | サーバーのエラー |