Friday 15 August 2014

java - google analytics v4 on android crashing -



java - google analytics v4 on android crashing -

i trying track app statistics using google analytics. trying follow tutorial @ http://java.dzone.com/articles/working-google-analytics-api several people have posted , said works them. here code :

my app_tracker.xml file below

<?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="typographydashes"> <span style="line-height: 1.5; font-style: inherit; font-weight: inherit;"> </span> <string name="ga_trackingid">ua-xxxxxxx-1</string> <string name="ga_samplefrequency">100.0</string> <bool name="ga_autoactivitytracking">true</bool> <bool name="ga_reportuncaughtexceptions">true</bool> <integer name="ga_sessiontimeout">-1</integer> <screenname name="game">game</screenname> <screenname name="settings">settings</screenname> </resources>

my global_tracker xml file below:

<?xml version="1.0" encoding="utf-8"?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="typographydashes"> <span style="line-height: 1.5; font-style: inherit; font-weight: inherit;"> </span> <string name="ga_loglevel">verbose</string> <integer name="ga_dispatchperiod">30</integer> <bool name="ga_dryrun">false</bool> <string name="games">games</string> <string name="settings">settings</string> </resources>

in manifest file have entered next code block:

<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />

my main activity looks :

import com.google.android.gms.analytics.googleanalytics; import com.google.android.gms.analytics.tracker; public class mainactivity extends activity implements view.onclicklistener { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); ((myapplication)getapplication()).gettracker(myapplication.trackername.app_tracker); }

the myapplication class app should have follows

public class myapplication extends application { private static final string property_id = "ua-xxxxxxxx-1"; private static final string tag = "myapp"; public static int general_tracker = 0; public enum trackername { app_tracker, // tracker used in app. global_tracker, // tracker used apps company. eg: roll-up tracking. ecommerce_tracker, // tracker used ecommerce transactions 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(property_id) : (trackerid == trackername.global_tracker) ? analytics.newtracker(property_id) : analytics.newtracker(r.xml.ecommerce_tracker); mtrackers.put(trackerid, t); } homecoming mtrackers.get(trackerid); } }

when programme running, crashes when reaches line

((myapplication)getapplication()).gettracker(myapplication.trackername.app_tracker);

in main activity. have spent weeks trying find way around no success. can please help me configure google analytics v4 in android project?

i'm editing (as i'm getting same issue) & here goes logcat

:10-29 15:31:13.062: e/androidruntime(683): fatal exception: main 10-29 15:31:13.062: e/androidruntime(683): java.lang.runtimeexception: unable start activity componentinfo{com.mrana.send/com.mrana.send.homeactivity}: java.lang.classcastexception: android.app.application cannot cast com.mrana.send.sendapplication 10-29 15:31:13.062: e/androidruntime(683): @ android.app.activitythread.performlaunchactivity(activitythread.java:2059) 10-29 15:31:13.062: e/androidruntime(683): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2084) 10-29 15:31:13.062: e/androidruntime(683): @ android.app.activitythread.access$600(activitythread.java:130) 10-29 15:31:13.062: e/androidruntime(683): @ android.app.activitythread$h.handlemessage(activitythread.java:1195) 10-29 15:31:13.062: e/androidruntime(683): @ android.os.handler.dispatchmessage(handler.java:99) 10-29 15:31:13.062: e/androidruntime(683): @ android.os.looper.loop(looper.java:137) 10-29 15:31:13.062: e/androidruntime(683): @ android.app.activitythread.main(activitythread.java:4745) 10-29 15:31:13.062: e/androidruntime(683): @ java.lang.reflect.method.invokenative(native method) 10-29 15:31:13.062: e/androidruntime(683): @ java.lang.reflect.method.invoke(method.java:511) 10-29 15:31:13.062: e/androidruntime(683): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:786) 10-29 15:31:13.062: e/androidruntime(683): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:553) 10-29 15:31:13.062: e/androidruntime(683): @ dalvik.system.nativestart.main(native method) 10-29 15:31:13.062: e/androidruntime(683): caused by: java.lang.classcastexception: android.app.application cannot cast com.mrana.send.sendapplication 10-29 15:31:13.062: e/androidruntime(683): @ com.mrana.send.homeactivity.oncreate(homeactivity.java:73) 10-29 15:31:13.062: e/androidruntime(683): @ android.app.activity.performcreate(activity.java:5008) 10-29 15:31:13.062: e/androidruntime(683): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1079) 10-29 15:31:13.062: e/androidruntime(683): @ android.app.activitythread.performlaunchactivity(activitythread.java:2023) 10-29 15:31:13.062: e/androidruntime(683): ... 11 more

line 73 same line op mentioned crashes app.

note:im testing on emulator. feature requires tested on real devices (having play store installed)?

you need add together application name in manifest file.

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:name=".mainapplication" > </application>

java android google-analytics

No comments:

Post a Comment