我使用提供的插件为Unity设置了Google Analytics v4。它适用于编辑器和iOS设备,并且在线接收记录的事件等。但是在android上我在运行时得到了一系列异常,即使我设置了它应该的一切(编辑了清单并导入了插件)并且在构建时没有遇到任何问题。
首先找不到谷歌分析类,这似乎是comon:
UnityEngine.AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.analytics.GoogleAnalytics
I/Unity (13784): java.lang.ClassNotFoundException: com.google.android.gms.analytics.GoogleAnalytics
I/Unity (13784):
at java.lang.Class.classForName(Native Method)
I/Unity (13784):
at java.lang.Class.forName(Class.java:308)
I/Unity (13784):
at java.lang.Class.forName(Class.java:272)
I/Unity (13784):
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
I/Unity (13784):
at com.unity3d.player.UnityPlayer.a(Unknown Source)
I/Unity (13784):
at com.unity3d.player.UnityPlayer$b.run(Unknown Source)
I/Unity (13784): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.analytics.GoogleAnalytics"
作为解决方法,我找到了一个常见的解决方案(例如here),说明:
复制play-services-analytics-8.4.0.aar {Android的SDK} \演员\谷歌\ m2repository \ COM \谷歌\机器人\ GMS \播放服务,分析\ 8.4.0 到您的Assets / Plugins / Android文件夹。
这样做我摆脱了上面的例外,但引入了一个新例外:
UnityEngine.AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/zzx;
I/Unity (13051): java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/internal/zzx;
I/Unity (13051):
at com.google.android.gms.analytics.internal.zzf.zzaa(Unknown Source)
I/Unity (13051):
at com.google.android.gms.analytics.GoogleAnalytics.getInstance(Unknown Source)
I/Unity (13051):
at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
I/Unity (13051):
at com.unity3d.player.UnityPlayer.a(Unknown Source)
I/Unity (13051):
at com.unity3d.player.UnityPlayer$b.run(Unknown Source)
对于这个我到目前为止找不到解决方案而且目前卡住了。我认为我的设置有问题,但我无法解决。任何帮助将不胜感激
编辑:我更改为google analytics v3(刚刚交换了Unity插件附带的一些源类并添加了一些演员表),现在它可以在设备上运行。那么我的测试设备的Android版本与google analytics v4不兼容吗?无法真正说明,调试器的更多见解会有所帮助。
答案 0 :(得分:1)
如上所述,谷歌播放服务与分析之间存在冲突 https://github.com/googleanalytics/google-analytics-plugin-for-unity/issues/51#issuecomment-98633184
` 你可以下载并包含v23播放服务jar http://dl.google.com/android/repository/google_play_services_7095000_r23.zip
最新的统一sdk对我有用
答案 1 :(得分:0)
我得到完全相同的行为。回滚到V3解决了这个问题。