统一的Google Play服务和admob应用在打开时崩溃

时间:2019-01-06 15:30:48

标签: android unity3d

我开始疯了,所以我想得到你的帮助。

我有一款游戏已经发布,其中包含Play服务(0.9.50)和GoogleAds for Unity。 现在,我有一个问题。

当我尝试更新游戏时,我遇到了几个问题。打开项目时,几个月前构建的同一版本没有任何更改,但出现以下错误:

Resolution failed

Failed to fetch the following dependencies:
com.google.android.gms:play-services-auth-games:15.0.1+

因此,由于这个原因,我尝试将Play服务更新为0.9.57版,并且上述错误消失了,但是现在我收到了Unity的警告。

Some conflicting dependencies were found.
The following dependency versions were modified:
com.google.games:gpgs-plugin-support:0.9.57 --> com.google.games:gpgs-plugin-support:+
com.google.android.gms:play-services-ads:15.0.1 --> com.google.android.gms:play-services-ads:+

问题是当我构建apk时,应用程序在打开后便崩溃了。我只不过是那个错误而已,该应用程序关闭了。如果我在游戏中禁用了播放服务,则它可以正常工作,因此看来Play服务出现了问题。

我更新的主要目的是修复一些错误,并添加更多级别。

有人可以指出我正确的方向吗?我真的快要疯了,因为似乎什么都不起作用...

我尝试了多种更改以及播放服务,谷歌移动广告的不同版本/版本,甚至没有成功也无法统一。

6 个答案:

答案 0 :(得分:0)

在移动设备上安装时,您的应用是否获得网络许可?

您是否在Android清单中添加了网络访问权限? 以我为例,广告初始化时游戏崩溃了,但是当我更新Android Manifest时解决了。

答案 1 :(得分:0)

就我而言,这似乎与Google Play服务(最新版本)有关。使用Unity 2017.4.17f1,Google Mobile Ads 3.15.1(当前最新版本)和Google Play Services 0.9.53(不是最新版本)时,Editor中没有任何错误,并且该应用在运行时不会崩溃。将解决方案留给可能与我有相同问题的任何人。

答案 2 :(得分:0)

在我的情况下,我同时使用了Google Play服务(最新版本)和Google移动广告(目前是最新版本)。我仅包括玩游戏服务统一解析器,以防止清单冲突。我在编辑器中也没有任何错误,统一成功地编译了apk。但是当在移动程序上测试游戏时突然崩溃,并使用adb logcat在下面遇到了此错误。只需完成these things就可以解决问题,并且该应用程序可以在移动设备上正常启动。我希望这对您有用。

Adb Logcat错误:

java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: 

******************************************************************************
* The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
* should follow the instructions here:  to add a valid  *
* App ID inside the AndroidManifest. Google Ad Manager publishers should     *
* follow instructions [here][1]                 *
******************************************************************************


    at android.app.ActivityThread.installProvider(ActivityThread.java:6242)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5805)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5722)
    at android.app.ActivityThread.-wrap1(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
 Caused by: java.lang.IllegalStateException: 

******************************************************************************
* The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
* should follow the instructions [here][1]:  to add a valid  *
* App ID inside the AndroidManifest. Google Ad Manager publishers should     *
* follow instructions [here:][1]                           *
******************************************************************************


    at com.google.android.gms.internal.ads.zzmn.attachInfo(Unknown Source:17)
    at com.google.android.gms.ads.MobileAdsInitProvider.attachInfo(Unknown Source:3)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6239)

'

答案 3 :(得分:0)

打开您的GooglePlayGamesPluginDependencies.xml文件,并确保为"com.google.games:gpgs-plugin-support:x.x.xx"提及的路径存在且有效。

答案 4 :(得分:0)

嗨,您可以尝试在项目中添加此行

AndroidManifest.xml

内部

<application>

<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="[appid here]"/>

答案 5 :(得分:0)

实施最新的统一广告。您需要在AndroidMenifest文件中进行一些更改。

Inside AndroidMenifest.xml
<application>

<meta-data 
//DON'T CHANGE THIS. LEAVE THIS AS IT IS.
android:name="com.google.android.gms.ads.APPLICATION_ID"
//CHANGE THIS TO YOU ID
 android:value="[appid here]"/>

在此找到了一个视频。 https://youtu.be/qlRvqi1DAQk