我在LibGDX游戏应用上实施Google Analytics时遇到了问题。我想跟踪游戏的屏幕,但Google Analytics仅适用于Gradle项目的android文件夹部分。在核心部分,虽然我已经将libGoogleAnalyticsServices.jar添加到核心文件夹中,但它没有获得游戏屏幕类的上下文。 我在互联网上搜索了解决方案,但没有任何结果,所以我无法在项目的核心部分初始化Google Analytics。
这是我尝试初始化Google Analytics的代码段:
GoogleAnalytics GA = GoogleAnalytics.getInstance();
它给了我这个错误“无法解析android.content.Context类型。它是从所需的.class文件间接引用的“
我是否应该在Core中使用Android项目的libGoogleAnalyticsServices.jar,还是应该使用另一个jar文件来执行此任务?
以下是我找到此问题信息的一些链接。
Google Event Tracker v3 https://developers.google.com/analytics/devguides/collection/android/v3/migration http://badlogicgames.com/forum/viewtopic.php?f=11&t=4298
关于这个具体问题的任何答案都非常有用。提前谢谢。
答案 0 :(得分:6)
您应该在Android项目中使用Google Analytics sdk ,而不是在核心项目中。在核心项目中应该只是与平台无关的代码。不要将android库导入您的核心项目。
如果要跟踪核心项目中的屏幕视图,您应该可以通过使用界面来实现。有一个wiki guide for interfacing libgdx
您跟踪屏幕视图的界面可能与此类似:
public interface Trackable {
public void trackScreen(String screenName);
}
在您的Android项目中,此方法将实施Google Analytics跟踪代码。
答案 1 :(得分:2)
如果您使用基于Intellij / Gradle的项目,请将Google Play服务添加到您的项目中:
将google play services
依赖项添加到android项目中的gradle文件中。 (在此之前,您应该从SDK Manager获取最新版本)
依赖{ 编译com.google.android.gms:play-services:6.5.87' }
向您的清单文件添加Internet
和Network State
权限。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在清单文件中将min sdk更改为9.
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="21" />
现在您需要在游戏中添加GA,您可以按照此处的步骤操作:http://pygmalion.nitri.de/google-analytics-sdk-v4-with-libgdx-536.html或在GA的主站点上。