APS 集成(legacy)
将 Amazon Publisher Services (APS) 设置为 Unity LevelPlay 上的广告网络,包括配置和帐户设置。
阅读时间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 Unity 插件
- 从 APS 网站下载 APS Unity 插件。
- 确保打开 Unity 项目并导入软件包。
- 在 Unity 菜单栏中,选择 Amazon,然后选择 Manage SDK 以打开 Amazon SDK Manager。

- 安装 ironSource 适配器,然后导入 Unity 软件包。

Unity Network Manager(推荐)
完成 SDK 集成后,使用 Unity Network Manager 添加 APS 适配器。
在 Unity 开发平台中,转到广告服务聚合>集成管理器
如果您已经拥有最新版本的适配器,则操作按钮将更改为 " Updated " 并已禁用。
步骤 6。Init APS SDK
APS 网络要求初始化 LevelPlay 和 APS SDK 以显示 APS 广告服务。
在打开应用程序后以及在初始化 LevelPlay SDK 之前,立即初始化 APS SDK。使用 APS 设置的步骤 2 中定义的 APS app ID。
Amazon.Initialize(amazonApiKey);
步骤 7。与 LevelPlay 聚合共享每个广告的 APS 出价信息
加载每个广告之前,请调用 APS API 以获取 LevelPlay SDK 加载广告所需的加载信息。
以下是必需的步骤:
- 在每个 LevelPlay 广告单元加载之前加载 APS 广告请求。
- 调用 SetNetworkData 与 LevelPlay 共享 APS 出价信息。
- 使用 LevelPlay 聚合 API 加载相关的广告单元。
加载横幅/MREC 广告服务
-
在每个 ironSource 广告单元加载之前调用 APS 横幅广告请求。
-
如果成功加载了 APS 广告,请与 LevelPlay 聚合共享广告数据:
- 这应该包括以下参数:APS ironSource 网络密钥、Amazon 返回的出价和字段唯一标识符
- 通过调用 loadBanner() 方法加载横幅。
-
APS Unity 插件 2.0.0+:
AdNetworkInfo adNetworkInfo = new AdNetworkInfo(ApsAdNetwork.UNITY_LEVELPLAY);APSBannerAdRequest bannerAdRequest = new APSBannerAdRequest(width, height, amazonBannerSlotId, adNetworkInfo); bannerAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadBanner(IronSourceBannerSize.BANNER, IronSourceBannerPosition.BOTTOM); }; bannerAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetBannerNetworkData(amazonBannerSlotId, adResponse)); IronSource.Agent.loadBanner(IronSourceBannerSize.BANNER, IronSourceBannerPosition.BOTTOM); }; bannerAdRequest.LoadAd();
- 2.0.0 版以下的 APS Unity 插件:
私有变量 APSBannerAdRequest bannerAdRequest;bannerAdRequest = new APSBannerAdRequest(width, height, amazonBannerSlotId); bannerAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadBanner(IronSourceBannerSize.BANNER, IronSourceBannerPosition.BOTTOM); }; bannerAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetBannerNetworkData(amazonBannerSlotId, adResponse)); IronSource.Agent.loadBanner(IronSourceBannerSize.BANNER, IronSourceBannerPosition.BOTTOM); }; bannerAdRequest.LoadAd();
如果 APS 未返回填充,请调用 LevelPlay 的 loadBanner()。
加载插页式广告服务
-
在每次加载 ironSource 广告单元之前调用 APS 插页式广告请求。APS 将返回出价或返回无填充。
-
如果成功加载了 APS 广告,请与 LevelPlay 聚合共享广告数据:
- 这应该包括以下参数:APS IronSource 网络密钥、Amazon 返回的出价和广告位唯一标识符
- 通过调用 loadInterstitial() 方法加载间隙。
-
APS Unity 插件 2.0.0+:
AdNetworkInfo adNetworkInfo = new AdNetworkInfo(ApsAdNetwork.UNITY_LEVELPLAY);APSInterstitialAdRequest interstitialVideoAdRequest = new APSInterstitialAdRequest(amzonInterstitialSlotId, adNetworkInfo); interstitialAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetInterstitialNetworkData(amzonInterstitialSlotId, adResponse)); IronSource.Agent.loadInterstitial(); };interstitialAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadInterstitial(); Debug.Log("onFailedWithError interstitial:" + adError); };interstitialAdRequest.LoadAd();
- 2.0.0 版以下的 APS Unity 插件:
私有变量 APSInterstitialAdRequest interstitialAdRequest;interstitialAdRequest = new APSInterstitialAdRequest(amzonInterstitialSlotId); interstitialAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetInterstitialNetworkData(amzonInterstitialSlotId, adResponse)); IronSource.Agent.loadInterstitial(); };interstitialAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadInterstitial(); Debug.Log("onFailedWithError interstitial:" + adError); };interstitialAdRequest.LoadAd();
如果 APS 未返回填充,请调用 LevelPlay 的 loadInterstitial()。
LevelPlay 从 APS 适配器 4.3.2 开始支持 APS 插页式视频广告服务。要加载插页式视频,请创建 APS AdRequest:
- APS Unity 插件 2.0.0+:
AdNetworkInfo adNetworkInfo = new AdNetworkInfo(ApsAdNetwork.UNITY_LEVELPLAY);APSVideoAdRequest interstitialVideoAdRequest = new APSVideoAdRequest(320, 480, amazonInterstitialVideoSlotId, adNetworkInfo); interstitialVideoAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetInterstitialNetworkData(amazonInterstitialVideoSlotId, adResponse)); IronSource.Agent.loadInterstitial(); }; interstitialVideoAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadInterstitial(); }; interstitialVideoAdRequest.LoadAd();
- 2.0.0 版以下的 APS Unity 插件:
私有变量 APSVideoAdRequest interstitialVideoAdRequest;interstitialVideoAdRequest = new APSVideoAdRequest(320, 480, amazonInterstitialVideoSlotId); interstitialVideoAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetInterstitialNetworkData(amazonInterstitialVideoSlotId, adResponse)); IronSource.Agent.loadInterstitial(); }; interstitialVideoAdRequest.onFailedWithError += (adError) => { IronSource.Agent.loadInterstitial(); }; interstitialVideoAdRequest.LoadAd();
奖励广告
APS 集成因您在 app 中实现的奖励广告服务运营模式而异。
- 手动加载模式:这是与 APS 集成的推荐设置。这将要求您在每次加载奖励广告之前调用 APS 广告请求。
- 奖励广告服务默认模式(自动):使用 LevelPlay 默认模式显示奖励广告服务时,需要在初始化 LevelPlay SDK 和初始化 APS SDK 之前加载第一个 APS 广告。此外,我们建议在每次显示之前调用下一个 APS 加载请求,从而影响下一个瀑布流请求。
加载奖励广告服务
- 在每个 LevelPlay 广告单元加载之前(或在展示之前,在自动模式下)调用 APS 奖励广告请求。创建加载广告请求时使用 Slot UUID。
- 如果成功加载了 APS 广告,请与 LevelPlay 聚合共享以下广告数据:
- APS IronSource 网络密钥、Amazon 返回的出价和广告位唯一标识符
- 如果 APS 未返回任何填充,则会触发 onFailedWithError() 回调。
- APS Unity 插件 2.0.0+:
AdNetworkInfo adNetworkInfo = new AdNetworkInfo(ApsAdNetwork.UNITY_LEVELPLAY);APSVideoAdRequest rewardedVideoAdRequest = new APSVideoAdRequest(320, 480, amazonRewardedVideoSlotId, adNetworkInfo);rewardedVideoAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetRewardedNetworkData(amazonRewardedVideoSlotId, adResponse)); IronSource.agent.loadRewardedVideo(); // 如果采用手动奖励模式 }; interstitialVideoAdRequest.onFailedWithError += (adError) => { IronSource.agent.loadRewardedVideo(); // 如果采用手动奖励模式}; rewardedAdRequest.LoadAd();
- 2.0.0 版以下的 APS Unity 插件:
public void RequestRewardedVideo(){ rewardedVideoAdRequest = new APSVideoAdRequest(320, 480, amazonRewardedVideoSlotId); rewardedVideoAdRequest.onSuccess += (adResponse) => { IronSource.Agent.setNetworkData(APSMediationUtils.APS_IRON_SOURCE_NETWORK_KEY, APSMediationUtils.GetRewardedNetworkData(amazonRewardedVideoSlotId, adResponse)); IronSource.agent.loadRewardedVideo(); // 如果采用手动奖励模式 }; interstitialVideoAdRequest.onFailedWithError += (adError) => { IronSource.agent.loadRewardedVideo(); // 如果采用手动奖励模式 }; rewardedAdRequest.LoadAd();}
您现在可以在应用程序中交付 APS 需求。
后续步骤
要通过 LevelPlay 利用其他广告网络,请集成网络适配器并按照我们的集成指南进行操作。