概要
リワード広告のサーバーサイド検証(SSV, Server-Side Verification) を使用すると、ユーザーが広告の視聴を完了した際に、Adropサーバーが指定したサーバーURLへコールバックを送信します。サーバー側で報酬付与を直接検証することで、不正を防止できます。 コールバックペイロードはAPIキーで暗号化されているため、URLが外部に露出してもAPIキーを持つ主体のみが内容を復号できます。設定方法
APIキーの準備
SSVコールバックのペイロード復号に使用するAPIキーを先に発行してください。プロジェクトにアクティブなAPIキーが1つ以上ある場合にSSVを登録できます。発行方法は連携 & APIキードキュメントを参照してください。
SSVの登録
コンソールの**[管理]** > [連携] > リワード広告SSVセクションで**[+ リワード広告SSVを登録]**ボタンを押します。
| 項目 | 説明 |
|---|---|
| URL | 報酬完了時に呼び出すサーバーURL。https://で始まる必要があります。 |
| APIキー | コールバックペイロードの復号に使用するAPIキー。デフォルトは最新のアクティブキー。 |
SDKでuserId / customDataを渡す
SDKで
setServerSideVerificationOptions()を使ってuserIdとcustomDataを設定すると、その値がコールバックペイロードに含まれてサーバーへ送信されます。各プラットフォームの設定方法は以下のドキュメントを参照してください。登録・編集時はHTTPS URLのみ許可され、プライベートIP(localhost、10.x、172.16〜31.x、192.168.x、169.254.x)はブロックされます。
リクエスト仕様
Adropサーバーは次のようにコールバックを送信します。| 項目 | 値 |
|---|---|
| Method | POST |
| Content-Type | application/json |
| リトライ | 最大3回(0ms / 1s / 2sの間隔) |
| タイムアウト | 1回あたり5秒 |
| 成功条件 | HTTP 200レスポンス |
:)で区切られたhex文字列です。復号後に得られる平文JSONの仕様は以下のとおりです。
| フィールド | 型 | 説明 |
|---|---|---|
project | string | AdropプロジェクトID |
app | string | AdropアプリID |
unit | string | Adrop広告ユニットID |
adNetwork | string | 広告ネットワーク識別子 |
adUnit | string | 広告ネットワーク内のユニット識別子 |
userId | string? | SDKで設定したユーザー識別子 |
customData | string? | SDKで設定したカスタムデータ |
rewardItem | string | 報酬アイテム名 |
rewardAmount | number | 報酬数量 |
transactionId | string | トランザクションID(重複防止用の一意な値) |
timestamp | number | コールバック発生時刻(Unix ms) |
transactionIdは一意な値です。サーバーですでに処理したtransactionIdを再度受信した場合は、重複報酬を付与しないよう冪等(idempotent)に処理することを推奨します。ペイロードの復号
AES-256-GCMの鍵は、APIキー原文をSHA-256でハッシュした32バイトです。Node.js
Python
編集と削除
登録済みのSSVは、リワード広告SSVセクション右側のメニューから編集・削除できます。- 編集: URLまたは連携するAPIキーを変更します。
- 削除: コールバックは呼び出されなくなります。削除後もSDKの
userId/customDataはAdrop内部のSSVログに保存されます。
関連ドキュメント
連携 & APIキー
APIキーの発行・管理・廃棄方法
レポートAPI
キャンペーン成果およびバックフィル収益データをAPIで照会する方法