跳转到内容

S2S 展示收益 API

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

您可以直接自行处理这些数据,也可以联系任何一个我们支持的数据分析服务提供商。要查看此类提供商的列表,请前往本页的MMP 集成: MAX 到 MMP 部分。

将 MAX 接入您的应用

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

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

MMP 集成:MAX 到 MMP

MAX 拥有多位数据分析合作伙伴,能帮您在单个控制面板中轻松访问所有数据。您可以选择与我们支持的任何伙伴合作,访问展示层级广告收入或汇总的广告收入数据。受支持的合作伙伴包括 AdjustGameAnalyticsAppsFlyerSingular。要了解这些合作伙伴的更多解决方案和功能,请参阅由他们维护的文档页面。

服务器端到服务器端展示收入 API

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

每次 MAX 记录到展示时,AppLovin 的服务器就可以向外部终端发送回调。您可以指定接收这些请求的终端。回调采用 HTTP 或 HTTPS GET 请求的形式。AppLovin 会在展示后立即发送回调,但也可能发生几分钟的延迟。您可以使用展示时间戳宏,弥合展示与回调时间之间的延迟。

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

示例

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

可用宏

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

名称描述
{AD_UNIT_ID}MAX ad unit ID (16 位十六进制字符)

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

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

示例: Control
{ALL_REVENUE}估算收入,包括 FB 竞价的估算收入

示例: 0.01215.74466e-05
{CC}用户国家/地区代码 (两个字母)

示例: gb
{CUSTOM_DATA}从集成传入的自定义数据 (URL 编码)。AppLovin 建议字符串的长度不要超过 8192 个字符。如果您加入了此宏,那么自定义数据中就不能包含与号 ( &)。

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

示例: Tablet
{EVENT_ID}唯一事件 ID (40 位十六进制字符)

示例: 8dc948013d71f04264b8e5c1c61933154b226e08
{EVENT_TOKEN}sha1( «event-ID» + «your-event-key» )

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

请注意: 如果您的宏中包含 EVENT_TOKEN,请在按字母顺序排列所有宏的字符串时将其省略。

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

示例: rewardbannerinter
{IDFA}iOS IDFA 或 Google 广告 ID

示例: 860635ea-65bc-eaed-d355-1b5283b30b94
{IDFV}供应商标识符

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

示例: 162.1.1.1fe80%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 编码。
{PLACEMENT}开发者定义的 MAX 广告位名称 (URL 编码)

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

示例: androidios
{PRECISION}有关收入值精确度的信息。选项如下:
publisher_defined
如果收入是由开发者为该广告分层指定的价格
exact
如果收入是实时竞价所得的最终价格
estimated
如果收入金额基于 Auto CPM 或 FB 估算
undefined
如果没有为广告分层定义金额,且数据不足以进行估算

示例: exact
{REVENUE}估算收入。FB 竞价时设置为 0

示例: 0.01215.74466e-05
{TS}展示时间戳 (整数,UNIX 时间秒数)

示例: 1546300800
{USER_ID}开发者定义的、经过 URL 编码的用户 ID;长度不超过 8192 个字符

示例: 7634657898
{WATERFALL_NAME}广告单元瀑布流的名称

示例: LAT

设置广告位名称

下面的代码片段展示了如何向广告单元添加广告位名称。 广告位名称的值会替换回调请求中的 {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 来标记用户。 User ID 字符串的长度上限为 8192 个字符。

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

设置自定义数据

以下代码片段展示了如何向回调添加自定义字符串数据。 该字符串数据将替换回调中的 {CUSTOM_DATA} 宏。 AppLovin 建议字符串不要超过 8192 个字符。

横幅和 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»" );