Unity Adsじゃなくて、Unity Advertisementに名前が変わってるのか
このへんも新しくしてないとAndroid updateで弾かれるらしい
ということでpackageから4.4.2にupdateしましたが、既存のスクリプトがエラーになる
仕様が変わってる模様
isReadyとか無くなってる
色々記事を読んで参考にする
Question - Unity Ads SDK 4.0.1 for Unity 2018.3.11 - Unity Forum
advertisementのpackageの画面にサンプルのimportリンクがあるので これをインストールして実際に動かしてみるのが参考になる
sing UnityEngine; using UnityEngine.Advertisements; using UnityEngine.UI; public class UnityAdsScript : MonoBehaviour, IUnityAdsInitializationListener, IUnityAdsLoadListener, IUnityAdsShowListener { void Start() { Advertisement.Initialize( GameID, true, this);//広告初期化 } void reward() { Advertisement.Show("rewardedVideo",this);//リワード広告再生 再生後はOnUnityAdsShowCompleteが呼ばれる } }
Listner系を継承してクラス作成
動画広告再生後に、このlistnerが呼ばれるので、placementIdでvideo/rewradedVideoを区別して、
リワード広告なら、広告再生がコンプリートを確認して、報酬を与える
public void OnUnityAdsShowComplete(string placementId, UnityAdsShowCompletionState showCompletionState) { if(placementId == "video") { //ただのインターステンシャル広告 } else if (placementId == "rewardedVideo" && showCompletionState.Equals(UnityAdsShowCompletionState.COMPLETED)) { //報酬を与える } }
unity editor環境では動くんだけど、実機でふるまいがおかしい
例えば initializeしてるのに、初期化完了のイベントが呼ばれない
広告をshowする前にloadして、load完了を待ってshowしないといけないが、
初期化完了を待ってloadしようとしてると、初期化完了が呼ばれない
かといって、広告表示前にloadしてると、表示を待たされる
色々と悩ましい