アプリ内課金(IAP)検証は、Singularがお客様のアプリ(AndroidとiOSの両方)の収益イベントを評価し、無効/不正なユーザーの購入を検出するプロセスです。
SDKインテグレーションでのイベント設定の詳細については、該当するSDKガイドおよびイベントと収益のテストをご覧ください。
一般的な質問
無効な購入は通常、以下のタイプの不正によって引き起こされます:
-
ユーザーによる不正: ユーザー詐欺:実際のユーザーがアプリをハック/騙して、IAPベースの特典/アイテムを無課金で入手する。
-
マーケティング詐欺: 不正なパブリッシャーが偽の収益イベントを送信し、KPIを高め、質の高いユーザーを獲得しているように見せかける。
Google PlayとApple App Storeは、ユーザーがAndroidやiOSアプリで金銭的な取引をすると、デジタルレシートを生成します。 各レシートは購入の詳細を暗号化し、Google/Appleによって暗号署名されています。
購入レシートを収益イベントと一緒にSingularに送信することで、Singularは購入の正当性を確認することができます。
Singularはレシート付きの収益イベントを受け取ると、以下のことを確認します:
- Singularがレシートを受け取った。
- レシートが再利用されていない(過去のトランザクションで送信されていない)。
- レシートの署名が有効である。
- iOSの場合、SingularはAppleの証明書を使用して署名を検証する。
- Androidの場合、Singularはアプリのライセンスキーが提供されていればそれを使用します。
- レシートの詳細がアプリとトランザクションの詳細と一致している
Singularが収益イベントが無効であると判断した場合、__iapinvalid__にリネームされます。
注: プロセスをさらに安全にするために、以下を提供することができます:
- Android ライセンスキー:Android Licensing Key: AndroidでSingularがレシートを暗号的に検証できるようにします。詳しくは、Google Playライセンスキーの追加をご覧ください。
- 商品SKU識別子と トランザクション識別子。詳しくはSDKのドキュメント(Unity、React Native、Android、iOS)またはS2Sのドキュメントをご覧ください。
購入レシートを送信するには、プラットフォームと統合タイプに応じて適切なIAPレポート方法を使用してください:
- Unityでの収益のトラッキング
- React Nativeでの収益のトラッキング
- Androidでの収益のトラッキング
- iOSにおける収益のトラッキング
- S2Sでの収益のトラッキング
レシートがない場合、不正な収益が発生している可能性があります。
購入ごとにレシートをSingularに送信するアプリのバージョンを作成し、その新しいバージョンがアプリストアで公開されると、(このバージョン以降の)新しいイベントにはすべてレシートが含まれるようになります。
レシートが添付されていない購入からの収益をSingularに拒否させるには、アプリページでアプリのReject IAP Without Receiptオプションを有効にしてください。
注意: このオプションを有効にする前にアプリをインストールまたはアップデートしたユーザーからの収益は拒否されません。正確な日付はトグルの横に表示されます。
購入検証を有効にすると、有効な収益のみがレポートの収益フィールドに表示されます。
内部 BI ポストバック
Singular は以下のパラメータを送信します:
パラメータ | 何を調べるか |
event_name | レシートが無効な場合、イベント名は__iapinvalid__です。 |
amount | レシートが無効な場合、イベントの収益は 0 になります。 |
received_revenue_event | 元のイベント名。 |
received_revenue | 元の請求収益。 |
purchase_receipt_included | 購入時にレシートが提供されたかどうか。 |
purchase_receipt_valid | 購入が有効かどうか。 |
カスタムポストバック
カスタムポストバックを設定するには、Postback Macros & Passthrough Parametersの EventMacrosセクションを参照してください。
注 : 拒否された収益のポストバックを受け取りたい場合は、__iapinvalid__イベントのポストバックを構成できます。