DebugView没有可用的设备

时间:2018-05-02 15:20:31

标签: java android firebase firebase-analytics

我正在对一个小应用程序进行一些测试,以了解firebase-analytics的工作原理。这是MainActivity的代码:

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

要查看我的应用是否向Firebase发送数据,我尝试使用DebugView,但它说没有可用的设备,我也使用了命令

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

但没有改变 如果我使用这3个命令

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

我可以看到我的应用正在向firebase发送一些数据,例如this picture

如何启用DebugView并查看我的应用实时发送到firebase的内容?

6 个答案:

答案 0 :(得分:1)

我和你有同样的症状。就我而言,问题仅是因为我忘了打开WiFi,所以事件无法传播到云,而是出现在logcat中。

答案 1 :(得分:0)

您可以看到设备列表-> adb设备

然后-> adb shell setprop debug.firebase.analytics.app软件包名称

然后,在Android Studio中,通过调试运行

答案 2 :(得分:0)

此命令将有助于在Firebase分析中查看调试视图:

adb shell setprop debug.firebase.analytics.app

firebase Google支持中指定的另一条注释

  

注意:使用DebugView之前,应确保设备时间准确无误。设备时钟偏斜会导致Google Analytics(分析)报告中的事件延迟或丢失。

您可以参考以下链接: https://support.google.com/firebase/answer/7201382?hl=en

答案 3 :(得分:0)

我的情况可能无关紧要,但如果没有其他原因,请留意我的未来。

我在firebase中创建了一个新项目,还遇到了以下问题:尝试与我的应用程序进行通信时,“完成sdk设置”错误(我刚刚重命名了android软件包提示以创建一个新Firebase中的项目)

我正在尝试调试以使其“踢入”连接,但是没有安装设备,所以我知道出了点问题。

我的问题是我的google-services.json提交了。它在AS WELL中引用了我的旧项目名称作为新名称。所以也许它变得困惑了?

在客户端下,有两个对象带有client_info,api_key等。我删除了旧对象,只留下了较新的正确对象。

  "client": [
    {...}, // <-- removed this one
    {...}
  ]

答案 4 :(得分:0)

请确保已遵循以下步骤:

步骤1::您的应用已在Firebase控制台中正确配置为支持Google Analytics(分析)功能。

第2步:

A)如果您仅使用单个构建变体,则以下命令就足够了:

adb shell setprop debug.firebase.analytics.app [your_app_package_name]

B)但是,如果您正在使用具有不同应用程序ID(与应用程序包名称不同)的多个构建变体,请确保执行以下命令:

adb shell setprop debug.firebase.analytics.app [your_application_id]

此处,应用程序ID是在相应的gradle文件中找到的构建变体的应用程序ID。例如,假设您有两个构建变体x和y的x.gradle和y.gradle,并且还具有常规的build.gradle文件。要使用应用程序ID com.abc.x调试构建版本x,命令将为:

adb shell setprop debug.firebase.analytics.app com.abc.x

类似地,要使用应用程序ID com.abc.y调试构建版本y,命令将为:

adb shell setprop debug.firebase.analytics.app com.abc.y

此行为一直存在,直到您通过执行以下命令明确禁用它为止:

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

答案 5 :(得分:-1)

我花了很多时间调试它,我的结论是-Firebase不稳定,因为我间歇性地获取事件,并且没有使它们出现在DebugView中的模式