Rewarded Video Integration for Unity (Korean)

 

시작하기 전에 확인하세요 ironSource 유니티 플러그인 및 추가 광고 네트워크 어댑터를 앱에 올바르게 통합했는지 확인하세요. 통합은 여기에 대략적으로 설명되어 있습니다.

1단계. 보상 비디오 이벤트 구현

ironSource 유니티 플러그인은 가용성을 알려주기 위해 몇 가지 이벤트를 발생시킵니다. 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;
  } 
}
플러그인은 아래에 나열된 모든 가능한 이벤트를 리스너에게 알립니다:
 //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.
  void RewardedVideoAdOpenedEvent() {
  }  
  //Invoked when the RewardedVideo ad view is about to be closed.
  //Your activity will now regain its focus.
  void RewardedVideoAdClosedEvent() {
  }
  //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.
  void RewardedVideoAvailabilityChangedEvent(bool available) {
    //Change the in-app 'Traffic Driver' state according to availability.
    bool rewardedVideoAvailability = available;
  }
  //Invoked when the video ad starts playing.
  void RewardedVideoAdStartedEvent() {
  }
  //Invoked when the video ad finishes playing.
  void RewardedVideoAdEndedEvent() {
  }
  //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 - placement object which contains the reward data
  void RewardedVideoAdRewardedEvent(IronSourcePlacement placement) {
  }
 //Invoked when the Rewarded Video failed to show
 //@param description - string - contains information about the failure.
  void RewardedVideoAdShowFailedEvent (IronSourceError error){
  }

 참고: ironSource는 통합 또는 라이브 프로덕션 중에 발생할 수 있는 오류를 이해하는 데 도움이 되는 오류 코드 메커니즘을 제공합니다. 전체 안내서는 여기에서 확인할 수 있습니다.[/note

3단계. 사용자에게 비디오 광고 보여주기

onRewardedVideoAvailabilityChangedEvent 이벤트를 통해 보상 비디오 광고의 가용성 상태를 수신하게 됩니다.

 void onRewardedVideoAvailabilityChangedEvent(bool available) {
    //Change the in-app 'Traffic Driver' state according to availability.
    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);
//Placement can return null if the placementName is not valid.
if(placement != null)
{
    String rewardName = placement.getRewardName();
    int rewardAmount = placement.getRewardAmount();
}

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

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

bool isRewardedVideoPlacementCapped(string placementName);

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

boolean setDynamicUserId(String dynamicUserID);

4단계. 사용자 보상

ironSource SDK는 사용자가 성공적으로 비디오를 완료할 때마다 onRewardedVideoAdRewardedEvent를 발생시킵니다.

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

void RewardedVideoAdRewardedEvent(IronSourcePlacement ssp){
    //TODO - here you can reward the user according to the reward name and amount
    ssp.getPlacementName();
    ssp.getRewardName());
    ssp.getRewardAmount();
}

참고:

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

 

완료!  이제 앱에서 보상 비디오를 제공하도록 모두 설정되었습니다.

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

ironsource-go-live-with-rewarded-video