2021年03月24日

[Unity - iOS] AdMobバナー広告で「SDK tried to perform a networking task before being initialized」となる時の対処法

Google Mobile Ads Unity Plugin v5.4.0 を使っているときに、AdMobバナー広告のイベント(HandleOnAdFailedToLoad)で、実機で実行したときに

SDK tried to perform a networking task before being initialized.

というエラーメッセージが出た。

原因は、先の記事「[Unity - iOS] AdMobプラグインを使ったときにビルドしても「.xcworkspace」が出力されないときの対処法」にて、「External Dependency Manager」のバージョンを
v1.2.161 -> v1.2.164
に上げてしまったことが原因だった。
v1.2.164->v1.2.163
にバージョンを下げたことで広告が表示されるようになったので、手順をメモ。


手順

(1) Packages 内の「External Dependency Manager」のバージョンを確認
AdMobのプラグインでは「v1.2.161」だったけど、最新の「v1.2.164」に上げた状態になっていた。

2021-03-24_01.png

(2) Package Managerを使ってバージョンを「v1.2.163」に戻す

先に記事にてGoogleのレジストリを登録していたので、「My Registories」を選択。

2021-03-24_02.png

「External Dependency Manager」の「v1.2.163」を選択し、「Update to 1.2.163」を押して実行する。

2021-03-24_03.png

(3) Package内を確認。

ちゃんとバージョンがv1.2.163に変わったことを確認。

2021-03-24_04.png

これで広告が表示された。
何でもかんでも最新版がいいとは限らないんだなー。
posted by be-style at 00:09| Comment(0) | Unity

2021年03月23日

[Unity - iOS] AdMobプラグインを使ったときにビルドしても「.xcworkspace」が出力されないときの対処法

AdMobプラグイン(v5.4.0)を導入してビルドしたとき、「.xcworkspace」が出力されずに困ったときがあったので、メモ。


環境

・Unity2020.3.0f1
・XCode12.4
AdMobプラグイン for Unity v5.4.0


目指す形は、「iOS Resolver Settings」というメニューから、「Xcode Workspace - Add Cocoapods to Xcode workspace」を設定すること(下図)。

2021-03-22_10.png


事前チェック

Unityメニュー > Assets > External Dependency Manager > iOS Resolver
が存在しないことを確認。
もしこのメニューが存在するなら、以下の導入手順は不要です。
上図にある「Xcode Workspace - Add Cocoapods to Xcode workspace」が設定できていれば問題解決です。

2021-03-22_07.png


External Dependency Manager 導入手順

(1) Packages に「External Dependency Manager」が入ってないことを確認。

2021-03-22_01.png

(2) AdMobプラグインからインポートする
AdMobプラグイン for Unity v5.4.0から「GoogleMobileAds-v5.4.0.unitypackage」をダウンロードして、「External Dependency Manager」をUnityプロジェクトにインポートする。

2021-03-22_02.png

(3) Assetの内容を確認
すると、「External Dependency Manager」がAssets配下にインポートされます。

2021-03-22_03.png

(4) Unityが依存関係を解決してくれる
(3)が終わると、自動で「Package Manager Resolver」が立ち上がるので、何も考えずに「Add Selected Register」を選択。

2021-03-22_04.png

(5) 「External Dependency Manager」をPackageに移す
(4)が終わると、「Migrating Packages」が立ち上がり、バージョンを「v1.2.161->v1.2.164」に上げると言われるので、何も考えずに「Apply」を押す。
※(4)の操作が、AdMob広告が表示されなくなる原因になるとは思ってもいなかった、
※v1.2.164ではなくv1.2.163だと問題なかった。そのときの対応は別記事にて。


2021-03-22_05.png

すると、 「External Dependency Manager」をPackageに移ったことが確認できる。

2021-03-22_06.png

(7) iOS Resolverを立ち上げる
Unityメニュー > Assets > External Dependency Manager > iOS Resolver > Settings
というメニューが出来ているので、選択する。

2021-03-22_09.png

(8) ビルド時に「.xcworkspace」が出力されるように設定する

2021-03-22_10.png

これで、iOS用にビルドしたときに「.xcworkspace」が出力されるようになった。
気づくのに苦労した。。。


Package Mangerから「External Dependency Manager」を入れる方法

上記はAdMobプラグインを使った方法だったけど、Package Managerを使って入れることも出来た。
Edit > Project Settings > 左メニューのPackage Manager を選択。

NameGame Package Registry by Google
URLhttps://unityregistry-pa.googleapis.com
Scope(s)com.google

を入力して、Applyボタンを押す。

2021-03-22_11.png

Window > Package Manager にて、レジストリを「My Registories」にすると、先ほど設定したGoogleのレジストリが表示される。

2021-03-22_12.png

ここから、「External Dependency Manager」をインストールすることができた。

2021-03-22_08.png

_/_/_/_/_/_/ 注意! _/_/_/_/_/_/
Package Managerからインストールする際、上記(3)の状態のように「Assets」内にも「External Dependency Manager」があると重複してしまいPackageManagerがおかしくなる。
必ず「Assets」内の「External Dependency Manager」を先に削除しておくこと。
posted by be-style at 23:49| Comment(0) | Unity

2021年02月21日

[Unity] アプリ内課金(Android)で必要なGoogle Play Console内のライセンスキーの場所

UnityでAndroidのアプリ内課金を実装しようとして、In App Purchase を使うときに、アプリのライセンスキーが必要になります。

Unityの注意書きでは、
Google Play Console の「サービスとAPI」に載っているとあるのですが、最近Google Play Console がUIを改めたので、サービスとAPIのメニューがなくなりました。
結構探したので、メモ。

トップ画面から各アプリのページに入り、左メニューの「収益化のセットアップ」を選ぶと、そこにライセンスキーがあります。

スクリーンショット 2021-02-21.png

これを見つけるまでに手間取りました。。。
posted by be-style at 09:22| Comment(0) | Unity