iOSではそのまま表示できたのになーと
ログを出してみていたら、Start()de
MobileAds.Initialize
のところでエラーになっていました。。。
10-10 20:15:40.806 1090 1110 E Unity : AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener
10-10 20:15:40.806 1090 1110 E Unity : java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListener
10-10 20:15:40.806 1090 1110 E Unity : at java.lang.Class.classForName(Native Method)
こんな感じで、クラスが見つからないと。なにかファイルが足りていないのか?
10-10 20:15:40.806 1090 1110 E Unity : Caused by: java.lang.ClassNotFoundException: Didn’t find class “com.google.android.gms.ads.initialization.OnInitializationCompleteListener” on path: DexPathList[[zip file “/system/framework/org.apache.http.legacy.boot.jar”,
んー
の
>> Unity エディタで、[Assets] > [Play Services Resolver] > [Android Resolver] > [Resolve]
っていうの
External Dependency Manager > Android Resolver > Resolve
もやったのですがねー
全然解決策がわからないので・・・
Resolve がなんかResolveしてないんだろうなと
Force Resolve
を選択してみました!
もりもりPlugins > Androidになにか増えていきました^o^
Build 失敗^^; これは重症化か・・・
めげずに Unity Hubから unityのバージョンを代えてみました!
buildできたけど、アプリ起動即エラー!!!
んごごご><
とりあえずLTSで動かそうと 2019.4.12f にしました。
ダウングレードしたことにより、エラー^^;
Library/PackageCache/com.unity.collab-proxy@1.3.9/Editor/UserInterface/Bootstrap.cs(23,20): error CS0117: ‘Collab’ does not contain a definition for ‘ShowChangesWindow’
よくわかりませんが、PackageCacheなので消してもいいのかなーなんて思い消してみます^^;
プロジェクトディレクトリの下の Library/PackageCache/… ぜんぶ消してみようかななんて
PackageCache 全消しして から Unity を起動してみました!
ダメでしたー;;
Package/manifest.json から該当パッケージを削除してみる
{
"dependencies": {
"com.google.external-dependency-manager": "1.2.157",
"com.unity.2d.sprite": "1.0.0",
"com.unity.2d.tilemap": "1.0.0",
=> "com.unity.collab-proxy": "1.3.9",
"com.unity.ext.nunit": "1.0.0",
"com.unity.ide.rider": "1.2.1",
"com.unity.ide.visualstudio": "2.0.2",
"com.unity.ide.vscode": "1.2.1",
"com.unity.mobile.notifications": "1.3.0",
"com.unity.test-framework": "1.1.16",
=> "com.unity.textmeshpro": "3.0.1",
"com.unity.timeline": "1.2.6",
"com.unity.ugui": "1.0.0",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0
エラーがでている該当する2行を削除してからまた起動。
Android build … 失敗。
Failed to load ‘/Users…/Library/LastBuild.buildreport’. File may be corrupted or was serialized with a newer version of Unity.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
リセット
いったん諦めて、gitで元の状態に戻しました。
UnityのVersionはLTSではない最新状態に。
Force Resolveして、Plugins/Android 以下にファイルをがーっと
ところが、また、エラー・・・Build Error
深呼吸からいったんUnityをClose して hubから再起動
再度 Build and Run を実行。
無事、実行されました。
ClassNotFoundException は出なくなり、広告の関数は実行されています!
広告は表示されていません^^;
アプリの実行自体は問題ないのですが・・・
Ads : Ad failed to load : 3
テスト広告をリクエストしている模様.
Ads : Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList(“xxx”) to get test ads on this device.
AdsUnity: Calling loadAd() on Android
Ads : Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList(“1E156C9E4DB0F4C932F853F6F928E3C8”) to get test ads on this device.
Ads : Not retrying to fetch app settings
Ads : SDK version: afma-sdk-a-v202510999.202006000.1
Ads : HTTP timeout: 60000 milliseconds.
FA-Ads : Tag Manager is not found and thus will not be used
Ads : Ad failed to load : 3
広告がないか、広告のIDが違うかのエラーらしいです。
その前に、HTTP timeout: 60000 milliseconds.ってあるので・・・ですけど・・・
とりあえず、Test状態のエラーというパターンもあるかな?(希望的観測。
さていつ解決するか乞うご期待?
新しいエラーで起動失敗!!!
広告のロードエラーで安心していたのですが、gitで他がおかしくなって直していたら動かなくなりました!!!
app idがおかしいとか言われていますが・・・ちゃんと設定してありますが・・・
Invalid application ID. Follow instructions here:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException:
**************************************************************************
Invalid application ID. Follow instructions here: https://googlemobileadssdk.page.link/admob-android-update-manifest
to find your app ID.
**************************************************************************
AndroidManifest.xml を更新する?
ここに app ID があるか確認しろと
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.unity.ads" android:versionName="1.0" android:versionCode="1">
<application>
<uses-library android:required="false" android:name="org.apache.http.legacy" />
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value=" ca-app-pub-123~456" />
</application>
</manifest>
なんと! ca-app-pub- の前にスペースが一つ・・・
シンプルに、app ID にスペースが入っていました・・・
Assets > Google Mobile Ads > Settings から app IDを修正しました^^
無事起動成功^^
コメント