Rewarded Video Integration for Android (Korean)

시작하기 전에 확인하세요 ironSource SDK를 앱에 올바르게 통합했는지 확인하세요. 통합은 여기에 대략적으로 설명되어 있습니다.

1단계. 보상 비디오 리스너 구현

ironSource SDK는 광고 가용성 및 완료를 알려주기 위해 몇 가지 이벤트를 발생시키므로 사용자에게 보상할 시기를 알 수 있습니다. SDK는 아래에 나열된 모든 가능한 이벤트를 리스너에게 알립니다:

IronSource.setRewardedVideoListener(new RewardedVideoListener() {
    /**
     * Invoked when the RewardedVideo ad view has opened.
     * Your Activity will lose focus. Please avoid performing heavy
     * tasks till the video ad will be closed.
     */
    @Override
    public void onRewardedVideoAdOpened() {
    }
    /*Invoked when the RewardedVideo ad view is about to be closed.
    Your activity will now regain its focus.*/
    @Override
    public void onRewardedVideoAdClosed() {
    }
    /**
     * Invoked when there is a change in the ad availability status.
     *
     * @param - available - value will change to true when rewarded videos are *available.
     *          You can then show the video by calling showRewardedVideo().
     *          Value will change to false when no videos are available.
     */
    @Override
    public void onRewardedVideoAvailabilityChanged(boolean available) {
        //Change the in-app 'Traffic Driver' state according to availability.
    }
    /**
     * Invoked when the video ad starts playing.
     */
    @Override
    public void onRewardedVideoAdStarted() {
    }
    /*Invoked when the video ad finishes playing.*/
    @Override
    public void onRewardedVideoAdEnded() {
    }
    /**
     * Invoked when the user completed the video and should be rewarded.
     * If using server-to-server callbacks you may ignore this events and wait *for the callback from the ironSource server.
     *
     * @param - placement - the Placement the user completed a video from.
     */
    @Override
    public void onRewardedVideoAdRewarded(Placement placement) {
        /** here you can reward the user according to the given amount.
         String rewardName = placement.getRewardName();
         int rewardAmount = placement.getRewardAmount();
         */
    }
    /* Invoked when RewardedVideo call to show a rewarded video has failed
     * IronSourceError contains the reason for the failure.
     */
    @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");
// Null can be returned instead of a placement if the placementName is not valid.
if (placement != null) {
    String rewardName = placement.getRewardName();
    int rewardAmount = placement.getRewardAmount();
}

이제 ironSource의 광고 게재 위치 외에도 선택한 게재 위치에 대한 상한 및 간격 설정을 구성할 수 있습니다. 상한 및 간격 기능은 정의된 기간 내에 게재되는 광고의 양을 제한하여 앱의 사용자 경험을 개선합니다. 상한 및 간격 기능에 대한 자세한 내용은 여기를 참조하세요.

참고: 상한 및 간격 조정 도구를 보상 비디오에 사용하려면 아래 메소드를 호출하여 특정 게재 위치가 광고 한도에 도달했는지 확인하는 것이 좋습니다. 이는 게재 위치가 상한 또는 간격 설정되어 비디오 광고를 게재하지 않을 때 보상 비디오를 표시하지 않도록 하기 위한 것입니다.

IronSource.isRewardedVideoPlacementCapped("Your Placements");

AdRewarded 트랜잭션을 확인하기 위한 동적 사용자ID 동적 사용자ID는 세션에서 변경될 수 있는 매개 변수이며 서버 간 광고 보상 콜백에서 수신됩니다. 이 매개 변수는 AdRewarded 트랜잭션을 확인하는 데 도움이 되며 ShowRewardedVideo를 호출하기 전에 설정해야 합니다.

IronSource.setDynamicUserId("UserID");

3단계. 사용자 보상

ironSource SDK는 사용자가 성공적으로 비디오를 완료할 때마다 onRewardedVideoAdRewarded 이벤트를 발생시킵니다. RewardedVideoListener가 해당 이벤트를 수신하여 사용자에게 성공적으로 보상할 수 있습니다.

참고: onRewardedVideoAdRewardedonRewardedVideoAdClosed 이벤트는 비동기적입니다. onRewardedVideoAdClosed 이벤트 이후 onRewardedVideoAdRewarded가 발생되는 경우에도 보상을 부여하도록 리스너를 설정해야 합니다.
 

게재 위치 객체는 ironSource Admin에 정의된 대로 게재 위치의 보상 이름 및 보상 금액을 포함합니다:

public void onRewardedVideoAdRewarded(Placement placement)
{
    //TODO - here you can reward the user according to the given amount
    String rewardName = placement.getRewardName();
    int rewardAmount = placement.getRewardAmount();
}

참고:

  1. ironSource 계정의 기본 설정은 앱의 클라이언트 내에서 AdRewarded:amount 콜백을 통해 사용자 완료/보상을 알려주는 것입니다. 또한, 백엔드 서버에서 알림을 받고 싶으면 서버 간 콜백을 활성화할 수 있습니다.
  2. 서버 간 콜백을 활성화하는 경우 동일한 완료에 대해 사용자에게 두 번 이상 보상하지 않는 것을 기억하세요. 클라이언트 측 콜백과 서버 간 콜백이 모두 수행되므로 각 완료에 대해 두 가지 알림을 받게 됩니다. 서버 간 콜백을 활용하려면 여기를 참조하세요.

 

최초 통합 팁  앱에 대한 새로운 통합인 경우 앱은 기본적으로 ironSource 대시보드의 ‘테스트 모드‘에 있습니다. 앱이 테스트 모드에 있는 동안 ironSource SDK는 SDK 프로세스에 대한 더 많은 가시성을 제공하기 위해 콘솔에 더 많은 로그를 출력합니다. 광고 인벤토리를 테스트하려면 테스트 기기를 설정하세요. 실시간 광고 인벤토리를 활성화할 때까지 수익을 창출하지 못하는 테스트 캠페인을 받게 됩니다. 앱에 실시간 광고 인벤토리가 준비되면 광고 단위 페이지에서 고 라이브!를 선택하세요.

ironsource-go-live-with-rewarded-video

완료!  이제 앱에서 보상 비디오 광고를 제공할 준비가 되었습니다!