默认的Firebase应用未初始化

时间:2018-12-31 05:38:39

标签: android firebase firebase-cloud-messaging

我正在尝试将FCM集成到我的Android应用程序之一中。我已经按照文档中的说明进行操作,并且我的POC应用程序运行正常。当我执行同样的步骤时,在我的最终应用程序(即multidex应用程序)中,它不起作用。我收到一条非法状态异常消息,提示默认Firebase应用程序尚未初始化。我的包名称(在清单文件中定义)和应用程序ID(在gradle文件中定义)不同,并且在google-services.json文件中,它在客户端信息部分中获取了应用程序ID。我尝试过在网上搜索,经历了几次堆栈溢出讨论,但没有任何建议对我有用。

清单文件中的部分:

<service
  android:name=".services.JBFirebaseMessagingService">
  <intent-filter>
    <action android:name="com.google.firebase.MESSAGING_EVENT"/>
  </intent-filter>
</service>

活动中的初始化代码:

FirebaseInstanceId.getInstance().getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                @Override
                public void onComplete(@NonNull Task<InstanceIdResult> task) {
                    if (!task.isSuccessful()) {
                        Log.w("", "getInstanceId failed", task.getException());
                        return;
                    }
                    // Get new Instance ID token
                    if (task.getResult() != null) {
                        String token = task.getResult().getToken();
                        // Log
                        String msg = getString(R.string.msg_token_fmt, token);
                        Log.d("", msg);
                        LogHelper.writeLog(null,msg);
                    }
                }
            });

1 个答案:

答案 0 :(得分:-1)

尝试此操作,您必须从firebase控制台添加 $(document).ready(function() { $('#example').DataTable( { stateSave: true } ); });文件。

google-services.json