APS 集成(legacy)
通过设置广告位、在 LevelPlay 平台上配置 APS 并将 APS 适配器添加到构建中来整合 Amazon Publisher 服务(APS)。
阅读时间8 分钟最后更新于 2 天前
先决条件
Amazon 发布者服务 (APS) 是一个仅限邀请的计划。要集成 APS,您需要集成和初始化 LevelPlay SDK 和 APS SDK。确保执行以下详细说明的完整集成流程,以便在应用程序中显示 APS 广告服务。
步骤 1.创建 APS 帐户
- 联系 APS 以设置app程序的帐户。要创建 APS 帐户,请访问 APS 网站,选择 联系我们 并提出申请。
- 如果您的 APS 请求获得批准,您将收到一个邀请链接,用于在 APS 中注册和创建帐户。
- 在 LevelPlay 中设置 APS 之前,必须完成上述步骤。
步骤 2.在 APS 网络中设置席位
- 从 apps 菜单中选择正确的应用程序并选择 setup
- 选择 IronSource LevelPlay 作为 Monetization 服务设置菜单
- 添加字段并为每个字段定义:
- Name(名称)
- 广告大小
- 价格点(自动/手动)
- 完成添加所有字段并获取凭据:
- 获取 app ID
- 下载价格点 CSV 文件
步骤 3.激活 APS 网络
在 ironSource 平台中,访问 SDK Networks 设置以将 APS 参数配置为 LevelPlay 帐户。
- 获得上述凭据后,登录 LevelPlay 帐户,然后选择 Monetize > Setup > SDK Networks
- 从 Available Networks 的表中选择 APS,然后选择 Activate。

- 从广告网络列表中选择 APS,然后选择 Setup。

- 输入您的 APS app ID 并按原样上传 CSV 文件。

