Rewarded Video Integration for Unity (Japanese)

 

作業を開始する前に ironSource Unityプラグインと追加のアドネットワークアダプターが、アプリケーションに正しく統合されていることを確認してください。統合に関する説明は、こちらでご覧になれます。

ステップ1. リワードビデオ広告イベントの実装

ironSource Unityプラグインは、配信可能な広告在庫の有無に関する通知を行うために、いくつかのイベントを発生させます。これらのイベントを受け取るには、IronSource/Assets/PrefabsからIronSourceEventsPrefabを見つけ、プロジェクトに追加してください。 次のコードを追加して、イベントに登録します。

public class VideoScript : MonoBehaviour {
  void Start() 
  {
    IronSourceEvents.onRewardedVideoAdOpenedEvent += RewardedVideoAdOpenedEvent;
    IronSourceEvents.onRewardedVideoAdClosedEvent += RewardedVideoAdClosedEvent; 
    IronSourceEvents.onRewardedVideoAvailabilityChangedEvent += RewardedVideoAvailabilityChangedEvent;
    IronSourceEvents.onRewardedVideoAdStartedEvent += RewardedVideoAdStartedEvent;
    IronSourceEvents.onRewardedVideoAdEndedEvent += RewardedVideoAdEndedEvent;
    IronSourceEvents.onRewardedVideoAdRewardedEvent += RewardedVideoAdRewardedEvent; 
    IronSourceEvents.onRewardedVideoAdShowFailedEvent += RewardedVideoAdShowFailedEvent;
  } 
}
プラグインは、発生する可能性のある以下のすべてのイベントをリスナーに通知します。
 //リワードビデオ広告ビューが開かれた際に呼び出されます。
  //アクティビティはフォーカスを失います。動画広告が終了するまで
  //大きなタスクの 実行は避けてください。
  void RewardedVideoAdOpenedEvent() {
  }  
  //リワードビデオ広告ビューが閉じられる際に呼び出されます。
  //アクティビティにフォーカスが戻ります。
  void RewardedVideoAdClosedEvent() {
  }
  //広告在庫の有無に変化があった場合に呼び出されます。
  //@param - available - リワードビデオ広告が配信可能になると値がtrueに変更されます。
  //そのタイミングで、showRewardedVideo()を呼び出して動画を表示することができます。
  //配信可能な動画がない 場合は、値がfalseに変更されます。*
  void RewardedVideoAvailabilityChangedEvent(bool available) {
    //広告在庫の有無に応じて、アプリ内の「トラフィック ドライバー」のステータスを変更します。
    bool rewardedVideoAvailability = available;
  }
  //動画広告の再生が開始されると呼び出されます。
  void RewardedVideoAdStartedEvent() {
  }
  //動画広告の再生が終了すると呼び出されます。
  void RewardedVideoAdEndedEvent() {
  }
  //ユーザーが動画の視聴を完了し、報酬を受けるべき場合に呼び出されます。
  //サーバー間のコールバックを使用している場合は、このイベントを無視し、
  ironSourceサーバーからのコールバックを待つこともできます。
  //@param - placement - 報酬データを含むプレースメントオブジェクト
  void RewardedVideoAdRewardedEvent(IronSourcePlacement placement) {
  }
 //リワードビデオ広告の表示に失敗した場合に呼び出されます。
 //@param description - string - エラーの情報を含みます。
  void RewardedVideoAdShowFailedEvent (IronSourceError error){
  }

 注意: ironSourceは、エラーコードのメカニズムを提供しており、統合または実運用の時点で発生する可能性があるエラーを理解するのに役立ちます。詳細ガイドは、こちらでご覧になれます。

ステップ3. ユーザーに動画広告を表示

 リワードビデオ広告の配信可能な広告在庫の有無は、onRewardedVideoAvailabilityChangedEventイベントを通じて受け取ることができます。

 void onRewardedVideoAvailabilityChangedEvent(bool available) {
    //広告在庫の有無に応じて、アプリ内の「トラフィックドライバー」のステータスを変更します。
    bool rewardedVideoAvailability = available;
  }

さらに、次のメソッドを呼び出して、広告在庫の有無を直接確認することもできます。

bool available = IronSource.Agent.isRewardedVideoAvailable();

