AppLovin Support

User-Level Ad Revenue API

使用此 API 检索用户层级的收入数据。 您可以检索特定用户聚合后的数据,也可以检索每个 impression 占一行的明细数据。

User-Level Ad Revenue API

用户层级收入数据会在 UTC 日结束 8 小时后提供。 例如,UTC 时间 2019-01-01 的数据可在 UTC 时间 2019-01-02 08:00 之后获得。

您可以与您选择的移动测量合作伙伴(MMP)分享用户层级和 impression 层级的广告收入数据,例如 Adjust、AppsFlyer、GameAnalytics 或 Singular,支持所有受支持的 network。 您还可以在客户端访问 impression 层级的用户收入数据。 您可以在 SDK 集成指南 > Platform > 概览 > 高级设置中阅读更多相关信息。

每当记录到 MAX impression 时,MAX 都会通过服务器到服务器(S2S)Impression Revenue API 将数据发送到您选择的追踪 URL。 有关更多信息,请参阅 S2S impression-level API 文档页面。

请求格式

您必须进行认证才能使用此 API。 为此,请将 URL 参数 api_key 的值设置为您的 Report Key。

目标 URL

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»

请求参数

名称说明示例
aggregatedAPI 是否应聚合数据(按用户)或不聚合(按 impression)。默认为 true。false
api_keyReport Key,用于认证。tgCe3d7SFRU0S…304ZKs6ba
application应用包名(适用于 Android)或 bundle ID(适用于 iOS)。(如果定义了 store_id,则无法使用此参数)com.mycompany.application
date1要返回数据的日期,格式为 «YYYY»-«MM»-«DD»。2019-02-06
platform应用平台:android、fireos 或 ios。android
store_idiOS 上 iTunes ID 的数字部分,或 Android 上的应用包名。如果您不知道 iTunes ID,请改用 bundle ID。如果定义了 application,则无法使用此参数。1207472156

1 此 API 的请求窗口为 45 天。 请确保日期参数在过去 45 天内。

响应格式

响应体

{
  "status": 200,
  "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"
}

响应参数

名称说明
ad_revenue_report_url包含所有收入(包括预估 Meta Audience Network Bidding 数据)的 CSV 文件位置。
status请求状态:如果可以访问用户报告,则为 200。

用户层级收入数据 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

字段

名称说明
Ad FormatINTER、BANNER、REWARD(仅限非聚合)。
Ad Placement展示广告的外部广告 network 的 placement ID(仅限非聚合)。
Ad Unit ID产生收入的 MAX 广告单元 ID。
Ad Unit Name产生收入的 MAX 广告单元名称(仅限非聚合)。
Countryimpression 的两位字母国家/地区代码(仅限非聚合)。
Custom Data从集成中传入的自定义数据。
Dateimpression 的时间(仅限非聚合)。
Device TypePHONE、TABLET(仅限非聚合)。
IDFA广告标识符:iOS 设备为 IDFA,Android 设备为 GAID。
IDFV供应商标识符 (IDFV)。
Impressions向用户展示的广告数量(仅限聚合)。
Network产生 impression 的广告 network。您可以在此表的“Network API Name”列中找到广告 network 的值。(仅限非聚合 ad_revenue_report_url)
Placement用户产生 impression 和收入的广告 placement 名称。
Revenue用户产生的收入,以美元 (USD) 为单位,精确到小数点后六位。
User ID可选的用户 ID,通过 AppLovin SDK 设置。(请参阅下文的“设置内部用户 ID”部分。)
WaterfallMAX 广告单元 waterfall 名称(仅限非聚合)。

设置广告位名称

以下代码片段展示了如何向广告单元添加广告位名称。 广告位名称的值会替换 postback 请求中的 {PLACEMENT} 宏:

    ActionScript

    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    Blueprint

    Ad Unit Identifier. Create Banner: Ad Unit Identifier. Banner Position: Bottom Center. Set Banner Placement: Ad Unit Identifier, Placement: YOUR_BANNER_PLACEMENT.

    C++

    UAppLovinMAX::CreateBanner(«ad-unit-ID», «position»);
    UAppLovinMAX::SetBannerPlacement(«ad-unit-ID», «placement»);
    

    C#

    MaxSdk.CreateBanner(«ad-unit-ID», «position»);
    MaxSdk.SetBannerPlacement(«ad-unit-ID», "«placement»");
    

    Dart

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    GDScript

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.set_banner_placement(«ad-unit-ID», «placement»);
    

    Java

    adViewAd.setPlacement( "«placement»" );
    

    JavaScript (Cordova)

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    JavaScript (React Native)

    AppLovinMAX.createBanner(«ad-unit-ID», «position»);
    AppLovinMAX.setBannerPlacement(«ad-unit-ID», «placement»);
    

    Kotlin

    adView.setPlacement( "«placement»" )
    

    Lua

    applovin.create_banner(«ad-unit-ID», «position»)
    applovin.set_banner_placement(«ad-unit-ID», «placement»)
    

    Objective-C

    adView.placement = @"«placement»";
    [adView loadAd];
    

    Swift

    adView.placement = "«placement»"
    adView.loadAd()
    

设置内部用户 ID

以下代码片段展示了如何使用您自己的内部用户 ID 来标记用户。 用户 ID 字符串的最大长度为 8192 个字符。

AppLovinMAX.setUserId("«user-ID»");

自定义数据

以下代码片段展示了如何向 postback 添加自定义字符串数据。 此字符串数据将替换这些 postback 中的 {CUSTOM_DATA} 宏。 AppLovin 建议您的字符串长度少于 8192 个字符。

您必须在加载 banner 广告或 MREC 广告之前设置自定义数据。 否则,该数据将不会出现在与该广告关联的 postback 中。

    Banners & MRECs

    MaxSdk.SetBannerCustomData("«ad-unit-ID»", "«custom-data»"); // Banners
    MaxSdk.SetMRecCustomData("«ad-unit-ID»", "«custom-data»"); // MRECs
    

    Interstitials

    MaxSdk.ShowInterstitial(«adUnitIdentifier», «placement», «custom data»);
    

    Rewarded ads

    MaxSdk.ShowRewardedAd(«adUnitIdentifier», «placement», «custom data»);
    

    Native ads

    nativeAdLoader.setCustomData( "«custom data»" );
    

search