步骤 4.将 APS 适配器添加到构建中
Cocoapods
要将 APS SDK 与 Cocoapods 集成,请在 pod 文件中输入以下行,即可开始使用!
pod 'IronSourceAPSAdapter','4.3.20.0'
步骤 5。更新 SKAdNetworkItems 和 Info.plist
务必使用以下代码将 APS SKAdNetworkItems 定义为 Info.plist:
<key>SKAdNetworkItems</key><array><dict><key>SKAdNetworkIdentifier</key><string>p78axxw29g.skadnetwork</string></dict></array>
步骤 6。Init APS SDK
APS 网络要求初始化 ironSource 和 APS SDK 以显示 APS 广告服务。
在打开应用程序后以及在初始化 LevelPlay SDK 之前,立即初始化 APS SDK。使用 APS 设置的步骤 2 中定义的 APS app ID。
#import <DTBiOSSDK/DTBiOSSDK.h>- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { } [[DTBAds sharedInstance] setAppKey: @"APS_app_id"]; return YES;}
加载横幅/MREC 广告服务
-
在每个 IronSource 广告单元加载之前调用宽度为 320 或 728 的 APS 横幅广告请求。创建加载广告请求时使用 Slot UUID。
-
APS iOS SDK 5.0.1+:DTBAdSize *大小 = [[DTBAdSize alloc] initBannerAdSizeWithWidth:320 height:height andSlotUUID:slotUID]; DTBAdNetworkInfo *adNetworkInfo = [[DTBAdNetworkInfo alloc] initWithNetworkName:DTBADNETWORK_Unity_levelPLAY];DTBAdLoader *loader = [[DTBAdLoader alloc]initWithAdNetworkInfo:adNetworkInfo];[adLoader setSizes:size, nil]; [adLoader loadAd:self];
-
APS iOS SDK 低于 5.0.1:DTBAdSize *大小 = [[DTBAdSize alloc] initBannerAdSizeWithWidth:320 height:height andSlotUUID:slotUID];DTBAdLoader *adLoader = [DTBAdLoader new];[adLoader setSizes:size, nil];[adLoader loadAd:self];
-
-
如果成功加载了 APS 广告,请与 ironSource 共享广告数据。这应该包括以下参数:
- 出价信息:显示 Amazon 广告所需的信息
- Price Point 编码:从 APS 返回的获胜广告价格
- UUID:插槽唯一标识符
- Width:横幅宽度
- Height:横幅高度
- (void)onSuccess:(DTBAdResponse *)adResponse{ NSString* amznPricePoint = [adResponse amznSlots]; NSDictionary* mediationHints = [adResponse mediationHints]; NSNumber* width = [NSNumber numberWithInt:adSize.width]; SNumber* height = [NSNumber numberWithInt:adSize.height]; NSDictionary* bannerData = @{@"uuid":slotUUID, @"width":width, @"height":height, @"pricePointEncoded":amznPricePoint, @"mediationHints":mediationHints}; NSDictionary* apsData = @{IS_BANNER:bannerData}; [IronSource setNetworkDataWithNetworkKey:@"APS" andNetworkData:apsData];}如果 APS 未返回填充,请调用 LevelPlay 的加载横幅方法。 -
加载 ironSource 横幅广告。在此处了解更多信息。
加载插页式广告服务
-
在每次加载 ironSource 广告单元之前调用 APS 插页式广告请求。创建加载广告请求时使用 Slot UUID。 APS iOS SDK 5.0.1+:DTBAdSize *size = [[DTBAdSize alloc] initInterstitialAdSizeWithSlotUUID:slotUUID]; DTBAdNetworkInfo *adNetworkInfo = [[DTBAdNetworkInfo alloc] initWithNetworkName:DTBADNETWORK_Unity_levelPLAY];DTBAdLoader *loader = [[DTBAdLoader alloc]initWithAdNetworkInfo:adNetworkInfo];[adLoader setSizes:size, nil]; [adLoader loadAd:self];APS iOS SDK 低于 5.0.1:DTBAdSize *size = [[DTBAdSize alloc] initInterstitialAdSizeWithSlotUUID:slotUUID];DTBAdLoader *adLoader = [DTBAdLoader new];[adLoader setSizes:size, nil];[adLoader loadAd:self];LevelPlay 从 APS 适配器 4.3.3 开始支持 APS 插页式视频广告服务。要加载插页式视频,请调用以下方法:如果 app 处于纵向模式:
-
APS iOS SDK 5.0.1+:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:320 height:480 andSlotUUID:slotUID];DTBAdNetworkInfo *adNetworkInfo = [[DTBAdNetworkInfo alloc] initWithNetworkName:DTBADNETWORK_Unity_levelPLAY];DTBAdLoader *loader = [[DTBAdLoader alloc]initWithAdNetworkInfo:adNetworkInfo];[adLoader setSizes:size, nil]; [adLoader loadAd:self];
-
APS iOS SDK 低于 5.0.1:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:320 height:480 andSlotUUID:slotUID];DTBAdLoader *adLoader = [DTBAdLoader new];[adLoader setSizes:size, nil];[adLoader loadAd:self];
如果 app 处于横向模式:-
APS iOS SDK 5.0.1+:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:480 height:320 andSlotUUID:slotUID];DTBAdNetworkInfo *adNetworkInfo = [[DTBAdNetworkInfo alloc] initWithNetworkName:DTBADNETWORK_Unity_levelPLAY];DTBAdLoader *loader = [[DTBAdLoader alloc]initWithAdNetworkInfo:adNetworkInfo];[adLoader setSizes:size, nil]; [adLoader loadAd:self];
-
APS iOS SDK 低于 5.0.1:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:480 height:320 andSlotUUID:slotUID];DTBAdLoader *adLoader = [DTBAdLoader new];[adLoader setSizes:size, nil];[adLoader loadAd:self];
-
-
如果成功加载了 APS 广告,请与 ironSource 共享广告数据。这应该包括以下参数:
-
出价信息:显示 Amazon 广告所需的信息
-
Price Point 编码:从 APS 返回的获胜广告价格
-
UUID:插槽唯一标识符- (void)onSuccess:(DTBAdResponse *)adResponse{ //svt on onSuccess NSString* amznPricePoint = [adResponse amznSlots]; NSDictionary* mediationHints = [adResponse mediationHints]; NSDictionary* isData = @{@"uuid":slotUUID, @"pricePointEncoded":amznPricePoint, @"mediationHints":mediationHints}; NSDictionary* apsData = @{IS_INTERSTITIAL:isData}; [IronSource setNetworkDataWithNetworkKey:@"APS" andNetworkData:apsData];}如果 APS 未返回填充,则调用 LevelPlay 的加载 Interstitial 方法。
-
-
加载 ironSource 插页式广告。在此处了解更多信息。
奖励广告
APS 集成因您在 app 中实现的奖励广告服务运营模式而异。
- 手动加载模式:这是与 APS 集成的推荐设置。这将要求您在每次加载奖励广告之前调用 APS 广告请求。
- 奖励广告服务默认模式(自动):使用 LevelPlay 默认模式显示奖励广告服务时,需要在初始化 LevelPlay SDK 和初始化 APS SDK 之前加载第一个 APS 广告。此外,我们建议在每次显示之前调用下一个 APS 加载请求,从而影响下一个瀑布流请求。
加载奖励广告服务
-
在每次加载 IronSource 广告单元之前(或在展示之前,在自动模式下)调用 APS 奖励广告请求。创建加载广告请求时使用 Slot UUID。如果 app 处于纵向模式:
-
APS iOS SDK 5.0.1+:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:320 height:480 andSlotUUID:slotUID];DTBAdNetworkInfo *adNetworkInfo = [[DTBAdNetworkInfo alloc] initWithNetworkName:DTBADNETWORK_Unity_levelPLAY];DTBAdLoader *loader = [[DTBAdLoader alloc]initWithAdNetworkInfo:adNetworkInfo];[adLoader setSizes:size, nil]; [adLoader loadAd:self];
-
APS iOS SDK 低于 5.0.1:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:320 height:480 andSlotUUID:slotUID];DTBAdLoader *adLoader = [DTBAdLoader new];[adLoader setSizes:size, nil];[adLoader loadAd:self];
如果 app 处于横向模式:-
APS iOS SDK 5.0.1+:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:480 height:320 andSlotUUID:slotUID];DTBAdNetworkInfo *adNetworkInfo = [[DTBAdNetworkInfo alloc] initWithNetworkName:DTBADNETWORK_Unity_levelPLAY];DTBAdLoader *loader = [[DTBAdLoader alloc]initWithAdNetworkInfo:adNetworkInfo];[adLoader setSizes:size, nil]; [adLoader loadAd:self];
-
APS iOS SDK 低于 5.0.1:DTBAdSize *大小 = [[DTBAdSize alloc] initVideoAdSizeWithPlayerWidth:480 height:320 andSlotUUID:slotUID];DTBAdLoader *adLoader = [DTBAdLoader new];[adLoader setSizes:size, nil];[adLoader loadAd:self];
-
-
如果成功加载了 APS 广告,请与 ironSource 共享广告数据。这应该包括以下参数:
- 聚合提示:显示 Amazon 广告所需的信息
- Price Point 编码:从 APS 返回的获胜广告价格
- UUID:插槽唯一标识符
- (void)onSuccess:(DTBAdResponse *)adResponse{ NSString* amznPricePoint = [adResponse amznSlots]; NSDictionary* mediationHints = [adResponse mediationHints]; NSDictionary* rvData = @{@"uuid":slotUUID, @"pricePointEncoded":amznPricePoint, @"mediationHints":mediationHints}; NSDictionary* apsData = @{IS_REWARDED_VIDEO:rvData}; [IronSource setNetworkDataWithNetworkKey:@"APS" andNetworkData:apsData];}
如果 APS 未返回填充,请调用 LevelPlay 的加载奖励方法。
您现在可以在应用程序中交付 APS 需求。
后续步骤
要通过 LevelPlay 利用其他广告网络,请集成网络适配器并按照我们的集成指南进行操作。