UnityでGoogle AdMobの不思議な挙動
ここでグチらせてもらう。
Unity 2019でつくっているゲームに広告だす際、いままで入れていた広告とは別であるGoogle AdMobを導入してうごかしてみた。
Unity上ではリワード広告のテスト広告が表示されたが、Android実機にBuild and Runしてみたところ
リワードのテスト広告が表示されない。
Unityの Android Logcat でログをだしてみたところ以下のエラーがでてた。
「Unity HandleRewardedAdFailedToLoad event received with message: Unable to obtain a JavascriptEngine. 」
どうやら広告をロードしているところで失敗してるみたい。
ちなみにログだしてるソースはこんなかんじ。
public void CreateAndLoadRewardedAd() {
<略>
this.rewardedAd.OnAdFailedToLoad += HandleRewardedAdFailedToLoad;
<略>
}
public void HandleRewardedAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
MonoBehaviour.print(
"HandleRewardedAdFailedToLoad event received with message: "
+ args.LoadAdError.GetMessage());
}
ネットにあったサンプルをもとにつくったんだが、コールバック関数のHandleRewardedAdFailedToLoadのパラメータがかわってるのにきがつくまで時間かかった。
わたしのテスト用Android端末は古く、Wi-Fi接続のみでネット接続している。
結局原因はわからないけど
Andriod端末の設定→Wi-Fi→接続しているWi-Fiをなが~くタップ→ネットワークの変更→詳細設定項目→プロキシ
で手動~なしを繰り返したらAndroid実機でもテスト広告が表示された。
まぁそれにたどりつく前に色々ためしたのも含めてうごいたのかもしれないけど。
以下プロキシやる前にやったこと。
Google AdMobで設定→テストデバイスでAndroid実機を追加した。
その画面に登録する広告IDはAndroid実機の設定→Google→広告を選択したときにでてくる、うっす~い文字でかかれてるIDをぶちこんだ。
2.ADブロッカーの解除
Android実機にはADブロッカーなんていれてないわ!っておもったけど実機にあるGoogle Chromeの設定→サイトの設定→広告で許可を選択した。
ほんと原因わかんないからこれが正しいのかどうかわからないけどとりあえず表示できたわ。
てか広告おもいな!
バックグラウンドで広告ロードしっぱなしにせず、表示する際にロードしたほうがいいのか?
もうわけわからん、酒飲んで寝てればよかった!
ムキー!ってなったんでつくっている最中のゲーム画面貼ってみる。