このAPIを使用して、ユーザーレベルの収益データを取得します。 このデータは、特定のユーザー向けに集計された状態、またはインプレッションごとに1行の状態で取得できます。
ユーザーレベルの収益データは、UTCの1日の終了から8時間後に利用可能になります。 例えば、UTC 2019‒01‒01のデータは、UTC 2019‒01‒02の08:00以降に利用可能になります。
ユーザーレベルおよびインプレッションレベルの広告収益データは、Adjust、AppsFlyer、GameAnalytics、Singularなど、サポートされているすべてのネットワークにおいて、お好みのモバイル計測パートナー(MMP)と共有できます。 また、クライアント側でインプレッションレベルのユーザー収益データにアクセスすることも可能です。 詳細については、SDK統合ガイド > Platform > 概要 > 詳細設定 をご覧ください。
MAXは、MAXインプレッションを記録するたびに、Server-to-Server Impression Revenue APIを使用して、お客様が選択したトラッキングURLにデータをポストします。 詳細については、S2SインプレッションレベルAPIのドキュメントページを参照してください。
AppLovinブログより “Take Ad-Revenue Attribution to the Next Level With MAX”
このAPIを使用するには認証が必要です。
認証を行うには、URLパラメータ api_key の値にお客様の Report Key を設定してください。
https://r.applovin.com/max/userAdRevenueReport?api_key=«report-key»&date=«report-day»&platform=«app-platform»&application=«app-package-name»&store_id=«app-store-ID»&aggregated=«is-aggregated»
| 名前 | 説明 | 例 |
|---|---|---|
aggregated | APIがデータを集計するか(ユーザーごと)、しないか(インプレッションごと)を指定します。デフォルトは true です。 | false |
api_key | 認証用のReport Key。 | tgCe3d7SFRU0S…304ZKs6ba |
application | アプリケーションのパッケージ名(Androidの場合)またはバンドルID(iOSの場合)。(store_id を定義している場合は、このパラメータを使用できません) | com.mycompany.application |
date1 | データを取得する日。«YYYY»-«MM»-«DD» 形式で指定します。 | 2019-02-06 |
platform | アプリケーションのプラットフォーム:android、fireos、または ios。 | android |
store_id | iOSの場合はiTunes IDの数値部分、Androidの場合はアプリのパッケージ名。iTunes IDが不明な場合は、代わりにバンドルIDを使用してください。application を定義している場合は、このパラメータを使用できません。 | 1207472156 |
1 このAPIのリクエスト可能期間は45日間です。 日付パラメータが過去45日以内であることを確認してください。
{
"status": 200,
"url": "https://applovin-externalreports.s3.amazonaws.com/%2Fmediation_reports/report_date%3D1549756800/pub_id%3D12345/mediation_app_id%3D12345/user_report.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190216T000208Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=dataio.amazon.s3.access_key%2F20190216%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=e45bdfbd88cbcf4e[…]927dd",
"ad_revenue_report_url": "https://applovin-externalreports.s3.amazonaws.com/%2Fmediation_reports/report_date%3D1549756800/pub_id%3D12345/mediation_app_id%3D12345/user_report.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190216T000208Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=dataio.amazon.s3.access_key%2F20190216%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=e45bdfbd88cbcf4e[…]927dd",
"fb_estimated_revenue_url": "https://applovin-externalreports.s3.amazonaws.com/%2Fmediation_reports/report_date%3D1549756800/pub_id%3D12345/mediation_app_id%3D12345/user_report.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190216T000208Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3599&X-Amz-Credential=dataio.amazon.s3.access_key%2F20190216%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Signature=e45bdfbd88cbcf4e[…]927dd"
}
| 名前 | 説明 |
|---|---|
ad_revenue_report_url | 推定されるMeta Audience Network Biddingデータを含む、すべての収益が記載されたCSVファイルの場所。 |
fb_estimated_revenue_url | 推定されるMeta Audience Network Biddingデータのみが記載されたCSVファイルの場所。Meta Audience Network Biddingデータは推定収益データを使用して計算されているため、これらの数値は実際の数値と異なる場合があることにご注意ください。 |
status | リクエストのステータス:ユーザーレポートにアクセス可能な場合は 200。 |
url | 推定されるMeta Biddingデータを除外したCSVファイルの場所。 |
Ad Unit ID,Placement,IDFA,IDFV,User Id,Impressions,Revenue
da39a3ee5e6b4b0,home_screen,04034992-E5AA-4BA1-890C-5075B2504050,4F2A07BC-315B-11E9-B210-D663BD873D93,20349,27,5.000025
da39a3ee5e6b4b0,level_end,12309422-331C-41A3-9BF5-2D7D1C04A4E0,4F2A0A6E-315B-11E9-B210-AD023491FF20,,11,0.006100
Date,Ad Unit ID,Ad Unit Name,Waterfall,Ad Format,Placement,Country,Device Type,IDFA,IDFV,User ID,Revenue, Ad Placement
2019-07-29 15:53:07.39,97f7d2048121fe62,sc-and-v1,Default Waterfall,BANNER,home-screen,gb,PHONE,34d5d192-4d67-4382-a730-6828a5f769a2,,e41aaf1d-72ea-4c02-8543-27a2ba09a258,0.000079,1642799
2019-07-29 15:49:31.468,97f7d2048121fe62,sc-and-v1,LAT Users,BANNER,level-end,de,TABLET,31dae586-12d9-47dc-99bd-80855feb2afd,,cf-3042e652059847e5b0911dca682e9509,0.006000,202009
| 名前 | 説明 |
|---|---|
Ad Format | INTER、BANNER、REWARD(未集計のみ)。 |
Ad Placement | 広告を表示した外部広告ネットワークの配置ID(未集計のみ)。 |
Ad Unit ID | 収益を発生させたMAX広告ユニットのID。 |
Ad Unit Name | 収益を発生させたMAX広告ユニットの名前(未集計のみ)。 |
Country | インプレッションが発生した国の2文字の国コード(未集計のみ)。 |
Custom Data | 統合から渡されたカスタムデータ。 |
Date | インプレッションが発生した日時(未集計のみ)。 |
Device Type | PHONE、TABLET(未集計のみ)。 |
IDFA | 広告識別子:iOSデバイスの場合はIDFA、Androidデバイスの場合はGAID。 |
IDFV | ベンダー向け識別子。 |
Impressions | ユーザーに表示された広告の数(集計済みのみ)。 |
Network | インプレッションを発生させた広告ネットワーク。こちらの表の「Network API Name」列で広告ネットワークの値を確認できます。(未集計の ad_revenue_report_url のみ) |
Placement | ユーザーがインプレッションと収益を発生させた広告の配置名。 |
Revenue | ユーザーによって発生した収益(米ドル、小数点以下6桁の精度で表示)。 |
User ID | AppLovin SDKを介して設定された、オプションのユーザーID。(下記の「内部ユーザーIDの設定」セクションを参照してください。) |
Waterfall | MAX広告ユニットのウォーターフォール名(未集計のみ)。 |
以下のコードスニペットは、広告ユニットに配置名を追加する方法を示しています。
配置名の値は、ポストバックリクエスト内の {PLACEMENT} マクロを置き換えます:
AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.setMRecPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.showInterstitial(«ad-unit-ID», «placement»);
nativeAdLoader.setPlacement(«placement»);
AppLovinMAX.showRewardedAd(«ad-unit-ID», «placement»);




