AppLovin Support

S2S 展示收益 API

展示层级收入数据能帮助您更好地理解用户,精准计算 ROI,并打造精确的 LTV 模型。 对于受支持的广告变现网络,MAX 会为您提供每个展示的数据,包括收入、变现渠道和素材信息。

您可以直接自行处理此数据。 您还可以让任何 AppLovin 支持的数据分析提供商对数据进行分析 (您可以在本页的 MMP 集成:MAX 到 MMP 部分查看这些服务商的列表)。

直接集成:MAX 到您

您可以通过以下三种方式获取用户层级收入数据:

  1. 用户收入 API: 使用该 API 调取每日用户层级收入数据。 您可以用两种形式导出这些数据:汇总某个特定用户的数据,或以每次展示一行的形式导出。 数据会在 UTC 当日结束 8 小时后提供。 要了解更多信息,请参阅用户收入 API 文档页面
  2. 客户端: 您可以在客户端实时访问展示层级用户收入数据。 您可以在本文档中找到 AndroidiOS 的集成说明。
  3. Server-to-Server: 您也可以在服务器端访问实时收入数据。 为此,请提供一个追踪展示层级用户广告收入数据的展示 postback。 请联系您的客户团队或支持团队以启用此功能。 此功能以及展示 postback 支持的宏将在本页的“服务器到服务器展示收益 API”部分中进行介绍。

MMP 集成:MAX 到 MMP

MAX 拥有多位分析合作伙伴,他们可以帮助您在一个控制面板中访问您的所有数据。 您可以与任何 AppLovin 支持的合作伙伴合作,获取展示层级广告收入或汇总广告收入数据。 这些受支持的合作伙伴包括 AdjustGameAnalyticsAppsFlyerSingular。 如需了解这些合作伙伴的能力,请参阅他们维护的文档页面。

服务器到服务器展示收益 API

请联系您的客户团队或支持团队以启用此功能。

AppLovin 的服务器可以向外部终端发送 postback,只要它们记录到 MAX 展示。 您可以定义接收这些请求的终端。 postback 采用 HTTP 或 HTTPS GET 请求的形式。 AppLovin 会在展示后不久发送这些 postback,但可能会延迟几分钟。 您可以使用展示时间戳宏来调和展示时间与 postback 时间之间的任何延迟。

如果 5 秒后您的终端没有做出响应,postback 请求就会超时。 postback 请求不可重试。

示例

https://myimpressionserver.com/impression?idfa={IDFA}&user_id={USER_ID}&event={EVENT_ID}&token={EVENT_TOKEN}

可用宏

您可以将下表中的任意宏加入到您的 postback URL 中。 上述示例 URL 中包含 {IDFA}{USER_ID}{EVENT_ID}{EVENT_TOKEN} 宏。 当 AppLovin 服务器向您的终端发出请求时,这些宏名称会被替换为准确的值。

名称描述
{AD_UNIT_ID}MAX 广告单元 ID (16 位十六进制字符)

示例: 9ad0816ac071552a
{AD_UNIT_NAME}广告单元名称 (URL 编码)

示例: My%20App%20Banners
{AD_UNIT_TEST_NAME}广告单元测试名称,URL 编码

示例: Control
{ALL_REVENUE}预估收益,包括 FB Bidding 预估值

示例: 0.0121, 5.74466e-05
{CC}用户的两位国家/地区代码

示例: gb
{CUSTOM_DATA}从集成中传入的自定义数据 (URL 编码)。AppLovin 建议您将字符串大小保持在 8192 个字符以下。如果包含此宏,则自定义数据中不得包含和号 (&) 字符。

示例: my%20custom%20data
{DEVICE_TYPE}用户的设备类型。

示例: Tablet
{EVENT_ID}唯一事件 ID,36 位字符的 UUID

示例: a7c3e1b2-4f59-4d8a-9c21-8e6b0f3a1d47
{EVENT_TOKEN}sha1( «event-ID» + «your-event-key» )

示例: e000949f6d851c1f34adae08e6ef1076ba43cf31
{EVENT_TOKEN_ALL}sha256( «按字母顺序排列的所有宏原样,进行 URL 解码» + «your-event-key» )

注意: 如果 EVENT_TOKEN 是您的宏之一,请将其从“按字母顺序排列的所有宏”字符串中省略。

示例: eba615583ed59bc679a495…ff6be5f218702a97a
{FORMAT}广告单元格式

示例: reward, banner, inter
{IDFA}iOS IDFA 或 Google Advertising ID

示例: 860635ea-65bc-eaed-d355-1b5283b30b94
{IDFV}Identifier for Vendor

示例: 4CD1C3C4-3FD7-00F5-1635-7BC6D9387E60
{IP}用户的 IP 地址。(IPv6 值已进行 URL 编码)

示例: 162.1.1.1, fe80%3A%3A1ff%3Afe23%3A4567%3A890a%0A
{NETWORK}展示广告的广告变现网络名称。名称应与 Management API 中使用的名称一致。

示例: APPLOVIN_NETWORK
{NETWORK_PLACEMENT}外部广告变现网络的广告位名称

示例: ca-app-pub-12345678%2F0987654321
{PACKAGE_NAME}应用包名 (Android) 或 Bundle ID (iOS)。URL 编码。

示例: com.test.app
{PLACEMENT}发布商定义的 MAX 广告位名称 (URL 编码)

示例: Launch%20Screen
{PLATFORM}平台

示例: android, ios
{PRECISION}关于收益值精确度的信息。选项包括:
publisher_defined
如果收益是发布商分配给 line item 的价格
exact
如果收益是实时竞价的结果价格
estimated
如果收益金额基于 Auto-CPM 或 FB Bidding 预估值
undefined
如果未定义 line item 金额且没有足够的数据进行预估

示例: exact
{REVENUE}预估收益。在进行 FB Bidding 时设为 0

示例: 0.0121, 5.74466e-05
{TS}展示时间戳 (整数,自 epoch 以来的秒数)

示例: 1546300800
{USER_ID}发布商定义、URL 编码的用户 ID;最大长度为 8192 个字符

示例: 7634657898
{WATERFALL_NAME}广告单元 waterfall 的名称

示例: LAT

设置广告位名称

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

    ActionScript

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

    Blueprint

    广告单元标识符。创建横幅:广告单元标识符。横幅位置:底部居中。设置横幅广告位:广告单元标识符,广告位: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 来标记用户。 User ID 字符串的最大长度为 8192 个字符。

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

设置自定义数据

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

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

    横幅和 MREC

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

    插屏

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

    激励广告

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

    原生广告

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

search