Работает ли Firebase Crash Reporter только при установке из Google Play?

Я хочу добавить отчет о сбоях Firebase в свой проект Android. Я зарегистрировался на сайте Firebase и создал свой проект. Я добавил Firebase в свой проект Android (и файл JSON тоже).

Я также добавил разрешения на подключение к Интернету в:

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


}

Затем я попытался протестировать Android-приложение Firebase на реальном устройстве.

Но отчеты о сбоях Firebase ничего не показывают. Даже через 24 часа я не получил никакого сообщения от Firebase.

Я подозреваю, что репортер о сбоях не работает, потому что я установил приложение с помощью инструмента отладки Android Studio, а не из Google Play.

Работает ли Firebase Crash Reporter в зависимости от процесса установки (отладка по USB или Google Play)?

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

Подробное описание моего мини тестового проекта.

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:

введите здесь описание изображения

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) Каталоги дерева моих проектов:

введите здесь описание изображения

В поле файла Json

"current_key": "AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k"

отличается от ключа в настройках консоли firebase:

AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo

Я пытаюсь установить оба ключа API в своем проекте.

AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k и AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo

но мне это не помогло.

Я пытаюсь установить все, но ничего не помогает. Я не знаю, почему firebase не реагирует на мою команду FirebaseCrash.report.

Повторюсь, мое андроид-устройство зарегистрировано в гугле. Но у меня нет моего приложения в google play.

Что я сделал не так в своем проекте?


person foxis    schedule 15.12.2016    source источник
comment
Если файл JSON, который вы скопировали в папку приложения, настроен правильно, он появится в разделе отчетов о сбоях Firebase. Процесс установки (через google play или USB) значения не имеет.   -  person Srikar Reddy    schedule 15.12.2016
comment
@SrikarReddy, спасибо за ответ. Моя конфигурация файла json состоит только в том, чтобы вставить имя пакета моего проекта в специальное поле на веб-сайте Firebase, а затем Firebase автоматически сгенерировал мне файл json. Нужны ли какие-то дополнительные настройки для файла json?   -  person foxis    schedule 15.12.2016
comment
Еще раз проверьте процесс интеграции отчетов о сбоях. Убедитесь, что имя пакета приложения в загруженном файле JSON совпадает с именем вашего текущего проекта. Внутри вашего файла JSON проверьте URL-адрес Firebase, идентификатор проекта, идентификатор приложения.   -  person Srikar Reddy    schedule 15.12.2016
comment
Можете ли вы посмотреть журнал, чтобы увидеть, что там отображается? Отчеты о сбоях Firebase зависят от сервисов Google Play. Установка с USB вообще не имеет значения.   -  person Doug Stevenson    schedule 15.12.2016
comment
@SrikarReddy, спасибо. Я меняю все настройки, но ничего не помогает. Не могли бы вы проверить мой тестовый проект, я добавлю подробное описание в свой отчет о вопросах. Спасибо за аванс.   -  person foxis    schedule 16.12.2016
comment
@DougStevenson, спасибо за ответ. Я добавляю подробное описание в свой пост, не могли бы вы проверить мой проект, спасибо.   -  person foxis    schedule 16.12.2016


Ответы (1)


Во-первых, отчет о сбое Firebase может работать как в случае отладки USB, так и в случае установки из игрового магазина.

Итак, сначала проверьте, генерирует ли ваше приложение исключение или нет, иначе оно не будет отображаться на консоли Firebase.

И вам не нужно менять какой-либо ключ в вашем файле Json, сохраните этот файл json, поскольку он загружается из консоли Firebase для целей тестирования.

Вы можете протестировать свое приложение с помощью следующего кода: Работает для моего приложения.

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