首页 文章

无法在firebase分析调试视图中查看事件

提问于
浏览
2

我正在尝试使用firebase分析运行示例应用程序 . 我按照firebase分析指南记录测试事件,但我在调试视图中看不到任何事件 . 我在主要活动上记录测试事件,如下所示:

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);
    }
}

我使用以下命令在调试视图中查看我的事件:

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

我用以下命令看到日志:

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

我想也许问题是日志中出现的空指针异常(最后一行):

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)

我搜索了很多,只是找到this link关于上面的例外,它说它必须是来自另一个应用程序的错误 . 但每当我的活动恢复时,就会发生此异常 . 我不认为在我的情况下,此异常是由其他应用程序引起的 .

我经常检查我的示例应用程序,以便每个配置都与指南说的完全一样 . 你知道可能是什么问题吗?

5 回答

  • 1

    要在已连接的Android测试设备上为已配置的Firebase Analytics应用程序发送DebugView数据,请执行以下命令:

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

    在您通过执行以下命令显式禁用它之前,此行为将持续存在:

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

    iOS测试设备设置就像Android一样简单,只需相应地使用Xcode命令行参数:

    -FIRDebugEnabled和

    -FIRDebugDisabled

  • 0

    我改变了我的开发Android手机,它开始工作了 . 它与三星SM-P601和华为Y560-U02配合使用,但它一直在为Android手机三星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)
    

    我在这三部手机中查看了谷歌播放服务版本,所有这些都是相同的 . 我不知道是什么原因导致SM-J120F无法正常工作 .

  • 0

    试试这个

    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);
       }
    

    您可以使用一系列adb命令启用详细日志记录:

    adb shell setprop log.tag.FA VERBOSE

    adb shell setprop log.tag.FA-SVC VERBOSE

    adb logcat -v time -s FA FA-SVC

    编号:https://firebase.google.com/docs/analytics/android/start/

  • 0

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

  • 0

    不适合我 . 但是从日志中我发现你还需要添加风味名称 . 所以,我有一个名为“internal”的味道,并且必须在上面的adb命令中编写com.package.name.internal .

相关问题