광고를 로드하기 전 ONEAdMax 초기화가 필요하며,
ONEAdMaxClient.Initialize() 는 최초 한 번만 수행해야 합니다.
...usingONEAdMax;...publicclassONEAdMaxDemo:MonoBehaviour{privatestaticbool _isInitialized =false;voidStart() {if (!_isInitialized) { // Initialize the ONEAdMax SDK.ONEAdMaxClient.Initialize(() => { // This callback is called once the ONEAdMax SDK is initialized. _isInitialized =true }); } }}
/// <summary>/// Register to events the reward video ad may raise./// </summary>privatevoidRegisterEvents(OAMRewardVideo ad){ // Raised when an ad is loaded into the reward video ad.ad.OnLoaded+= () => {Debug.Log("Reward video ad loaded."); }; // Raised when an ad fails to load into the reward video ad.ad.OnLoadFailed+= (OAMError error) => {Debug.LogError("Reward video ad failed to load an ad with error : "+ error); }; // Raised when an ad opened full screen content.ad.OnOpened+= () => {Debug.Log("Reward video ad has been opened."); }; // Raised when the ad failed to open full screen content.ad.OnOpenFailed+= (OAMError error) => {Debug.LogError("Reward video ad failed to open an ad with error : "+ error); }; // Raised when the ad closed full screen content.ad.OnClosed+= () => {Debug.LogError("Reward video ad is closed."); }; // Raised when the ad completed full screen content.ad.OnCompleted+= (int adNetworkNo,bool compledted) => {Debug.Log("Reward video ad completed : "+"adNetworkNo="+ adNetworkNo +", compledted="+ compledted); }; // Raised when a click is recorded for an ad. on completed 에서 completed 가 true 일 때만 리워드 지급ad.OnClicked+= () => {Debug.Log("Reward video ad was clicked."); };}
리워드 비디오 광고 생성하기
모든 설정을 완료하고 OAMInterstitialVideo를 만듭니다.
// These ad units are configured to always serve test ads. privatereadonlystring _placementId ="string your placement ID";_rewardVideoAd.Create(_placementId);
리워드 비디오 광고 로드 하기
리워드비디오 광고 Load() API를 호출하여 서버에 광고를 요청합니다.
/// <summary>/// Loads the ad./// </summary>publicvoidLoad(){if (_rewardVideoAd ==null) {Debug.LogWarning("The reward video ad is null.");return; }_rewardVideoAd.Load();}
과도한 광고 요청은 차단 사유가 되니 주의해주세요!
리워드 비디오 광고 노출하기
광고 로드가 완료되면 광고를 노출을 원하는 시점에 Show() API를 호출하여 화면에 노출 시킵니다.
/// <summary>/// Shows the ad./// </summary>publicvoidShow(){if (_rewardVideoAd !=null&&_rewardVideoAd.IsLoaded()) {Debug.Log("Showing reward video ad.");_rewardVideoAd.Show(); }else {Debug.LogError("The reward video ad hasn't loaded yet."); }}
리워드 비디오 광고 메모리 해지하기
광고의 인스턴스 내의 메모리를 해지 합니다.
/// <summary>/// Destroys the ad./// </summary>publicvoidDestroy(){if (_rewardVideoAd !=null) {Debug.Log("Destroying reward video ad.");_rewardVideoAd.Destroy(); _rewardVideoAd =null; }}
보상형 비디오 광고 로드 여부 체크하기
보상형 비디오 광고의 로드 여부를 체크합니다. (return ture | false)
_rewardVideoAd.IsLoaded();
어플리케이션의 라이프사이클 확장하기
광고가 노출되고 있는 어플리케이션의 onPause / onResume여부를 체크하기 위해 구현해야 합니다.
publicclassRewardVideoAdController:MonoBehaviour{voidOnApplicationPause(bool pauseStatus) { // You should call events for pause and resume in the application lifecycle._rewardVideoAd?.OnPause(pauseStatus); }}
주의사항
미 처리시, third-party mediation을 사용에서 리포트 수치가 누락되는 경우가 발생합니다.