PETAMPER【PART58】~Unity Adsの様子がおかしい…動画が再生されない~

LINEで送る
Pocket

Part41で実装した「Unity Ads」。

簡単にビデオ広告を表示することのできる機能ですが、最近UnityEditor上でもAndroid実機上でも広告が表示されなくなってました。およよ。

しばらくノータッチだったので、どのタイミングで表示されなくなっていたのか全く分かりませんが、この問題を解決するまでの過程で色々と調べたり試したりしてみたので、今回はその話を。

結論から先に言ってしまうとスクリプトに初期化する処理を追加して、手動で初期化するという形で解決しました。

 

最初はServicesウィンドウからではなく、アセットストアからUnityAdsをインポートして使う方法を試してみました。

035

ただ、これをするとエディタ内臓のUnity Adsと、インポートしたパッケージのUnity Adsが競合してしまうみたいです。

036

The imported type `UnityEngine.Advertisements.ShowResult’ is defined multiple times

こんなエラーが出て実行できなくなっちゃいました。

というわけで、Servicesウィンドウの方の「Enable builtin Ads extension」のチェックを外して、内臓の機能を無効にすればエラーはなくなります。

038

これで上手くいくかな~と思っていたのですが、やっぱり広告が再生されません。うむむ…。

ここで、もしかして初期化が原因かな?と思い、手動で初期化をすることにしました。通常はアプリ起動時に1度だけ自動的に初期化してくれるらしいのですが、その初期化に失敗した場合、アプリを終了しないとその起動中はずっと動画を再生することが出来ません。

というわけで、各ステージのシーンを呼び出した時に、初期化をするようにしてみました。

037

こんな感じで、以前サンプルコードをベースにして作ったスクリプトに初期化の処理を追加しました。初期化は「Advertisement.Initialize」で行えます。

ゲームIDはAndroidとiOSで違うのでプラットフォームごとに分けるようにしています。第2引数はテストモードなので、リリースする時にはここをfalseにしておく必要があります。

これを追加してから再度実行してみると、ちゃんと動画が再生されるようになりました!

同じような問題を抱えている人がいるかなと思ったのですが、調べてもあんまり出てこないんですよね…。みんな普通に上手くいっているのかな?だとしたら私のは何が問題なんだろうか?

……まぁ、いいや!時間がある時にじっくり調べよう!

 

スポンサーリンク

スポンサーリンク

LINEで送る
Pocket