为Android LibGDX游戏屏幕实施Google Analytics

时间:2014-12-11 09:29:41

标签: java android google-analytics libgdx

我在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

关于这个具体问题的任何答案都非常有用。提前谢谢。

2 个答案:

答案 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服务添加到您的项目中:

  1. google play services依赖项添加到android项目中的gradle文件中。 (在此之前,您应该从SDK Manager获取最新版本)

    依赖{   编译com.google.android.gms:play-services:6.5.87' }

  2. 向您的清单文件添加InternetNetwork State权限。

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  3. 在清单文件中将min sdk更改为9.

    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="21" />

  4. 现在您需要在游戏中添加GA,您可以按照此处的步骤操作:http://pygmalion.nitri.de/google-analytics-sdk-v4-with-libgdx-536.html或在GA的主站点上。