对于想了解GoogleAnalytics(分析)AndroidSDK4newTracker未定义的读者,本文将是一篇不可错过的文章,我们将详细介绍android_sdk_root未定义,并且为您提供关
对于想了解Google Analytics(分析)Android SDK 4 newTracker未定义的读者,本文将是一篇不可错过的文章,我们将详细介绍android_sdk_root未定义,并且为您提供关于Android google analytics集成错误、Android Google Analytics页面统计的开发经验、android – google analytics easytracker导致java连接异常、android – Google Analytics SDK v4跟踪广告系列通过电子邮件发送无数据的有价值信息。
本文目录一览:- Google Analytics(分析)Android SDK 4 newTracker未定义(android_sdk_root未定义)
- Android google analytics集成错误
- Android Google Analytics页面统计的开发经验
- android – google analytics easytracker导致java连接异常
- android – Google Analytics SDK v4跟踪广告系列通过电子邮件发送无数据
Google Analytics(分析)Android SDK 4 newTracker未定义(android_sdk_root未定义)
我一直在浏览Google Analytics(分析)网站上的文档和资源,以使用Android SDK 4来实现它.我经历了多个堆栈溢出问题,但其他问题似乎还有其他问题.我已按照以下步骤进行初始化:初始化跟踪器;创建一个类,该类将应用程序扩展为设置跟踪器以及我的电子商务和全局跟踪器.
在我的应用程序类上,所有内容均从示例开始进行,但是“ newTracker”方法未定义.我的图书馆中有libGoogleAnalyticsServices.jar,下面是我的课程.谢谢您看我,我很困惑.
import java.util.HashMap;
import com.google.analytics.tracking.android.GoogleAnalytics;
import com.google.analytics.tracking.android.Tracker;
import android.app.Application;
public class GlobalState extends Application {
private static final String PROPERTY_ID = "myNumber";
private Tracker tracker;
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
public enum TrackerName {
APP_TRACKER,
GLOBAL_TRACKER,
E_COMMERCE_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)
: analytics.newTracker(R.xml.ecommerce_tracker);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
}
解决方法:
我刚遇到这个问题,
尝试从项目中删除libGoogleAnalyticsServices.jar.我相信这是将Google Analytics(分析)添加到您的应用程序的旧方法.
接下来按照http://developer.android.com/google/play-services/setup.html的说明进行操作
简而言之,Google Analytics(分析)现已包含在Google Play服务库项目中.
要总结链接中的说明,请导入位于
< android-sdk> / extras / google / google_play_services / libproject / google-play-services_lib /
在您的应用程序中将Google Play服务纳入图书馆项目
加:
<元数据android:name =“ com.google.android.gms.version”
android:value =“ @ integer / google_play_services_version” />
作为清单中应用程序声明的子项.
Android google analytics集成错误
当我试图在我的活动中获取跟踪器时,它显示错误 – 这个方法在谷歌分析v4中取消定义“getactivity()”
// Get tracker.
Tracker t = ((AnalyticsSampleApp) getActivity().getApplication())
.getTracker(TrackerName.APP_TRACKER);
解决方法:
如果您还没有这样做,请为您的应用创建一个MyApplication扩展应用程序类,并确保将其添加到您的清单中,如下所示(这里重要的属性是android:name,我删除了其他xml属性明晰).
<application
android:name="mypackagename.MyApplication"
... >
然后,在MyApplication类中,根据Google Analytics v4文档https://developers.google.com/analytics/devguides/collection/android/v4/#tracking-methods创建方法getTracker
然后,使用
Tracker t = ((MyApplication) getApplication())
.getTracker(TrackerName.APP_TRACKER);
Android Google Analytics页面统计的开发经验
GA集成步骤:
1.jar包准备:只需要一个jar包 google-play-sevices.jar,确认一下jar包里面有 com.google.android.gms.analytics这个目录,里面比较核心的3个类是GoogleAnalytics和Tracker还有HitBuilders,一般确认有这三个类的话jar包就应该没问题。
2.在Androidmanifest文件里面确认有以下权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
3.在app的入口处增加获取Tracker实例的代码:
Tracker () {
(== ) {
GoogleAnalytics analytics = GoogleAnalytics.()= analytics.newTracker().enableExceptionReporting().enableAutoActivityTracking()}
}
这个方法写在Appcation的子类中,一般一个project只有一个这个类,你应该能轻松找到。
分析一下这几行代码,mTracker是一个全局变量,这个方法是线程同步的,PRODUCT_ID是你在GA上申请的trackerId,
mTracker.enableAutoActivityTracking(false);
这行代码是用来追踪你的Activity的,如果设为true的话,你在进所有带有send代码的Activity时都会向GA服务器发送完整类名作为ScreenName,我这里设为false,因为我后面自定义了屏幕名称。
4.在需要追踪的Activity和onClick方法中获取tracker对象,调用setScreenName方法设置页面名称,然后调用send方法发送。
mTracker = AiHomeApplication.getInstance().getDefaultTr
acker();
mTracker.setScreenName(s);
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
暂时就写这么多了,GA集成总体来说很简单。
android – google analytics easytracker导致java连接异常
到目前为止,我可以从我的模拟器连接到G.A服务器并上传信息.
问题是,当我从三星galaxy S测试时,应用程序无法与G.A服务器进行通信.
我得到下一个错误:
12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): Problem with socket or streams. 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): java.net.ConnectException: www.google-analytics.com/127.0.0.1:80 - Connection refused 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:207) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at java.net.socket.connect(Socket.java:1002) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at com.google.android.apps.analytics.PipelinedRequester.maybeOpenConnection(UnkNown Source) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at com.google.android.apps.analytics.PipelinedRequester.addRequest(UnkNown Source) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at com.google.android.apps.analytics.Networkdispatcher$dispatcherThread$AsyncdispatchTask.dispatchSomePendingHits(UnkNown Source) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at com.google.android.apps.analytics.Networkdispatcher$dispatcherThread$AsyncdispatchTask.run(UnkNown Source) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at android.os.Handler.handleCallback(Handler.java:587) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at android.os.Handler.dispatchMessage(Handler.java:92) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at android.os.Looper.loop(Looper.java:130) 12-17 17:43:21.924: W/GoogleAnalyticsTracker(20577): at android.os.HandlerThread.run(HandlerThread.java:60)
我认为我的设备有问题 – 可以安装防火墙,无论出现什么问题 – 我该如何绕过它?
解决方法
相关信息
> http://pocketnow.com/tweaks-hacks/how-to-surf-faster-on-your-android-using-the-hosts-table
> http://forum.xda-developers.com/showthread.php?t=664532
> http://afreemobile.blogspot.com/2011/09/easy-way-to-block-ads-on-android.html
等等
android – Google Analytics SDK v4跟踪广告系列通过电子邮件发送无数据
我们正在尝试使用以下代码将数据发送到Google Analytics:
我们要跟踪的网址:
URL SCHEME : scheme://www.example.com/commandes?utm_source=Mail_Invitation_Vente_ET&utm_medium=email&utm_term=ALL&utm_content=ALL&utm_campaign=TEST_CAMPAIGN OR URLs WEB: http://www.example.com/commandes?utm_source=Mail_Invitation_Vente_ET&utm_medium=email&utm_term=ALL&utm_content=ALL&utm_campaign=TEST_CAMPAIGN http://examplepetstore.com/index.html?utm_source=email&utm_medium=email_marketing&utm_campaign=summer&utm_content=email_variation_1 (the documentation : https://developers.google.com/analytics/devguides/collection/android/v4/campaigns)
跟踪代码:
Tracker tracker = GoogleAnalytics.getInstance(this).newTracker("UA-XXXXX"); tracker.enableExceptionReporting(true); tracker.enableAdvertisingIdCollection(true); tracker.enableAutoActivityTracking(true); tracker.setScreenName("SCREEN/ android"); tracker.send(new HitBuilders.Screenviewbuilder().setCampaignParamsFromUrl(URL_TO_TRACK).build()); GoogleAnalytics.getInstance(context).dispatchLocalHits();
我们也试过这个:
HashMap<String,String> campaignMap = new HashMap<>(3); campaignMap.put("utm_source",SOURCE_TO_TRACK); campaignMap.put("utm_medium",MEDIUM_TO_TRACK); campaignMap.put("utm_campaign",CAMPAIGN_TO_TRACK); tracker.send(new HitBuilders.Screenviewbuilder().setAll(campaignMap).build());
我们希望通过URL SCHEME(协议或HTTP URL)跟踪特定链接的点击.
你能告诉我们我的代码是否有问题吗?
SDK版本:play-services:7.5.0
我使用的是Google Analytics v4.
解决方法
public static GoogleAnalytics analytics; public static Tracker tracker; protected void onCreate(Bundle savedInstanceState) { analytics = GoogleAnalytics.getInstance(this); analytics.setLocaldispatchPeriod(1800); tracker = analytics.newTracker("UA-XXXXX-0"); tracker.enableExceptionReporting(true); tracker.enableExceptionReporting(true); tracker.enableAutoActivityTracking(true); String campaignData = "http://examplepetstore.com/index.html?utm_source=email&utm_medium=email_marketing&utm_campaign=summer&utm_content=email_variation_1 "; tracker.setReferrer(campaignData); tracker.send(new HitBuilders.Screenviewbuilder() .setCampaignParamsFromUrl(campaignData) .build()); }
AndroidMainfest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xxxxxxx" android:versionCode="11" android:versionName="1.0" > <uses-sdk android:maxsdkVersion="23" android:minSdkVersion="14" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <application <receiver android:name="com.google.android.gms.analytics.AnalyticsReceiver" android:enabled="true"> <intent-filter> <action android:name="com.google.android.gms.analytics.ANALYTICS_disPATCH" /> </intent-filter> </receiver> <service android:name="com.google.android.gms.analytics.AnalyticsService" android:enabled="true" android:exported="false" /> <!-- Optionally,register CampaignTrackingReceiver and CampaignTrackingService to enable installation campaign reporting android:permission="android.permission.INSTALL_PACKAGES" --> <service android:name="com.google.android.gms.analytics.CampaignTrackingService" /> <receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver" android:exported="true" android:permission="android.permission.INSTALL_PACKAGES"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> </application> </manifest>
应用程序级build.gradel
apply plugin: ''android'' apply plugin: ''com.google.gms.google-services'' dependencies { compile filetree(dir: ''libs'',include: ''*.jar'') compile project('':Volley'') compile project('':Volley'') compile ''com.google.android.gms:play-services-analytics:8.3.0'' //apply plugin: ''com.google.gms.google-services'' compile ''com.android.support:multidex:1.0.0'' } android { //compileSdkVersion 20 //buildToolsversion "20.0.0" compileSdkVersion 23 buildToolsversion "23.0.0" useLibrary ''org.apache.http.legacy'' configurations { all*.exclude group: ''com.android.support'',module: ''support-v4'' } defaultConfig { applicationId "com.xxxxxxx" multiDexEnabled true minSdkVersion 14 targetSdkVersion 23 versionCode 11 versionName "1.0" } sourceSets { main { manifest.srcFile ''AndroidManifest.xml'' java.srcDirs = [''src''] resources.srcDirs = [''src''] aidl.srcDirs = [''src''] renderscript.srcDirs = [''src''] res.srcDirs = [''res''] assets.srcDirs = [''assets''] } // Move the tests to tests/java,tests/res,etc... instrumentTest.setRoot(''tests'') // Move the build types to build-types/<type> // For instance,build-types/debug/java,build-types/debug/AndroidManifest.xml,... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot(''build-types/debug'') release.setRoot(''build-types/release'') } }
项目级build.gradel
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { //mavenCentral() jcenter() } dependencies { classpath ''com.android.tools.build:gradle:1.3.0'' classpath ''com.google.gms:google-services:1.5.0-beta2'' } allprojects { repositories { jcenter() } } }
今天关于Google Analytics(分析)Android SDK 4 newTracker未定义和android_sdk_root未定义的分享就到这里,希望大家有所收获,若想了解更多关于Android google analytics集成错误、Android Google Analytics页面统计的开发经验、android – google analytics easytracker导致java连接异常、android – Google Analytics SDK v4跟踪广告系列通过电子邮件发送无数据等相关知识,可以在本站进行查询。
本文标签: