Edited at

Unity/Android/Admobで広告表示後に遷移が不安定


起きたこと

Unityを利用し、AndroidでAdmobをセットアップ

実装手順は下記

https://developers.google.com/admob/unity/start

Admobを実装後Androidでの実機確認を行うと、Interstitial/Reward共に広告は流れる。

が、広告を見終わったあと遷移が正しく行われない時があった。


環境

Unity 2018

Huawei P10 lite(Android 7.0)


原因

位置情報取得ができておらず、位置を取得する広告の際に端末側で広告ブロックをされていた。


解決

ManifestFileに下記を追加

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />


解決経緯

起動時に必ず出ていたTracingControllerのエラーが原因と思ったが違かった。

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.webkit.TracingController"



このエラーは現状無視するしかなさそう?

https://github.com/ionic-team/cordova-plugin-ionic-webview/issues/175)

その後、adb logcatで念入りにログを見つつ、一行だけ出ていたログがきっかけで原因解決に至る。

AdCheck : APS: blockAdView!



調べていくと、Huawei Pxシリーズで発生することがある模様。

どうやら、アンドロイド6.0以降ではユーザーの所在地について、アクセス権を要求されており

インターネットアクセスのアクセス許可に加えて、Admobを使用する場合は、ロケーションのアクセス権も要求する必要がある。

上記設定を追加して無事遷移されることを確認。

本当にこれで良いのかは正直不安だが解決した。