Rewarded Video Integration for iOS (Japanese)

作業を開始する前に ironSource SDKと追加のアドネットワークアダプターが、アプリに正しく統合されていることを検証してください。統合に関する説明は、こちらでご覧になれます。

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

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

OBJECTIVE-C

#pragma mark - ISRewardedVideoDelegate
//リワードビデオ広告の在庫の有無に変化があった場合に呼び出されます。
//@param available 新しいリワードビデオ広告在庫の有無。在庫が有り//表示可能な場合はYES。それ以外の場合はNO。
- (void)rewardedVideoHasChangedAvailability:(BOOL)available {
}
//リワードビデオ広告が最後まで視聴され、//ユーザーが報酬を受ける資格がある場合に呼び出されます。@param プレースメントのリワード名と//リワード付与額を含むオブジェクト 
- (void)didReceiveRewardForPlacement:(ISPlacementInfo *)placementInfo {
}
//リワードビデオ広告の表示を試行し、失敗した場合に呼び出されます。
//@param error エラーの理由
- (void)rewardedVideoDidFailToShowWithError:(NSError *)error {
}
//リワードビデオ広告が開かれた後に呼び出されます。
- (void)rewardedVideoDidOpen {
}
//リワードビデオ広告が閉じられた後に呼び出されます。
- (void)rewardedVideoDidClose {
}
//注意: 以下のイベントは、サポートされているすべてのリワードビデオアドネットワークで利用できるわけではありません。ビルドに含めることを選択したアドネットワークごとに//どのイベントが利用可能かを確認してください。
//ビルドに含めるすべてのアドネットワークに登録されている//イベントのみを使用することをお勧めします。
 //リワードビデオ広告の再生が開始された後に呼び出されます。
- (void)rewardedVideoDidStart {
}
//リワードビデオ広告の再生が終了した後に呼び出されます。
- (void)rewardedVideoDidEnd {
}

SWIFT

/MARK: ISRewardedVideoDelegate Functions
    /**
     リワードビデオ広告在庫の有無が変化した後に呼び出されます。
     
     @param available 新しいリワードビデオ広告の在庫の有無。在庫が有り、表示可能な場合はYES。それ以外の場合はNO。
     */
    public func rewardedVideoHasChangedAvailability(_ available: Bool) {
   }
    
    /**
     リワードビデオ広告の再生が終了した後に呼び出されます。
     */
    public func rewardedVideoDidEnd() {
    }
    
    /**
     リワードビデオ広告の再生が開始された後に呼び出されます。
     */
    public func rewardedVideoDidStart() {
   }
    
    /**
     リワードビデオ広告が閉じられた後に呼び出されます。
     */
    public func rewardedVideoDidClose() {
   }
    
    /**
     リワードビデオ広告が開かれた後に呼び出されます。
     */
    public func rewardedVideoDidOpen() {
   }
    
    /**
     リワードビデオ広告が表示を試行し、失敗した場合に呼び出されます。
     
     @param error エラー理由
     */
    public func rewardedVideoDidFailToShowWithError(_ error: Error!) {
   }
    
    /**
     リワードビデオ広告が最後まで視聴され、ユーザーが報酬の対象となった後に呼び出されます。
     
     @param placementInfo プレースメントの報酬名と報酬額を含むオブジェクト。
     */
    public func didReceiveReward(forPlacement placementInfo: ISPlacementInfo!) {
   }

 注意:

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

 

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

リワードビデオ広告デリゲートとその機能を正しく実装することで、 rewardedVideoHasChangedAvailabilityを通じて広告案件在庫の有無を確認することができます。広告の在庫に変化があった場合、以下のデリゲート機能を通じて通知されます:

OBJECTIVE-C

/**
*リワードビデオ広告在庫の有無が変化した後に呼び出されます。
*@param available 新しいリワードビデオ広告在庫の有無。在庫が有り*かつ*表示の準備ができている場合はYES、それ以外の場合はNO。
*/
(void)rewardedVideoHasChangedAvailability:(BOOL)available {
}

SWIFT

/**
     リワードビデオ広告在庫の有無が変化した後に呼び出されます。
     @param available 新しいリワードビデオ広告在庫の有無。在庫が有りかつ表示の準備ができている場合はYES、それ以外の場合はNO。
     */
    public func rewardedVideoHasChangedAvailability(_ available: Bool) {
   }

あるいは、次のメソッドを呼び出して広告在庫の有無を直接リクエストすることもできます:

OBJECTIVE-C

[IronSource hasRewardedVideo];

SWIFT

IronSource.hasRewardedVideo()

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

OBJECTIVE-C

[IronSource showRewardedVideoWithViewController:(UIViewController *)viewController placement:(nullable NSString *)placementName];

SWIFT

IronSource.showRewardedVideo(with: <UIViewController>, placement: <String?>)

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

ironSource広告プレースメントを使用すると、リワードビデオ広告体験のカスタマイズと最適化が可能になります。このツールにより、報酬に応じてさまざまなプレースメントからユーザーに動画を表示することができます。下記の機能を使用することで、広告を表示する正確なプレースメントを定義することができます。詳細については、広告プレースメントドキュメントをご覧ください。 各広告プレースメントに関連付けられた報酬の詳細を取得するには、次のメソッドを利用します:

OBJECTIVE-C

[IronSource rewardedVideoPlacementInfo:(NSString *)placementName];
if(pInfo != NULL)
{
	 NSString * rewardName = [pInfo rewardName];
	 NSNumber * rewardAmount = [pInfo rewardAmount];
}

SWIFT

let placementInfo = IronSource.rewardedVideoPlacementInfo(<placementName: String>)
        if  placementInfo != nil {
            let rewardName = placementInfo.placementName
            let rewardAmount = placementInfo.rewardAmount
        }

 

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

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

OBJECTIVE-C

[IronSource isRewardedVideoCappedForPlacement:@"Placement"];

SWIFT

IronSource.isRewardedVideoCapped(forPlacement: <String>)

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

OBJECTIVE-C

[IronSource setDynamicUserId:@"DynamicUserId"];

SWIFT

IronSource.setDynamicUserId(<dynamicUserId: String>)

ステップ3. ユーザーに報酬を与える

ironSource SDKは、ユーザーが動画を完了する度に、didReceiveRewardイベントを発生させます。ユーザーが報酬を受け取ると、以下のデリゲート機能により通知が届きます。

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

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

OBJECTIVE-C

//リワードビデオ広告が最後まで視聴され、//ユーザーがリワード付与の対象となった後に呼び出されます。
//@param placementInfoは、プレースメントの//リワード名とリワード付与額が含まれたオブジェクトです。
- (void)didReceiveRewardForPlacement:(ISPlacementInfo *)placementInfo {
    	 NSNumber *rewardAmount = [placementInfo rewardAmount];
	 NSString *rewardName = [placementInfo rewardName];
}

SWIFT

/**
     リワードビデオ広告が最後まで視聴され、ユーザーがリワード付与の資格がある場合に呼び出されます。@param placementInfo プレースメントのリワード名とリワード付与額を含むオブジェクトです。
*/
  public func didReceiveReward(forPlacement placementInfo: ISPlacementInfo!) {
    }

注意:

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

 

  完了です! 以上で、アプリ内にリワードビデオ広告を配信できるようになりました。

 

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

ironsource-go-live-with-rewarded-video