Tapjoyは既存のリワードコールバックに加えて、パブリッシャーがオファーウォールでのユーザーレベルの広告収益データを取得できる ユーザーレベル収益API を提供しています。このAPIにより、MMP(Mobile Measurement Partner)やパブリッシャーがAmazon Web Services (AWS) S3 に保存されたCSVを取得して直接ユーザーレベルの広告収益レポートを取得できるようになります。
リクエストを送る際には、Tapjoy App ID (Tapjoy LTV ダッシュボードに登録されているアプリ情報に含まれています) とデータを取得する日付が必要です。
APIを使用するためには、MMP/パートナーは Tapjoy OAuth endpoint に Marketing API Key を使用してアクセストークンを取得する必要があります。取得したアクセストークンを使って Tapjoy API を呼び出し、AWS S3にストアされるリポートの書名付きURLを取得します。この書名付きURLはその後5分間のみリポート取得のためにアクセス可能になります。このAWS S3のリポートURLにアクセスをすると、ユーザーレベル広告収益データを含むCSVリポートが取得できます。
エンドポイント
https://api.tapjoy.com/api/client/publisher/apps/<app_id>/user_revenue_report
Marketing API key を使って OAuth で認証します。
必須パラメータ:
指定可能な日付のフォーマットは次の通りです: mm/dd、mm/dd/yyyy、mm/dd/yy、dd-mm yyyy-mm-dd、yy-mm-dd
戻り値は5分間有効なリポートのサイン付き認証トークンを含むURLの配列です。
GET api/client/publisher/apps/<publisher_app_id>/user_revenue_report?date=<date>
Host: api.tapjoy.com
Authorization: Bearer <access_token_string>
Accept: application/json
{
"urls": [
"https://tapjoy.amazon.s3.com/data/report.csv.gz&key=secure"
]
}
status 404
{
“reason”: “No publisher app with id <publisher_app_id> found.”
}
データの SLA - x日のデータは、x+1日の 01:00 UTC までに取得可能になります
データ保持 SLA - リポートは14日分利用可能です(x+15日まで保持)
戻り値は、ユーザーレベル広告収益のCSV です。
GET /data/report.csv.gz&key=secure
Host: tapjoy.amazon.s3.com
Accept: application/json
status 200
{
CSV File
}
status 401
{
“error”: “Unauthorized”
}
status 404
{
“error”: “Not Found”
}
リポートに表示されるフィールドはそれぞれどういった内容ですか?
フィールド | 説明 |
---|---|
date_id and report_date | API リクエストに基づくユーザ別のリポート日付です。リポート内の測定値はこの日付に基づきます |
partner_id | この値は Tapjoy 内部で設定される ID です。 |
app_name and appkey | これらは アプリの名前、および Tapjoy がアプリを区別するための値です。 |
IDFA/IDFV/GAID | プラットフォームにより、これらの値はそれぞれの値または UNKNOWN となります。 |
device_os_version | 対象となる携帯端末のOSのバージョンです。 |
att_status | iOS 端末の App Tracking Transparency ステータスです。(判明している場合) |
publisher_user_id | パブリッシャーが設定した端末に結びつく ID です。(利用可能な場合) |
ad_unit | この値は常に “offerwall” で、MMP の処理のために使用されます。 |
placement | Tapjoy の プレイスメント の名前です。 |
content_card | Tapjoy の コンテンツカード の名前です。 |
geoip_country | 端末に関連した国コードです。(IP アドレス から判別できた場合) |
currency_sale | 関連するコンバージョンがカレンシーセールの期間でない場合は "1" で、カレンシーセールの期間の場合はカレンシーセールの倍率となります。 |
conversion_rate | このトランザクションで使用された 仮想通貨の変換レートです。 |
impressions | このデバイス ID と関連づけられた、指定期間の合計インプレッション数です。 |
publisher_amount | このデバイス ID と関連づけられた、指定期間の収益の合計です。 |
このレポートには動画の収益も含まれますか?
いいえ。このリポートはオファーウォールの広告収益のみが含まれます。ユーザーレベルの動画広告データが必要な場合、動画メディエーションパートナーに取得するAPI、または取得についてお訪ねください。
このリポートはいつまでのデータを取得できますか?
リポートはパブリッシャーに14日分アクセス可能です。前日のリポートは当日の01:00 UTCに取得可能になります。
ユーザーレベルリポートのいくつかの行で、インプレッションの列の値が0なのに収益の値が0ではないのはどうしてですか?
MR-CPE(マルチレベルCPE)のオファーでは、インプレッションが発生してから収益となるイベントが発生するまで数日(場合によっては数週間)の遅延が発生する場合がよくあるからです。
収益列の値の単位は何ですか?
アメリカドル(USD)です。
現在このAPIをサポートしているMMPはどこですか?
Appsflyer.
publisher_user_id や geoip_countries カラムに複数の値があるのはなぜですか?
同一のユーザーが、同じアプリ内で複数の異なる publisher_user_id や geoip_countries を使用してオファーを表示し、コンバートする場合があるためです。これらの ID は、 SDK の初期化時にパブリッシャーによって設定されるため、下記のような状況が発生する可能性があります:
同様の事態が geoip_countries でも起こる可能性があります。収益が複数回カウントされることを避けるには、これらの値を 1 つの行に集約する必要があります。