アドネットワークで動画が利用可能になると、この動画広告をユーザーに表示する準備が整います。このタイミングが、ユーザーに動画広告を視聴するよう促すトリガーを挿入する理想的な瞬間です。IronSource.Agentインスタンス上でshowRewardedVideo()メソッドを呼び出して、ユーザーに動画広告を表示することができます。

IronSource.Agent.showRewardedVideo();

ironSource広告プレースメント機能を利用すると、リワードビデオ広告体験のカスタマイズおよび最適化をすることができます。この機能により、付与したいリワードに応じてさまざまなプレースメントからユーザーに動画を表示することができます。下記の機能を使用することで、広告を表示したいプレースメントを細かく定義することができます。詳細については、広告プレースメントドキュメントをご覧ください。このプレースメントのリワード付与設定は、ironSourceサーバーから取得します。

IronSource.Agent.showRewardedVideo("YOUR_PLACEMENT_NAME");

各広告プレースメントに関連付けられた特定リワードの詳細を取得するには、次のメソッドを利用します。

Placement placement = IronSource.Agent.getPlacementInfo(placementName);
//placementNameが無効な場合は、nullが返されることがあります。
if(placement != null)
{
    String rewardName = placement.getRewardName();
    int rewardAmount = placement.getRewardAmount();
}

ironSourceの広告プレースメントに加え、選択したプレースメントのキャップとペースを設定できるようになりました。キャップとペースを設定し、定義した期間内の広告配信量を制限することで、アプリのユーザー体験を向上させることができます。キャップとペースの設定の詳細については、こちらをご覧ください。

注意: リワードビデオ広告にキャップおよびペースを設定する場合は、以下のメソッドを呼び出し、特定のプレースメントが広告配信上限に達したかどうかを確認することをお勧めします。これにより、キャップもしくはペースが設定されたプレースメントにおいて、これ以上動画広告を配信しない場合に、リワードビデオ広告ボタンを表示させないようにします。

bool isRewardedVideoPlacementCapped(string placementName);

ダイナミックユーザーIDによるAdRewardedトランザクションの確認 ダイナミックユーザーIDはセッション中に変更可能なパラメータで、リワード付与用のサーバー間コールバックの中で受け渡しされます。このパラメータは、AdRewardedトランザクションの確認に役立ち、ShowRewardedVideoを呼び出す前に設定する必要があります。

boolean setDynamicUserId(String dynamicUserID);

ステップ4. ユーザーへのリワード付与

ironSource SDKは、ユーザーが動画を完了する度に、onRewardedVideoAdRewardedEventを発生させます。

注意:  onRewardedVideoAdRewardedEventonRewardedVideoAdClosedEventは非同期で発生します。onRewardedVideoAdRewardedonRewardedVideoAdClosedEventの後に実行される場合でもリワー付与ができるように、リスナーの設定を行ってください。
 

void RewardedVideoAdRewardedEvent(IronSourcePlacement ssp){
    //TODO - ここではリワード名とリワード付与額に応じてユーザーにリワード付与することができます
    ssp.getPlacementName();
    ssp.getRewardName());
    ssp.getRewardAmount();
}

注意:

  1. ironSourceアカウントのデフォルトの設定では、アプリのクライアント内のIronSourceAdRewardedEventイベントを介して、ユーザーに動画視聴完了やリワード付与を通知するようになっています。バックエンドサーバーへの通知も受け取る場合は、サーバー間コールバックを有効にすることができます。
  2. サーバー間コールバックを有効にする場合は、同一の動画視聴完了について、ユーザーに複数回リワード付与をを行わないように注意してください。クライアントサイドコールバックとサーバー間コールバックの両方が発生するため、動画視聴完了の度に2つの通知が届きます。サーバー間コールバックを使用するには、こちらをご覧ください。

 

完了です!  以上で、アプリにリワードビデオ広告を配信する準備が整いました。

 

初回統合のヒント  これがアプリケーションの初回の統合の場合、 アプリはデフォルトでironSourceダッシュボード上で「テストモード」になっています。アプリがテストモードになっている場合、 ironSource SDKは、SDKプロセスの可視性を向上させるため、より多くのログをコンソールに出力します。実装した広告枠をテストするには、テストデバイスを設定してください。本番環境の広告枠をオンにするまでは、リワードが発生しないテストキャンペーンが配信されます。アプリで本番環境の広告枠の準備が完了した場合は、必ず広告ユニットページでGo Live!を選択するようにしてください。

ironsource-go-live-with-rewarded-video