2017-08-08 22 views
7

मैं फायरबेस को फ़ायरबेस के साथ google-services.json के बिना प्रारंभ करना चाहता हूं, मैं यहां ब्लॉग पोस्ट का अनुसरण कर रहा हूं https://firebase.googleblog.com/2017/03/take-control-of-your-firebase-init-on.htmlफायरबेस के साथ इनिट फायरबेस,

मैंने फायरबेस इंट्राप्रोवाइडर को हटा दिया।

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

मैं आवेदन उपवर्ग में डिफ़ॉल्ट 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। फायरबेस विश्लेषण अक्षम। मुझे नहीं पता कि समस्या क्या है।

+0

[गूगल एनालिटिक्स के लिए एक Android एप्लिकेशन में एक से अधिक firebase खातों का उपयोग करें] (के संभावित डुप्लिकेट https://stackoverflow.com/questions/45546833/use-multiple-firebase-accounts-in-single-android-app-for- google-analytics) – ceph3us

उत्तर

-1

यदि आप google-services.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" 
    > 

कार्यान्वयन के बाकी FirebaseOptions और Firebase.InitializeApp(). का उपयोग कर ही होगा

+1

क्या हमें वास्तव में उस संसाधन फ़ाइल की आवश्यकता है? मैंने सोचा कि प्रारंभिकरण उस संसाधन के बिना रनटाइम पर किया जा सकता है। अगर मैं उस संसाधन फ़ाइल का उपयोग करूंगा, तो फायरबेस विकल्प की आवश्यकता क्यों है? मुख्य विचार रनटाइम पर फायरबेस विश्लेषण को बदलना है। – rMozes