UAppLovinMAX::CreateBanner(«ad-unit-ID», «position»);
UAppLovinMAX::SetBannerPlacement(«ad-unit-ID», «placement»);
UAppLovinMAX::CreateMRec(«ad-unit-ID», «position»);
UAppLovinMAX::SetMRecPlacement(«ad-unit-ID», «placement»);
UAppLovinMAX::ShowInterstitial(«ad-unit-ID», «placement»);
UAppLovinMAX::ShowInterstitial(«ad-unit-ID», «placement»);
MaxSdk.CreateBanner(«ad-unit-ID», «position»);
MaxSdk.SetBannerPlacement(«ad-unit-ID», "«placement»");
MaxSdk.CreateMRec(«ad-unit-ID», «position»);
MaxSdk.SetMRecPlacement(«ad-unit-ID», "«placement»");
MaxSdk.ShowInterstitial(«ad-unit-ID», "«placement»");
MaxSdk.ShowRewardedAd(«ad-unit-ID», "«placement»");
AppLovinMAX.createBanner(«ad-unit-ID», «position»);
AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.createMRec(«ad-unit-ID», «position»);
AppLovinMAX.setMRecPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.showInterstitial(«ad-unit-ID», placement: «placement»);
AppLovinMAX.showRewardedAd(«ad-unit-ID», placement: «placement»);
AppLovinMAX.createBanner(«ad-unit-ID», «position»);
AppLovinMAX.set_banner_placement(«ad-unit-ID», «placement»);
AppLovinMAX.createMRec(«ad-unit-ID», «position»);
AppLovinMAX.set_mrec_placement(«ad-unit-ID», «placement»);
AppLovinMAX.show_interstitial(«ad-unit-ID», «placement»);
AppLovinMAX.show_rewarded_ad(«ad-unit-ID», «placement»);
adViewAd.setPlacement( "«placement»" );
interstitial.showAd( "«placement»" );
rewardedAd.showAd( "«placement»" );
nativeAdLoader.setPlacement( "«placement»" );
MaxAdPlacerSettings settings = new MaxAdPlacerSettings( "«ad-unit-ID»" );
settings.setPlacement( "«placement»" );
AppLovinMAX.createBanner(«ad-unit-ID», «position»);
AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.createMRec(«ad-unit-ID», «position»);
AppLovinMAX.setMRecPlacement(«ad-unit-ID», «placement»);
AppLovinMAX.showInterstitial(«ad-unit-ID», «placement»);
AppLovinMAX.showRewardedAd(«ad-unit-ID», «placement»);
AppLovinMAX.createBanner(«ad-unit-ID», «position»);
AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
import { AdView, AdFormat } from 'react-native-applovin-max';
⋮
<AdView adUnitId={«ad-unit-ID»}
adFormat={AdFormat.BANNER}
placement={«placement»} />
import { MRecAd } from 'react-native-applovin-max';
⋮
MRecAd.createAd(«ad-unit-ID», «position»);
MRecAd.setPlacement(«ad-unit-ID», «placement»);
import { AdView, AdFormat } from 'react-native-applovin-max';
⋮
<AdView adUnitId={«ad-unit-ID»}
adFormat={AdFormat.MREC}
placement={«placement»} />
import { InterstitialAd } from 'react-native-applovin-max';
⋮
InterstitialAd.showAd(«ad-unit-ID», "«placement»");
import { RewardedAd } from 'react-native-applovin-max';
⋮
RewardedAd.showAd(«ad-unit-ID», "«placement»");
<NativeAdView
adUnitId={«ad-unit-ID»}
placement="«placement»"
⋮
/>
adView.setPlacement( "«placement»" )
interstitial.showAd( "«placement»" )
rewardedAd.showAd( "«placement»" )
nativeAdLoader.setPlacement( "«placement»" )
val settings = MaxAdPlacerSettings( "«ad-unit-ID»" )
settings.placement = "«placement»"
applovin.create_banner(«ad-unit-ID», «position»)
applovin.set_banner_placement(«ad-unit-ID», «placement»)
applovin.create_mrec(«ad-unit-ID», «position»)
applovin.set_mrec_placement(«ad-unit-ID», «placement»)
applovin.show_interstitial(«ad-unit-ID», «placement»);
applovin.show_rewarded_ad(«ad-unit-ID», «placement»);
adView.placement = @"«placement»";
[adView loadAd];
[interstitialAd showAdForPlacement: @"«placement»"];
[rewardedAd showAdForPlacement: @"«placement»"];
nativeAdLoader.placement = @"«placement»";
MAAdPlacerSettings *settings = [MAAdPlacerSettings settingsWithAdUnitIdentifier: @"«ad-unit-ID»"];
settings.placement = @"«placement»";
adView.placement = "«placement»"
adView.loadAd()
interstitial.show(forPlacement: "«placement»")
rewardedAd.show(forPlacement: "«placement»")
nativeAdLoader.placement = "«placement»"
let settings = MAAdPlacerSettings(adUnitIdentifier: "«ad-unit-ID»")
settings.placement = @"«placement»"
以下のコードスニペットは、独自の内部ユーザーIDをユーザーにタグ付けする方法を示しています。 ユーザーID文字列の最大サイズは8192文字です。
AppLovinMAX.setUserId("«user-ID»");
MaxSdk.SetUserId("«user-ID»");
val settings = AppLovinSdk.getInstance( this ).getSettings();
settings.setUserIdentifier( "«user-ID»" );
AppLovinMAX.setUserId("«user-ID»");
val settings = AppLovinSdk.getInstance( this ).settings
settings.userIdentifier = "«user-ID»"
applovin.set_user_id("«user-ID»")
ALSdkSettings *settings = [ALSdk shared].settings;
settings.userIdentifier = @"«user-ID»";
let settings = ALSdk.shared().settings
settings.userIdentifier = "«user-ID»"
以下のコードスニペットは、ポストバックにカスタム文字列データを追加する方法を示しています。
この文字列データは、これらのポストバック内の {CUSTOM_DATA} マクロを置き換えます。
AppLovinでは、文字列の長さを8192文字未満にすることを推奨しています。
カスタムデータは、バナー広告またはMREC広告をロードする前に設定する必要があります。 そうしないと、そのデータは広告に関連付けられたポストバックに表示されません。
MaxSdk.SetBannerCustomData("«ad-unit-ID»", "«custom-data»"); // Banners
MaxSdk.SetMRecCustomData("«ad-unit-ID»", "«custom-data»"); // MRECs
adViewAd.setCustomData( "«custom-data»" );
BannerAd.setCustomData("«ad-unit-ID»", "«custom-data»"); // Banners
MRec.setCustomData("«ad-unit-ID»", "«custom-data»"); // MRECs
adView.setCustomData( "«custom-data»" )
adView.customData = @"«custom-data»";
adView.customData = "«custom-data»"
MaxSdk.ShowInterstitial(«adUnitIdentifier», «placement», «custom data»);
MaxInterstitialAd.showAd(«placement», «custom data»);
InterstitialAd.showAd(interAdUnitId, "«placement»", "«custom data»");
MaxInterstitialAd.showAd(«placement», «custom data»)
-[MAInterstitialAd showAdForPlacement:customData:]
[interstitialAd showAdForPlacement: @"«placement»" customData: @"«custom-data»"];
MaxSdk.ShowRewardedAd(«adUnitIdentifier», «placement», «custom data»);
MaxRewardedAd.showAd(«placement», «custom data»);
RewardedAd.showAd(adUnitId, "«placement»", "«custom data»");
MaxRewardedAd.showAd(«placement», «custom data»)
-[MARewardedAd showAdForPlacement:customData:]
rewardedAd.show(forPlacement: "«placement»" customData: "«custom-data»")
nativeAdLoader.setCustomData( "«custom data»" );
<NativeAdView
adUnitId={«ad-unit-ID»}
customData="«custom-data»"
⋮
/>
nativeAdLoader.setCustomData( "«custom data»" )
nativeAdLoader.customData = @"«custom data»";
nativeAdLoader.customData = "«custom data»"