简体   繁体   中英

Cannot see events in firebase analytics debug view

I'm trying to run a sample app with firebase analytics. I followed the firebase analytics guides to log a test event but I cannot see any events in the debug view. I log a test event on my main activity as below:

public class MainActivity extends AppCompatActivity
{
    private FirebaseAnalytics mFirebaseAnalytics;

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

        Bundle bundle = new Bundle();
        bundle.putString("test_parameter", "test_value");
        mFirebaseAnalytics.logEvent("test_event", bundle);
    }
}

And I use the following command to see my events in the debug view:

adb shell setprop debug.firebase.analytics.app com.example.firebaseanalyticssample

And I see the logs with the following commands:

adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC

I think maybe the problem is the null pointer exception appeared in the logs (the last line):

05-25 09:25:53.056 V/FA      (21533): Processing queued up service tasks: 2
05-25 09:25:53.086 V/FA-SVC  ( 5655): Logging event: origin=auto,name=_e,params=Bundle[mParcelledData.dataSize=132]
05-25 09:25:53.101 V/FA-SVC  ( 5655): Saving event, name, data size: _e, 87
05-25 09:25:53.106 V/FA-SVC  ( 5655): Event recorded: Event{appId='com.example.firebaseanalyticssample', name='_e', params=Bundle[{_o=auto, _r=1, _et=52395, _sc=MainActivity, _si=-5268297315019047641, _dbg=1}]}
05-25 09:25:53.106 V/FA-SVC  ( 5655): Upload scheduled in approximately ms: 500
05-25 09:25:53.111 V/FA-SVC  ( 5655): Background event processing time, ms: 31
05-25 09:25:53.621 V/FA-SVC  ( 5655): Device receiver got: com.google.android.gms.measurement.UPLOAD
05-25 09:25:53.646 V/FA-SVC  ( 5655): Device PackageMeasurementService called. startId, action: 194, com.google.android.gms.measurement.UPLOAD
05-25 09:25:53.651 D/FA-SVC  ( 5655): Uploading events. Elapsed time since last upload attempt (ms): 544
05-25 09:25:53.666 E/FA-SVC  ( 5655): Task exception on worker thread: java.lang.NullPointerException: Attempt to invoke virtual method 'long java.lang.Long.longValue()' on a null object reference: vgq.s(:com.google.android.gms:2650)

I searched a lot and just found this link regarding the exception above that says it must be an error from another application. but whenever my activity is resumed this exception occurs. I don't think that in my case this exception is caused by another apps.

I checked my sample app a lot of times so that every configuration would be exactly as the guides say. Have you any idea what can be the problem?

To enable sending of DebugView data on a connected Android test device for a configured Firebase Analytics app, execute the following command:

adb shell setprop debug.firebase.analytics.app <package_name>

This behavior persists until you explicitly disable it by executing the following command:

adb shell setprop debug.firebase.analytics.app .none.

iOS test device setup is as easy as Android, just use there Xcode command line arguments correspondingly:

–FIRDebugEnabled and

–FIRDebugDisabled

Try this

  private FirebaseAnalytics mFirebaseAnalytics;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mFirebaseAnalytics = FirebaseAnalytics.getInstance(getApplicationContext());

    mFirebaseAnalytics.setAnalyticsCollectionEnabled(true);

    mFirebaseAnalytics.setMinimumSessionDuration(10000);

    mFirebaseAnalytics.setSessionTimeoutDuration(300);


    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID,"ID");
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME,"NAME");
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE,"image");

   mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
   }

You can enable verbose logging with a series of adb commands:

adb shell setprop log.tag.FA VERBOSE

adb shell setprop log.tag.FA-SVC VERBOSE

adb logcat -v time -s FA FA-SVC

REF: https://firebase.google.com/docs/analytics/android/start/

I changed my development android phone and it got worked. it got worked with samsung SM-P601 and Huawei ِY560-U02 but it just kept throwing the exception below for android mobile phone samsung SM-J120F:

05-25 09:25:53.666 E/FA-SVC  ( 5655): Task exception on worker thread: java.lang.NullPointerException: Attempt to invoke virtual method 'long java.lang.Long.longValue()' on a null object reference: vgq.s(:com.google.android.gms:2650)

I checked google play services version in these three mobile phones and it was the same in all of them. I don't know what causes SM-J120F not to work.

执行启用调试模式后,请确保调试设备或仿真器和PC中的日期和时间正确无误。

Didn't work for me. But from logs, I've found that you need to add flavor name too. So, I had a flavor named "internal" and had to write com.package.name.internal in that adb command above.

In my case, I was using illegal characters in the name field.

Logcat gave the hint why this was happening to me: I was using a blank space in the name, which is illegal. You can only use [A-Za-z0-9_] .

Here my error message:

E/FA: Name must consist of letters, digits or _ (underscores).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM