FunnelFoxをAdaptyに接続する
FunnelFoxはウェブファネルを構築するツールです。App StoreやGoogle Play以外でサブスクリプションを販売するランディングページやクイズを作成できます。FunnelFoxをAdaptyに接続することで、ウェブ購入者がモバイルアプリの有料機能にアクセスできるようになり、ストアでの購入と同じダッシュボードでウェブ購入も確認できます。
接続にはキーが1つとアクセスレベルIDが1つ必要です。その後、アプリはそのアクセスレベルに到達した購入者を識別する必要があります。アプリでアクセスを提供するを参照してください。
インテグレーションの仕組み
FunnelFox はウェブ上で決済を処理します。その後、FunnelFox が Adapty サーバーサイド API を呼び出してプロファイルを作成し、トランザクションを記録し、FunnelFox のインテグレーション設定で指定した ID のアクセスレベルを付与します。更新・キャンセル・決済失敗が発生した場合も、同じプロファイルが更新されます。ウェブ購入は App Store および Google Play の売上と並んで Adapty アナリティクスに表示されます。
ファネルが販売する各プロダクトに対して、Adapty で対応するプロダクトを作成してください。購入自体はどちらの場合も Adapty に届きますが、プロダクトが存在しないと Adapty はサブスクリプション期間を把握できず、アナリティクスで期間が誤って表示されたり、購入が未分類になったりする場合があります。
Adapty は顧客ユーザー ID を使ってウェブ購入とアプリユーザーを紐付けます。FunnelFox はデフォルトで、チェックアウト時に入力されたメールアドレスをその ID として使用します。
ファンネルが Stripe または Paddle で決済している場合、そのプロバイダーを Adapty に別途接続する必要はありません。ファンネル以外でも同じプロバイダーを通じて販売している場合にのみ接続してください。両方のソースから届いたトランザクションは Adapty が重複排除を行います。
FunnelFox のファンネルではなく、独自のウェブチェックアウトに対して同じフローを構築する場合は、ウェブとモバイル間での購入の同期を参照してください。
FunnelFox との連携
接続の設定は FunnelFox 側で行います。FunnelFox の Adapty 連携ガイドに従って進めてください。Adapty から以下の2つの値が必要です。
- シークレット API キー: Adapty の App Settings を開き、シークレットキーをコピーします。
- アクセスレベル ID: 購入によって付与されるアクセスレベルです。Adapty アプリにはデフォルトで
premiumが用意されています。別のアクセスレベルを付与したい場合は、先に作成してください。
1つのファンネルで異なるアクセスレベルを付与する
1つのティアを販売するファンネルであれば、ここで特別な設定は不要です。すべての購入に対して、インテグレーション設定のアクセスレベルが付与されます。
1つのファンネルから複数のティアを販売するには、チェックアウト要素の Custom entitlement フィールドを使用します。このフィールドを設定すると、その要素を通じた購入に対して、インテグレーション設定のアクセスレベル ID が上書きされます。ファンネルには複数のチェックアウト要素(Wallet ボタンやアコーディオンチェックアウトなど)を配置できます。それぞれに独自の Custom entitlement フィールドがあるため、上書きを適用したいすべての要素に値を入力してください。
インテグレーション設定やCustom entitlementの値を変更した後は、フローを再公開してください。公開済みのフローは、再公開するまで以前の設定で動作し続けます。
アプリ内でアクセスを付与する
ウェブ購入者に有料機能を解放するには、FunnelFox が使用したものと同じ顧客ユーザー ID で Adapty.activate() または Adapty.identify() を呼び出します。デフォルトでは、この ID はチェックアウト時に購入者が入力したメールアドレスです。呼び出し方法については ユーザーの識別 iOS、Android、React Native、Flutter、Unity、Kotlin Multiplatform、Capacitor を参照してください。
ファネル内のリンクからアプリをインストールしても、購入者は自動的に識別されません。アプリが対応するIDで Adapty.identify() を呼び出すまで、アクセスレベルを保持するプロファイルとアプリが作成したプロファイルは別々のままとなり、アプリには有料アクセスが表示されません。チェックアウト時のメールアドレスでサインインすることで、この2つが紐付けられます。
サインインのステップなしにアクセスを解除するには、ファネルからのカスタマーユーザーIDを遅延ディープリンク経由でアプリに渡し、初回起動時にそのIDで Adapty.identify() を呼び出してください。
次に、プロファイルからアクセスレベルを読み取り、機能を解放します。詳しくは サブスクリプションステータスの確認 iOS、Android、React Native、Flutter、Unity、Kotlin Multiplatform、Capacitor をご覧ください。
インテグレーションをテストする
- ファネル内で購入を完了する。
- Adapty で Profiles を開き、FunnelFox が使用しているカスタマーユーザー ID でプロファイルを検索する。
- FunnelFox のインテグレーション設定で入力したアクセスレベルの ID が、そのプロファイルで有効になっていることを確認する。
- アプリを開き、同じユーザーを特定して、有料機能のロックが解除されていることを確認する。
トラブルシューティング
ウェブで購入したユーザーがアクセス権なしでアプリを開く
アプリがその購入者を識別できていません。FunnelFox はデフォルトでチェックアウト時のメールアドレスをキーとしたプロファイルにアクセスレベルを付与しましたが、アプリは別のプロファイルを参照しています。アプリでアクセスを提供するの説明に従って、そのIDで Adapty.identify() を呼び出してください。
その他の FunnelFox 連携
FunnelFox は Adapty の 3 つのプロダクトと連携しており、それぞれ個別にセットアップが必要です。
| プロダクト | FunnelFox が Adapty に送信するデータ | セットアップガイド |
|---|---|---|
| Core | プロファイル、トランザクション、アクセスレベル(Web での購入がアプリで有効になります) | この記事 |
| Adapty Attribution | キャンペーン、ファネル、実験データを含むトランザクションイベント | FunnelFox と Adapty Attribution の連携 |
| Adapty Mail | メールアドレス、購入履歴、サブスクリプションイベント | FunnelFox を Adapty Mail に接続する |