Adobe AIR 的奖励广告服务集成
使用 LevelPlay SDK(包括事件监听器和广告放置/位置配置)将奖励视频广告集成到 Adobe AIR 应用程序中。
阅读时间8 分钟最后更新于 2 天前
先决条件
确保已正确集成 ironSource Adobe AIR 插件。此处概述了集成。
步骤 1.实现奖励视频监听器
ironSource AIR 插件会触发多个事件来通知您广告的可用性。要监听任何事件,请调用以下方法:
IronSource.instance.addEventListener( "EventName", functionToCall );
- EventName 是包含要监听的事件的字符串。
- functionToCall 是在触发事件时要调用的函数。
插件将通知监听器以下列出的所有可能事件:
IronSource.instance.addEventListener("levelPlayRewardedAvailable", levelPlayRewardedAvailable);IronSource.instance.addEventListener("levelPlayRewardedAdUnavailable", levelPlayRewardedAdUnavailable);IronSource.instance.addEventListener("levelPlayRewardedAdOpened", levelPlayRewardedAdOpened);IronSource.instance.addEventListener("levelPlayRewardedOnAdRewarded", levelPlayRewardedOnAdRewarded);IronSource.instance.addEventListener("levelPlayRewardedAdShowFailed", levelPlayRewardedAdShowFailed);IronSource.instance.addEventListener("levelPlayRewardedVideoAdClicked", levelPlayRewardedVideoAdClicked);IronSource.instance.addEventListener("levelPlayRewardedAdClosed", levelPlayRewardedAdClosed);
插件将通知监听器以下列出的所有可能事件:
private function levelPlayRewardedAdOpened(event:Event):void { //level Play Rewarded Ad Opened}private function levelPlayRewardedOnAdRewarded(event:Event):void { //level Play Rewarded On Ad Rewarded}private function levelPlayRewardedAdShowFailed(event:Event):void { //level Play Rewarded Ad Show Failed}private function levelPlayRewardedVideoAdClicked(event:Event):void { //level Play Rewarded Video Ad Clicked}private function levelPlayRewardedAdClosed(event:Event):void { //level Play Rewarded Ad Closed}private function levelPlayRewardedAdUnavailable(event:Event):void { //level Play Rewarded Ad Unavailable}private function levelPlayRewardedAvailable(event:Event):void { //level Play Rewarded Available}
Ironsource 提供了一种报错代码机制,可帮助您了解在集成或实际生产过程中可能运行的错误。按如下方式从 DataEvent 对象中提取报错数据:
var errorCode:String;var errorDescription:String; if(event.data){ var error:Object = JSON.parse(event.data); errorDescription = error.error_description; errorCode = error.error_code;}
请参阅此处关于 ironSource 报错代码的完整描述。
步骤 2.向用户显示视频广告
广告可用性
通过正确实现奖励视频监听器及其功能,您可以通过 levelPlayRewardedAvailable 接收可用性状态。然后,在广告可用性发生更改时,您将收到以下委托函数的通知:
private function levelPlayRewardedAvailable(event:Event):void { }
使用以下行检查 DataEvent 对象中的奖励视频可用性:
event.data == “true/false”
或者,您也可以直接调用以下函数来请求广告可用性:
IronSource.instance.isRewardedVideoAvailable()
服务视频广告
广告网络提供可用视频后,即可向用户展示此视频广告。这是插入触发器器以鼓励用户观看视频广告的理想时机。通过在 IronSource 实例上调用 showRewardedVideo() 方法,您可以向用户展示视频广告:
IronSource.instance.showRewardedVideo();
广告位
通过 LevelPlay 的广告位,您可以自定义和优化奖励视频体验。此工具允许您根据奖励情况向用户展示不同广告位的视频。您可以使用以下函数来定义要展示广告的确切放置/位置。
通过在 ironSource 实例上调用 showRewardedVideo() 方法,您可以向用户展示视频广告,并定义要展示广告的确切放置/位置。此放置/位置的奖励设置将从 ironSource 服务器中拉取:
IronSource.instance.showRewardedVideo(YOUR_PLACEMENT_NAME);
要获取与每个广告放置/位置关联的详细信息(例如奖励信息),可以调用以下函数:
function getRewardedVideoPlacementInfo(placementName:String):String {}
封顶和起搏
除了 LevelPlay 的广告位之外,现在还可以为所选广告位配置上限和节奏设置。限制和调整进度可通过限制定义时间范围内的广告服务量来改善 app 中的用户体验。
如果您选择使用奖励视频的上限和节奏工具,我们建议调用以下方法以验证某个放置/位置是否已达到其广告限制。这是为了确保在放置/位置已设置上限或节奏时不会显示奖励视频按钮,因此不会投放视频广告。
var isPlacementCapped:Boolean = IronSource.instance.isRewardedVideoPlacementCapped(YOUR_放置/位置_名称);
动态 UserId
动态 UserID 是用于验证 AdRewarded 交易的参数,并可在整个会话中更改。此参数将通过服务器到服务器的广告奖励回调接收,必须在调用 showRewardedVideo 之前设置。
- 字字符串必须包含 1-64 个字母数角色符
- 您将在回调网址中收到一个 参数以及奖励详细信息。
dynamicUserId
IronSource.instance.setDynamicUserId(id);
步骤 3.奖励用户
ironSource SDK 将在用户每次成功完成视频时触发 levelPlayRewardedOnAdRewarded 事件。levelPlayRewardedVideoListener 将接收此事件,以便您可以成功奖励用户。
按如下方式从 DataEvent 对象中提取奖励数据:
var placementId:String;var placementName:String;var rewardName:String;var rewardAmount:int; if(event.data){ var placement:Object = JSON.parse(event.data); placementId = placement.placement_id; placementName = placement.placement_name; rewardName = placement.placement_reward_name; rewardAmount = parseInt(placement.placement_reward_amount);}
levelPlayRewardedOnAdRewarded 和 levelPlayRewardedAdClosed 事件是异步的。确保设置监听器以授予奖励,即使 levelPlayRewardedOnAdRewarded 在 levelPlayRewardedAdClosed 事件之后被触发也是如此。
private function levelPlayRewardedOnAdRewarded(event:Event):void {}
- LevelPlay 帐户中的默认设置是使用 app 客户端中的 levelPlayRewardedOnAdRewarded 回调来通知您用户完成/奖励。此外,如果还想接收后端服务器的通知,可以启用服务器到服务器的回调。
- 如果启用服务器到服务器回调,请记住不要针对同一完成情况多次奖励用户。我们将触客户端户端回调和服务器到服务器回调,因此每次完成时都会收到两个通知。
您现在可以在应用程序中提供奖励视频。
后续步骤
按照我们的集成指南在我们的聚合平台上实现其他奖励视频广告网络或配置其他广告单位: