Unity Adsじゃなくて、Unity Advertisementに名前が変わってるのか
このへんも新しくしてないとAndroid updateで弾かれるらしい
ということでpackageから4.4.2にupdateしましたが、既存のスクリプトがエラーになる
仕様が変わってる模様
isReadyとか無くなってる
色々記事を読んで参考にする
Unity でのリワード広告の実装
Unity での基本的な広告の実装
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してると、表示を待たされる
色々と悩ましい