Rewarded Video Integration for Android (Japanese)

作業を開始する前に ironSource SDKがアプリケーションに正しく統合されていることを確認してください。統合に関する説明は、こちらでご覧になれます。

ステップ1. リワードビデオ広告リスナーの実装

ironSourceSDKは、配信可能な広告在庫の有無や動画視聴完了などのイベントを通知することによりユーザーへのリワード付与のタイミングが分かります。 SDKは、以下に挙げるすべてのイベントをリスナーに通知します。

IronSource.setRewardedVideoListener(new RewardedVideoListener() {
    /**
     * リワードビデオ広告ビューが開かれた際に呼び出されます。
     * アクティビティはフォーカスを失います。動画広告が終了するまで
     * 大きなタスクの実行は避けてください。
     */
    @Override
    public void onRewardedVideoAdOpened() {
    }
    /* リワードビデオ広告ビューが閉じられる際に呼び出されます。
    アクティビティにフォーカスが戻ります。*/
    @Override
    public void onRewardedVideoAdClosed() {
    }
    /**
     * 広告在庫の有無に変化があった場合に呼び出されます。
     *
     * @param - available - リワードビデオ広告が*配信可能になると値がtrueに変更されます。
     *          そのタイミングで、showRewardedVideo()を呼び出して動画を表示することができます。
     *          配信可能な動画がない場合は、値がfalseに変更されます。
     */
    @Override
    public void onRewardedVideoAvailabilityChanged(boolean available) {
        //在庫の有無に応じて、アプリ内の「トラフィックドライバー」のステータスを変更します。
    }
    /**
     * 動画広告の再生が開始されると呼び出されます。
     */
    @Override
    public void onRewardedVideoAdStarted() {
    }
    /*動画広告の再生が終了すると呼び出されます。*/
    @Override
    public void onRewardedVideoAdEnded() {
    }
    /**
     * ユーザーが動画視聴完了し、報酬を受けるべき場合に呼び出されます。
     * サーバー間コールバックを利用している場合は、このイベントを無視し、*ironSourceサーバーからのコールバックを待つこともできます。
     *
     * @param - placement - ユーザーがどのプレースメントから動画の視聴を完了したか。
     */
    @Override
    public void onRewardedVideoAdRewarded(Placement placement) {
        /** ここでは、指定された金額に応じてユーザーリワード付与することができます。
         String rewardName = placement.getRewardName();
         int rewardAmount = placement.getRewardAmount();
         */
    }
    /* リワードビデオ広告を表示するためのRewardedVideoコールが失敗した場合に呼び出されます。
     * IronSourceErrorには失敗の理由が含まれます。
     */
    @Override
    public void onRewardedVideoAdShowFailed(IronSourceError error) {
    }
});
注意:

  • コールバックは、常にメインスレッド上で実行されているとは限りません。ironSourceのコールバックに起因するUIインタラクションやアップデートは、実行前にメインスレッドに渡す必要があります。
  • ironSourceは、エラーコードのメカニズムを提供しており、統合または実運用の時点で発生する可能性があるエラーを理解するのに役立ちます。詳細ガイドは、こちらでご覧になれます。

 

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

RewardedVideoListenerとその機能を正しく実装することで、 onVideoAvailabilityChangedコールバックを通じて広告在庫の有無を取得することができます。

public void onVideoAvailabilityChanged(boolean available)

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

boolean available = IronSource.isRewardedVideoAvailable();

アドネットワークで動画が配信可能になると、この動画広告をユーザーに表示する準備が整います。このタイミングが、ユーザーに動画広告を視聴するよう促すトリガーを挿入する理想的な瞬間です。 ironSource広告プレースメント機能を使用すると、リワードビデオ広告体験のカスタマイズと最適化が可能になります。この機能により、付与したいリワードに応じてさまざまなプレースメントからユーザーに動画を表示することができます。下記の機能を使用することで、広告を表示したいプレースメントを細かく定義することができます。詳細については、広告プレースメントドキュメントをご覧ください。 ironSourceクラスのshowRewardedVideo()メソッドを呼び出すことで、ユーザーに動画広告を表示し、さらに広告を表示するプレースメントを細かく定義することができます。このプレースメントのリワード付与設定は、 ironSourceサーバーから取得します。

IronSource.showRewardedVideo(placementName);

注意: placementNameパラメータがnullの場合、SDKはironSourceプラットフォームで設定された既定のプレースメント設定を取得します。
 

各広告プレースメントに関連付けられたリワードの詳細を取得するには、以下を呼び出してください。

Placement placement = IronSource.getRewardedVideoPlacementInfo("placementName");
// placementNameが無効な場合は、プレースメントの代わりにNullが返されることがあります。
if (placement != null) {
    String rewardName = placement.getRewardName();
    int rewardAmount = placement.getRewardAmount();
}

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

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

IronSource.isRewardedVideoPlacementCapped("Your Placements");

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

IronSource.setDynamicUserId("UserID");

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

ironSource SDKは、ユーザーが動画視聴完了する度に、onRewardedVideoAdRewardedイベントを発生させます。このイベントを取得し、ユーザーに適切なリワード付与を行うために、RewardedVideoListenerを設定します。

注意: onRewardedVideoAdRewardedおよびonRewardedVideoAdClosedイベントは非同期で発生します。onRewardedVideoAdRewardedonRewardedVideoAdClosedイベントの後に発生する場合でもリワードを付与できるように、リスナーの設定を行ってください。

Placementオブジェクトには、 ironSource管理画面で定義したプレースメントのリワード名リワード付与額の両方が含まれます。

public void onRewardedVideoAdRewarded(Placement placement)
{
    //TODO - ここでは指定された金額に応じてユーザーにリワードを付与することができます
    String rewardName = placement.getRewardName();
    int rewardAmount = placement.getRewardAmount();
}

注意:

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

 

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

ironsource-go-live-with-rewarded-video