2017-08-08 7 views
7

FirebaseをFirebaseOptionsで初期化したいのですが、google-services.jsonを使わずに、私はブログの投稿https://firebase.googleblog.com/2017/03/take-control-of-your-firebase-init-on.htmlに従っています。FirebaseOptionsでfirebaseを初期化する

FirebaseInitProviderを削除しました。私は、アプリケーションのサブクラスで、デフォルトFirebaseAppを設定しようとしています

<provider 
    android:name="com.google.firebase.provider.FirebaseInitProvider" 
    android:authorities="${applicationId}.firebaseinitprovider" 
    tools:node="remove"/> 

FirebaseOptions options = new FirebaseOptions.Builder() 
       .setApplicationId("valid_app_id") 
       .setGcmSenderId("valid_gcm_sender_id") 
       .setApiKey("valid_api_key") 
       .build(); 

FirebaseApp.initializeApp(getApplicationContext(), options); 

それはすべてがOKと思われるが、私はFirebaseAnalyticsにいくつかのイベントをログに記録したい場合、私はこのエラーを取得する:ミッシングgoogle_app_id。 Firebase Analyticsが無効になっています。 私は何が問題なのか分かりません。

+0

[Googleアナリティクスで複数のfirebaseアカウントを1つのアンドロイドアプリで使用する](https://stackoverflow.com/questions/45546833/use-multiple-firebase-accounts-in-single-android-app-for- google-analytics) – ceph3us

答えて

-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を必ず追加してください。質問に記載されたエラーにつながることはありません。

あなたは、「ツール」名前空間があなたにもあることを追加する必要があります、あなたのマニフェストルートタグに追加されていない場合は、次の実装の

<manifest 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    package="your.package" 
    > 

残りはFirebaseOptionsFirebase.InitializeApp().を使用して同じになります

+1

本当にそのリソースファイルが必要ですか?私は初期化はそのリソースなしで実行時に行うことができると思った。そのリソースファイルを使用する場合、なぜfirebaseオプションが必要ですか?主なアイデアは、実行時にfirebase分析を変更することです。 – rMozes

関連する問題