无法解决方法newTracker(Analytics)

时间:2015-03-22 17:50:44

标签: android analytics

我正在尝试在我的项目中使用Google Analytics。并且找不到newTracker方法。此外,我不需要电子商务跟踪器,所以我把它拿出来。但是现在我无法通过获取错误来结束语句

: is expected here''

我评论了错误显示在下方。

import android.app.Application;

import com.google.analytics.tracking.android.GoogleAnalytics;
import com.google.analytics.tracking.android.Tracker;

import java.util.HashMap;

public class AnalyticsTracker1 extends Application {

private static final String PROPERTY_ID = "UA-xxxxxxx-1";


public enum TrackerName {
    APP_TRACKER, // Tracker used only in this app.
    GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.

}


HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();

synchronized Tracker getTracker(TrackerName trackerId) {
    if (!mTrackers.containsKey(trackerId)) {

        GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
        Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
                : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker); //: expected here

        mTrackers.put(trackerId, t);

    }
    return mTrackers.get(trackerId);
}
}

1 个答案:

答案 0 :(得分:1)

Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
            : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker) : null;

像这样修改你的代码,如果trackerID不等于任何枚举,那么它应该返回null。由于您尚未完成第二个三元运算符,因此出现错误。 对于第二个问题,我假设您已将谷歌分析jar导入您的项目。 如果它不是它不会工作。 在这种情况下的解决方案:

  1. 从项目中删除jar。
  2. 打开SDK管理器&gt;附加内容下载并安装Google Play服务和Google Repository
  3. 完成后,前往Google play service set up page“将Google Play服务添加到您的项目”,从下拉列表Eclipse或Android Studio中选择并按照流程将Google Play服务项目作为lib添加到您自己的项目中
  4. 4。添加

    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> 到您的清单的应用程序标签。 它会起作用。

    我现在检查了它的工作情况。