Firebase崩溃报告器是否仅在Google Play安装下有效?

时间:2016-12-15 05:57:44

标签: android firebase firebase-crash-reporting

我想将Firebase崩溃记者添加到我的Android项目中。我在Firebase网站上注册并构建了我的项目。 我在我的Android项目中添加了Firebase(以及JSON文件)。

我还在以下网址中添加了对Internet连接的权限:

  <uses-permission
    android:name="android.permission.INTERNET"/>

<uses-permission
    android:name="ACCESS_NETWORK_STATE"
    />

我在简单的测试项目中添加了测试代码:

private TextView mTextView;


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


    try
    {
        mTextView.setText("Text");
    }
    catch (NullPointerException e)
    {
        FirebaseCrash.report(e);
    }


}

然后我尝试在实际设备中测试Firebase Android应用程序。

但Firebase崩溃报告没有显示任何内容。即使在24小时后,我也没有从Firebase收到任何消息。

我怀疑崩溃记者没有工作,因为我使用Android Studio的调试工具安装了该应用程序,而不是来自Google Play。

根据安装过程(USB调试或Google Play),Firebase Crash Reporter是否有效?

============================================

全面描述我的迷你测试项目。

1)这是我的json文件:

{
  "project_info": {
    "project_number": "484954907583",
    "firebase_url": "https://firstproj-88f01.firebaseio.com",
    "project_id": "firstproj-88f01",
    "storage_bucket": "firstproj-88f01.appspot.com"
  },
  "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "1:484954907583:android:a907cc6a5354ad1a",
        "android_client_info": {
          "package_name": "com.example.ff.crashrep1"
        }
      },
      "oauth_client": [
        {
          "client_id": "484954907583-c3f2jv9eng4r4h6chlf33a6oc0s4hptl.apps.googleusercontent.com",
          "client_type": 3
        }
      ],
      "api_key": [
        {
          "current_key": "AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k"
        }
      ],
      "services": {
        "analytics_service": {
          "status": 1
        },
        "appinvite_service": {
          "status": 2,
          "other_platform_oauth_client": [
            {
              "client_id": "484954907583-c3f2jv9eng4r4h6chlf33a6oc0s4hptl.apps.googleusercontent.com",
              "client_type": 3
            }
          ]
        },
        "ads_service": {
          "status": 2
        }
      }
    }
  ],
  "configuration_version": "1"
} 

2)我在firebase控制台中的项目设置:

enter image description here

3)我的简单活动:

public class MainActivity extends AppCompatActivity {


    private static final String TAG = "MainActivity";

    private TextView mTextView;

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


        FirebaseCrash.log("Activity created");



        try {
            mTextView.setText("some text");
        }
        catch (NullPointerException e)
        {
            Log.d(TAG, "Exception");
            FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught");
            FirebaseCrash.report(e);
        }


    }
}

4)我的清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.ff.crashrep1">


    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

5)我的项目树目录:

enter image description here

在Json文件字段中

&#34; current_key&#34;:&#34; AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k&#34;

与firebase控制台设置中的键不同:

AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo

我尝试在项目中设置两个api键

AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k和AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo

但它并没有帮助我。

我尝试设置所有东西,但没有任何帮助。我不知道为什么firebase dosn&t。t 对我的FirebaseCrash.report命令作出反应。

我再说一遍,我的Android设备在谷歌注册了。但我没有在谷歌播放中使用我的应用程序。

我的项目出了什么问题?

1 个答案:

答案 0 :(得分:0)

firebase崩溃报告首先适用于USB调试和从Play商店安装的情况。

因此,首先检查您的应用是否生成异常,否则它将不会在firebase控制台上显示您。

并且您不需要更改Json文件中的任何键,保留json文件,因为它是从firebase控制台下载的,用于测试目的。

您可以使用以下代码测试您的应用:它适用于我的应用

 try
        {
            int a = 12/0;
        }
        catch(Exception e)
        {
              FirebaseCrash.report(new Exception("My first Android non-fatal error"+e));
        }