アプリ内購入検証FAQ

アプリ内課金(IAP)検証は、Singularがお客様のアプリ(AndroidとiOSの両方)の収益イベントを評価し、無効/不正なユーザーの購入を検出するプロセスです。

SDKインテグレーションでのイベント設定の詳細については、該当するSDKガイドおよびイベントと収益のテストをご覧ください。

 

一般的な質問

無効な購入の原因は何ですか?

無効な購入は通常、以下のタイプの不正によって引き起こされます:

  1. ユーザーによる不正: ユーザー詐欺:実際のユーザーがアプリをハック/騙して、IAPベースの特典/アイテムを無課金で入手する。

  2. マーケティング詐欺: 不正なパブリッシャーが偽の収益イベントを送信し、KPIを高め、質の高いユーザーを獲得しているように見せかける。

Singularはどのように購入を検証していますか?

Google PlayとApple App Storeは、ユーザーがAndroidやiOSアプリで金銭的な取引をすると、デジタルレシートを生成します。 各レシートは購入の詳細を暗号化し、Google/Appleによって暗号署名されています。

購入レシートを収益イベントと一緒にSingularに送信することで、Singularは購入の正当性を確認することができます。

Singularはレシート付きの収益イベントを受け取ると、以下のことを確認します:

  1. Singularがレシートを受け取った。
  2. レシートが再利用されていない(過去のトランザクションで送信されていない)。
  3. レシートの署名が有効である。
    1. iOSの場合、SingularはAppleの証明書を使用して署名を検証する。
    2. Androidの場合、Singularはアプリのライセンスキーが提供されていればそれを使用します。
  4. レシートの詳細がアプリとトランザクションの詳細と一致している

Singularが収益イベントが無効であると判断した場合、__iapinvalid__にリネームされます。

注: プロセスをさらに安全にするために、以下を提供することができます:

購入レシートをSingularに送信するには?

購入レシートを送信するには、プラットフォームと統合タイプに応じて適切なIAPレポート方法を使用してください:

Singularがレシートなしで購入イベントを受け取るとどうなるか?

レシートがない場合、不正な収益が発生している可能性があります。

購入ごとにレシートをSingularに送信するアプリのバージョンを作成し、その新しいバージョンがアプリストアで公開されると、(このバージョン以降の)新しいイベントにはすべてレシートが含まれるようになります。

レシートが添付されていない購入からの収益をSingularに拒否させるには、アプリページでアプリのReject IAP Without Receiptオプションを有効にしてください。

注意: このオプションを有効にする前にアプリをインストールまたはアップデートしたユーザーからの収益は拒否されません。正確な日付はトグルの横に表示されます。

mceclip0.png

購入の検証はレポートにどのように影響しますか?

購入検証を有効にすると、有効な収益のみがレポートの収益フィールドに表示されます。

mceclip0.png

購入の有効性はSingularのログ(ログのエクスポート)にどのように反映されますか?

イベントタイプとポストバックタイプの両方で、以下のフィールドがログに表示されます:

フィールド フィールド
Event name レシートが無効な場合、イベントの名前は__iapinvalid__ です。
Event revenue レシートが無効な場合、イベントの収益は 0 です。
Received revenue event 元のイベント名。
Received revenue 元の請求収益
Is revenue receipt included 購入時にレシートが提供されたかどうか。
Is revenue valid 購入が有効かどうか。
購入の検証はどのようにポストバックに反映されますか?

内部 BI ポストバック

Singular は以下のパラメータを送信します:

パラメータ 何を調べるか
event_name レシートが無効な場合、イベント名は__iapinvalid__です。
amount レシートが無効な場合、イベントの収益は 0 になります。
received_revenue_event 元のイベント名。
received_revenue 元の請求収益。
purchase_receipt_included 購入時にレシートが提供されたかどうか。
purchase_receipt_valid 購入が有効かどうか。

カスタムポストバック

カスタムポストバックを設定するには、Postback Macros & Passthrough Parametersの EventMacrosセクションを参照してください。

: 拒否された収益のポストバックを受け取りたい場合は、__iapinvalid__イベントのポストバックを構成できます。