Adobe AIR のリワード広告インテグレーション
LevelPlay SDK を使用して、イベントリスナーや広告配置設定などの動画リワード広告を Adobe AIR アプリケーションに統合します。
読み終わるまでの所要時間 12 分最終更新 7日前
前提条件
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. 動画広告をユーザーに表示する
広告の可用性
Rewarded Video Listener とその機能を正しく実装することで、levelPlayRewardedAvailable を通じて可用性の状態を受け取ることができます。その後、広告の可用性が変更されると、以下のデリゲート機能で通知されます。
private function levelPlayRewardedAvailable(event:Event):void { }
以下の行で、DataEventオブジェクトからRewarded Videoの可用性を確認します。
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 {}
Capping & Pacing (キャッピングとペーシング)
LevelPlay の広告プレースメントに加えて、選択したプレースメントの上限とペーシングを設定できるようになりました。制限とペーシングは、定義された期間内に配信される広告の量を制限することで、アプリケーションのユーザー エクスペリエンスを向上させます。
リワード型動画に上限設定とペーシング ツールを使用することを選択した場合は、次のメソッドを呼び出して、特定の配置が広告の制限に達しているかどうかを確認することをお勧めします。これは、配置に上限やペースが設定されている場合に動画リワードボタンが表示されず、動画広告が配信されないようにするためです。
var isPlacementCapped:ブーリアン = Ironsource.instance.isRewardedVideoPlacementCapped(YOUR_配置_NAME);
Dynamic UserId
動的ユーザー ID は AdRewarded トランザクションを検証するパラメーターで、セッション全体を通じて変更できます。このパラメーターは、サーバー間の広告リワード コールバックを通じて受信され、showRewardedVideo を呼び出す前に設定する必要があります。
- 文字列 値は 1 ~ 64 文字の英数字でなければなりません
- コールバックURLで報酬の詳細とともにパラメーターを受け取ります。
dynamicUserId
IronSource.instance.setDynamicUserId(id);
ステップ 3. ユーザーの報酬
ironsource SDK は、ユーザーがビデオを正常に視聴するたびに levelPlayRewardedOnAdRewarded イベントを発生させます。levelPlayRewardedVideoListener はこのイベントを受け取るために配置され、ユーザーに正常に報酬を与えることができます。
DataEvent オブジェクトから Reward データを抽出するには、次の手順に従います。
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 イベントは非同期です。levelPlayRewardedAdClosed イベント後に levelPlayRewardedOnAdRewarded が発生した場合でもゲーム内報酬を付与するようにリスナーを設定してください。
private function levelPlayRewardedOnAdRewarded(event:Event):void {}
- LevelPlay アカウントのデフォルト設定では、アプリケーションのクライアント内で levelPlayRewardedOnAdRewarded コールバックを使用して、ユーザーの完了/ゲーム内報酬を通知します。さらに、バック終了サーバーへの通知も受信したい場合は、サーバー間のコールバックをオンにできます。
- サーバー間のコールバックをオンにする場合は、同じ完了に対してユーザーに複数回報酬を与えないように注意してください。クライアント側のコールバックとサーバー間のコールバックの両方が発生するため、完了ごとに 2 つの通知を受け取ります。
これで、アプリケーションでリワード型ビデオを配信する準備が整いました。
次のステップ
インテグレーションガイドに従って、メディエーションプラットフォームに追加の動画リワード広告ネットワークを実装するか、追加の広告ユニットを設定します。