Tam*_*arG 0 android google-analytics tracker
几天前我有一个androiid应用程序和一个谷歌分析帐户.我根据教程添加了所有代码(java,xml)并运行应用程序,我在LogCat中看到此消息,但我没有在GA实时页面中获得任何报告.
12-20 21:02:55.231:V/GAV4(692):线程[GAThread,5,main]:发送命中以存储路径:https:PARAMS:ul = en-us,ht = 1419109375226,sr = 768x1184,a = 1387204066,sf = 100.0,aid = com.example.myApp,cid = d7608297-cbbc-4516-b82d-5acabdce4814,av = 1.0,v = 1,t = screenview,an = my app,tid = UA- .. ......- 2,_u = .9r8,cd = com.example.myApp.MainActivity,
如果您需要我的代码:
表现:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myApp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name ="MyApp"
android:theme="@style/AppTheme" >
<!-- Google Analytics Version v4 needs this value for easy tracking -->
<meta-data android:name="com.google.android.gms.analytics.globalConfigResource"
android:resource="@xml/global_tracker" />
<activity
android:name="com.example.myApp.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
应用:
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
import android.app.Application;
public class MyApplication extends Application {
// The following line should be changed to include the correct property id.
private static final String PROPERTY_ID = "UA-.......-2";
//Logging TAG
private static final String TAG = "MyApp";
public static int GENERAL_TRACKER = 0;
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.
ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
}
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
public MyApplication() {
super();
}
synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(R.xml.app_tracker)
: (trackerId == TrackerName.GLOBAL_TRACKER)? analytics.newTracker(PROPERTY_ID)
: analytics.newTracker(R.xml.global_tracker);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
}
Run Code Online (Sandbox Code Playgroud)
主要活动 :
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
getOverflowMenu();
interstitial = new InterstitialAd(this);
//Get a Tracker (should auto-report)
Tracker t =((MyApplication) getApplication()).getTracker(MyApplication.TrackerName.APP_TRACKER);
// Enable Advertising Features.
t.enableAdvertisingIdCollection(true);
}
@Override
public void onStart() {
super.onStart();
//Get an Analytics tracker to report app starts & uncaught exceptions etc.
GoogleAnalytics.getInstance(this).reportActivityStart(this);
}
@Override
public void onStop() {
super.onStop();
//Stop the analytics tracking
GoogleAnalytics.getInstance(this).reportActivityStop(this);
}
Run Code Online (Sandbox Code Playgroud)
global_tracker.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
<!-- tools:ignore="TypographyDashes" -->
<!-- the Local LogLevel for Analytics -->
<string name="ga_logLevel">verbose</string>
<!-- how often the dispatcher should fire -->
<integer name="ga_dispatchPeriod">1</integer>
<!-- Treat events as test events and don't send to google -->
<bool name="ga_dryRun">false</bool>
<!-- The screen names that will appear in reports -->
<screenName name="com.example.MainActivity">MainActivity</screenName>
</resources>
Run Code Online (Sandbox Code Playgroud)
app_tracker.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
<!-- tools:ignore="TypographyDashes" -->
<!-- The apps Analytics Tracking Id -->
<string name="ga_trackingId">UA-........-2</string>
<!-- Percentage of events to include in reports -->
<string name="ga_sampleFrequency">100.0</string>
<!-- Enable automatic Activity measurement -->
<bool name="ga_autoActivityTracking">true</bool>
<!-- catch and report uncaught exceptions from the app -->
<bool name="ga_reportUncaughtExceptions">true</bool>
<!-- How long a session exists before giving up -->
<integer name="ga_sessionTimeout">-1</integer>
<!-- If ga_autoActivityTracking is enabled, an alternate screen name can be specified to
substitute for the full length canonical Activity name in screen view hit. In order to
specify an alternate screen name use an <screenName> element, with the name attribute
specifying the canonical name, and the value the alias to use instead. -->
<screenName name="com.example.MainActivity">MainActivity</screenName>
</resources>
Run Code Online (Sandbox Code Playgroud)
设置代码和帐户后,您必须等待24-48小时.之后只有您可以获取数据.为了更简单的方法,你可以在这篇文章中看到我的回复
谷歌分析 - 在AsyncTask中发送的NetworkOnMainThreadException
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |