我想在不使用google-services.json的情况下使用FirebaseOptions初始化Firebase,我正在关注此处的博文https://firebase.googleblog.com/2017/03/take-control-of-your-firebase-init-on.html。
我删除了FirebaseInitProvider。
<provider
android:name="com.google.firebase.provider.FirebaseInitProvider"
android:authorities="${applicationId}.firebaseinitprovider"
tools:node="remove"/>
我正在尝试在Application子类中设置默认的FirebaseApp:
FirebaseOptions options = new FirebaseOptions.Builder()
.setApplicationId("valid_app_id")
.setGcmSenderId("valid_gcm_sender_id")
.setApiKey("valid_api_key")
.build();
FirebaseApp.initializeApp(getApplicationContext(), options);
似乎一切正常,但是当我想将一些事件记录到FirebaseAnalytics时,我收到此错误:缺少google_app_id。 Firebase Analytics已停用。 我不知道是什么问题。
答案 0 :(得分:-1)
如果您没有使用google-services.json文件,则JSON中存在的信息需要在某处才能读取插件/代码。您可以在此处执行的操作是使用具有以下属性的字符串资源手动创建xml文件:
google_app_id:
{YOUR_CLIENT}/client_info/mobilesdk_app_id
gcm_defaultSenderId:
project_info/project_number
default_web_client_id:
{YOUR_CLIENT}/oauth_client/client_id (client_type == 3)
ga_trackingId:
{YOUR_CLIENT}/services/analytics-service/analytics_property/tracking_id
firebase_database_url:
project_info/firebase_url
google_api_key:
{YOUR_CLIENT}/api_key/current_key
google_crash_reporting_api_key:
{YOUR_CLIENT}/api_key/current_key
看看here。请务必添加 google_app_id ,否则会导致错误发布。
如果你没有&#34;工具&#34;将名称空间添加到您的清单根标记中,您还必须添加它:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your.package"
>
使用FirebaseOptions
和Firebase.InitializeApp().