しばらく更新していませんでした!というのもアプリ作るのにはまってて笑
(アプリのURLはまた後で)
ところで今回は、 Unity 2019でAdMobを実装した際にクラッシュしてしまいアプリが表示できなくなってしまう時の対処法です。
(やはり Unity 2019は最新版ということで2019に関する記事がなかなかなーい!!笑笑)
というわけで僕のでよければ参考にどうぞ。
結論から言うと以下二つに対応することでうまくいきました!!
(あ、Android アプリ用です。この記事)
#Unityのバージョンを確認する
結論から言うと
Unity 2019 1.4f1
×
Google mobile ADS Unity plugin 3.16
が最強!
はじめ自分は
Unity のバージョン→ 2019.3.0a3
に
AdMobのバージョン→Google mobile ADS Unity plugin v3.17
を投入!
ですがこの時にx86 not found 的なエラーが起こりました
調べて見るとこんな感じで最新版のUnity にはx86がないみたい。。。
↓Unity のバージョン→ 2019.3.s0a3
↓Unity 2019 1.4f1
Unity 2019 1.4f1 にはx86のボタンがあるけど
2019.3.0a3にはないですな。
友達がうまくいっているというバージョンでやることにしてみました。
(てかよくみるとβ版じゃん、、、そりゃバグるな)
成功したバージョンはこちら!
Unity 2019 1.4f1 × Google mobile ADS Unity plugin 3.16
#Android manifest を確認する
最近の Unity 用 admob のパッケージは Android manifest に
自分のパッケージ名とアプリ ID を書くことが主流になっていますね。
というわけで実装してみたんですが、、、クラッシュ。表示されない
まじか一週間たちました。
何回もクラッシュしては何回も ReImport all して試行錯誤を繰り返す日々
もう本当に嫌んなっちゃうよ。
初心に振り返るべきだなと思い公式の Google mobile Ads を確認。
Android manifest の例外があるじゃありませんか。
というわけで上ではなく、下の方のコードをプラスで追加。
正直あんまりよくわかってないですけど
表示されたやったーこれでまた頑張れますね。
追記 表示されたのは勘違いでした!!というわけで追加の解決策を以下に示します。
#AdMobやAdseneの規約を確認
結論から言うと、僕がAdseceアカウントを二つ取得していたのが原因でした。
サイト用のAdcenseアカウントは以前からあったのですが、最近取得したアプリ用のAdMobアカウントは、
それとは「異なるグーグルアカウントに紐付けていた」んです。
前提として
・Adseceアカウントは一人につき一つまで
とGoogleに規定されてます。
ですがなぜか僕の場合、異なる二つのアカウントの申請が通っていました。(普通ならポリシー違反でgmail通告が来るそうです)
通告は来ていないものの、違反と言うことで広告配信がなされなかったようですね。
対応策
対応策としてAdMobのアカウントは消去しました(入金はキャンセルされてしまいましたが、Googleさんへの謝罪の気持ち分としてはしょうがないかな。)
次は旧Adsenceアカウントの設定です。Adsenceのマイページから、
AdMobやYouTubeパートナープログラム等を追加する設定があるので、
AdMobアカウントを追加。
因みに、GoogleAdseceのアカウントには二つ種類が存在し、
・Adseceアカウント
・AdMobアカウントやYouTubeパートナーシップなど、単体としてのAdsence
アカウント
それぞれにメリットデメリットがあります。
前者は
・審査が厳しい
・AdMobアカウントやYouTubeパートナーシップの導入や統合が楽
・ポリシー違反をしてしまってもアカウント復活の確率が上がる
後者はその逆です。
時間があるなら、AdSenceアカウント取得をした方が良いでしょう
あとはもう一度AdMob ID とかを設定して、一日二日ほど放置、、、、
やった!もどった!
みなさんもポリシー違反には十分気をつけて下さいね。
(Googleが本気で怒ると同じIPアドレスからAdsenceアカウントは再取得できないらしい、、、神かよ、、、)
#まとめ
というわけで今回のまとめはこんな感じ
Unity のバージョンを確認する
アドモブのバージョンを確認する
今のところUnity 2019 1.4f1 × Google mobile ADS Unity plugin 3.16 がよさげ。
Android Manifest は、アプリ ID 書く方ではなく、下の方の「アド マネージャーを使用している場合」のコードを書く。
おわり。。。