起きたこと
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を使用する場合は、ロケーションのアクセス権も要求する必要がある。
上記設定を追加して無事遷移されることを確認。
本当にこれで良いのかは正直不安だが解決した。