Management REST API का इस्तेमाल करके, Firebase प्रोजेक्ट को सेट अप और मैनेज करें

Firebase Management REST API की मदद से, Firebase प्रोजेक्ट को प्रोग्राम के ज़रिए सेट अप और मैनेज किया जा सकता है. इसमें प्रोजेक्ट के Firebase संसाधन और Firebase ऐप्लिकेशन शामिल हैं.

इस खास जानकारी में, मौजूदा Google Cloud प्रोजेक्ट में Firebase संसाधन और ऐप्लिकेशन जोड़ने के सामान्य वर्कफ़्लो के बारे में बताया गया है. इस प्रोजेक्ट में, फ़िलहाल Firebase सेवाओं का इस्तेमाल नहीं किया जा रहा है.

अगर आपको सिर्फ़ ये काम करने हैं, तो इस पेज के किसी खास सेक्शन पर जाएं:

इस पेज पर दिए गए किसी भी तरीके को आज़माने से पहले, पक्का करें कि आपने एपीआई चालू किया हो.

Firebase Management API के लिए, ऐक्सेस मैनेजमेंट के बारे में जानने के लिए, Cloud Identity Access Management (IAM) API का दस्तावेज़ पढ़ें.

शुरू करने से पहले

शुरू करने से पहले, आपको अपने Management API चालू करना होगा अपने Google Cloud प्रोजेक्ट के लिए और अपना ऐक्सेस टोकन जनरेट करना होगा.

अपने Google Cloud प्रोजेक्ट के लिए, Management REST API चालू करना

अगर आपने पहले से ऐसा नहीं किया है, तो आपको अपने Google Cloud प्रोजेक्ट के साथ इस्तेमाल करने के लिए, Firebase Management API चालू करना होगा.

  1. Google APIs कंसोल में, Firebase Management API का पेज खोलें.
  2. पूछे जाने पर, अपना Google Cloud प्रोजेक्ट चुनें.
  3. Firebase Management API पेज पर, चालू करें पर क्लिक करें.

अपना एपीआई ऐक्सेस टोकन जनरेट करना

यहां Node.js का एक उदाहरण दिया गया है, जो आपका ऐक्सेस टोकन वापस लाता है.

सबसे पहले, अगर आप Google Cloud एनवायरमेंट में नहीं हैं, तो GOOGLE_APPLICATION_CREDENTIALS एनवायरमेंट वैरिएबल को अपने सेवा खाते की कुंजी के पाथ पर सेट करें.

Linux या macOS

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-file.json"

Windows

PowerShell के साथ:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\path\to\your\service-account-file.json"

इसके बाद, अपने सेवा खाते के क्रेडेंशियल से ऐक्सेस टोकन पाने के लिए, Firebase Admin SDK का इस्तेमाल करें:

import { initializeApp, applicationDefault } from "firebase-admin/app";

initializeApp();

async function getAccessToken() {
  try {
    const accessToken = await applicationDefault().getAccessToken();
    return accessToken.access_token;
  } catch (err) {
    console.error('Unable to get access token');
    console.error(err);
  }
}

अपने प्रोजेक्ट का संसाधन नाम ढूंढना

उन प्रोजेक्ट को ढूंढा जा सकता है जिनमें Firebase सेवाएं जोड़ी जा सकती हैं.Google Cloud

अनुरोध करें

कॉल करें availableProjects.list. इस कॉल के लिए, अनुरोध का मुख्य हिस्सा खाली होना चाहिए.

यहां Node.js का एक उदाहरण दिया गया है, जिसमें उपलब्ध Google Cloud प्रोजेक्ट की सूची का अनुरोध किया गया है:

const fetch = require('node-fetch');

async function listProjects() {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/availableProjects';
  const options = {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    const projects = resp['projectInfo'];
    console.log('Project total: ' + projects.length);
    console.log('');
    for (let i in projects) {
      const project = projects[i];
      console.log('Project ' + i);
      console.log('ID: ' + project['project']);
      console.log('Display Name: ' + project['displayName']);
      console.log('');
    }
  } catch(err) {
    console.error(err);
  }
}

RESULT

को कॉल करने पर मिलने वाले जवाब के मुख्य हिस्से में, ProjectInfo ऑब्जेक्ट की सूची होती है.availableProjects.list अगर प्रोजेक्ट की सूची बहुत लंबी है, तो जवाब के मुख्य हिस्से में nextPageToken भी शामिल होता है. इसका इस्तेमाल, प्रोजेक्ट का अगला पेज पाने के लिए क्वेरी पैरामीटर के तौर पर किया जा सकता है.

availableProjects.list कॉल के जवाब के मुख्य हिस्से का एक उदाहरण यहां दिया गया है:

{
  "projectInfo": [
    {
      "project": "projects/first-cloud-project",
      "displayName": "First Cloud Project"
    },
    {
      "project": "projects/second-cloud-project",
      "displayName": "Second Cloud Project"
    }
  ]
}

इस उदाहरण में, दो Google Cloud प्रोजेक्ट शामिल हैं. इनमें Firebase सेवाएं जोड़ी जा सकती हैं. ध्यान दें कि project फ़ील्ड, किसी प्रोजेक्ट के लिए दुनिया भर में यूनीक संसाधन का नाम दिखाता है.

availableProjects.list से मिलने वाले जवाब में मौजूद किसी भी project वैल्यू का इस्तेमाल करके, अपने प्रोजेक्ट में Firebase सेवाएं जोड़ी जा सकती हैं या ऐप्लिकेशन जोड़े जा सकते हैं.

अगले सेक्शन में, हम projects/first-gcp-project संसाधन नाम का इस्तेमाल करके, First Cloud Project में Firebase सेवाएं जोड़ेंगे.

अपने प्रोजेक्ट में Firebase सेवाएं जोड़ना

Google Cloud प्रोजेक्ट, Firebase की सेवाओं का फ़ायदा उठा सकते हैं. इस सेक्शन में, आपको अपने मौजूदा Google Cloudप्रोजेक्ट में प्रोग्राम के ज़रिए Firebase सेवाएं जोड़ने का तरीका बताया जाएगा. ध्यान दें कि Firebase सेवाएं, Google Cloud प्रोजेक्ट में जाकर भी, Firebase कंसोल में जोड़ी जा सकती हैं.

अनुरोध करें

Call projects.addFirebase. इस कॉल के लिए, अनुरोध का मुख्य हिस्सा खाली होना चाहिए.

यहां Node.js का एक उदाहरण दिया गया है, जिसमें अपने Firebase सेवाओं को अपने Google Cloud प्रोजेक्ट में जोड़ने का तरीका बताया गया है:

const fetch = require('node-fetch');

async function addFirebase(projectId) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + ':addFirebase';
  const options = {
    method: 'POST',
    // Use a manual access token here since explicit user access token is required.
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

RESULT

projects.addFirebase को कॉल करने पर, Operation मिलता है. अपने प्रोजेक्ट के लिए, Firebase से जुड़े अन्य एंडपॉइंट को कॉल करने से पहले, यह ज़रूरी है कि ऑपरेशन पूरा हो जाए.

यह देखने के लिए कि ऑपरेशन पूरा हुआ है या नहीं, operations.get को तब तक कॉल किया जा सकता है, जब तक कि done की वैल्यू true न हो जाए और उसका response टाइप का न हो.FirebaseProject अगर ऑपरेशन पूरा नहीं होता है, तो उसका error, google.rpc.Status पर सेट हो जाता है.

operations.get कॉल के जवाब का मुख्य हिस्सा यहां दिया गया है:

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.FirebaseProject",
    "projectId": "first-cloud-project",
    "projectNumber": "...",
    "displayName": "First Cloud Project",
    "name": "projects/first-cloud-project",
    "resources": {
      "hostingSite": "first-cloud-project",
      "realtimeDatabaseInstance": "first-cloud-project"
    }
  }
}

done की वैल्यू true है और response का टाइप FirebaseProject है. इसका मतलब है कि Google Cloud प्रोजेक्ट में अब Firebase सेवाएं उपलब्ध हैं. जवाब में, आपके नए बनाए गए FirebaseProject के बारे में अन्य काम की जानकारी भी शामिल होती है. जैसे, उसका projectNumber और डिफ़ॉल्ट resources. पूरा होने के बाद, Operation अपने-आप मिट जाता है.

अपने प्रोजेक्ट में Firebase ऐप्लिकेशन जोड़ना

FirebaseProject का इस्तेमाल, iOS, Android, और वेब ऐप्लिकेशन जैसे कई अलग-अलग ऐप्लिकेशन कर सकते हैं. इस सेक्शन में, आपको अपने मौजूदा FirebaseProject में प्रोग्राम के ज़रिए Firebase ऐप्लिकेशन जोड़ने का तरीका बताया जाएगा. ध्यान दें कि Firebase कंसोल में जाकर भी, अपने मौजूदा Firebase प्रोजेक्ट में Firebase ऐप्लिकेशन जोड़े जा सकते हैं.Firebase

अपने Firebase प्रोजेक्ट में जोड़ने के लिए, Firebase ऐप्लिकेशन का कोई टाइप चुनें.

iOS+

अपने मौजूदा Firebase प्रोजेक्ट में, Firebase iOS ऐप्लिकेशन जोड़ा जा सकता है.

अनुरोध करें

Call projects.iosApps.create. अनुरोध का मुख्य हिस्सा बनाने का तरीका यहां बताया गया है:

हमारे उदाहरण के लिए, अनुरोध के मुख्य हिस्से में सिर्फ़ displayName और bundleId का इस्तेमाल किया जाएगा:

{
  "displayName": "My Firebase iOS App",
  "bundleId": "com.firebase.ios"
}

यहां Node.js का एक उदाहरण दिया गया है, जिसमें अपने Firebase प्रोजेक्ट में Firebase iOS ऐप्लिकेशन जोड़ने का तरीका बताया गया है:

const fetch = require('node-fetch');

async function addIosApp(projectId, displayName, bundleId) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + '/iosApps';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'displayName': displayName,
      'bundleId': bundleId
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

RESULT

projects.iosApps.create को कॉल करने पर, Operation मिलता है. अपने प्रोजेक्ट के लिए, Firebase से जुड़े अन्य एंडपॉइंट को कॉल करने से पहले, यह ज़रूरी है कि ऑपरेशन पूरा हो जाए.

यह देखने के लिए कि ऑपरेशन पूरा हुआ है या नहीं, ऑपरेशन पर operations.get को तब तक कॉल किया जा सकता है, जब तक कि done की वैल्यू true न हो जाए और उसका response, टाइप का न हो.IosApp अगर ऑपरेशन पूरा नहीं होता है, तो उसका error, google.rpc.Status पर सेट हो जाता है.

operations.get कॉल के जवाब का मुख्य हिस्सा यहां दिया गया है:

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.IosApp",
    "name": "projects/first-cloud-project/iosApps/...",
    "appId": "...",
    "displayName": "My Firebase iOS App",
    "projectId": "first-cloud-project",
    "bundleId": "com.firebase.ios"
  }
}

done की वैल्यू true है और response का टाइप IosApp है. इसका मतलब है कि FirebaseProject में अब IosApp मौजूद है. जवाब में, आपके नए बनाए गए Firebase iOS ऐप्लिकेशन के बारे में अन्य काम की जानकारी भी शामिल होती है. जैसे, Firebase का यूनीक appId. पूरा होने के बाद, Operation अपने-आप मिट जाता है.

Android

अपने मौजूदा Firebase प्रोजेक्ट में, Firebase Android ऐप्लिकेशन जोड़ा जा सकता है.

अनुरोध करें

Call projects.androidApps.create. अनुरोध का मुख्य हिस्सा बनाने का तरीका यहां बताया गया है:

  • ज़रूरी जानकारी:

    • packageName: Android ऐप्लिकेशन का कैननिकल पैकेज नेम, जो Google Play Developer Console में दिखता है.
  • ज़रूरी नहीं, लेकिन हमारा सुझाव है कि यह जानकारी दें:

    • displayName: ऐप्लिकेशन का वह नाम जो उपयोगकर्ता ने तय किया है. Firebase Firebase कंसोल में बाद में ऐप्लिकेशन ढूंढने के लिए, यह वैल्यू काम की होती है.

हमारे उदाहरण के लिए, अनुरोध के मुख्य हिस्से में packageName और displayName का इस्तेमाल किया जाएगा:

{
  "displayName": "My Firebase Android App"
  "packageName": "com.firebase.android"
}

यहां Node.js का एक उदाहरण दिया गया है, जिसमें अपने Firebase प्रोजेक्ट में Firebase Android ऐप्लिकेशन जोड़ने का तरीका बताया गया है:

const fetch = require('node-fetch');

async function addAndroidApp(projectId, displayName, packageName) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + '/androidApps';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'displayName': displayName,
      'packageName': packageName
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

RESULT

projects.androidApps.create को कॉल करने पर, Operation मिलता है. अपने प्रोजेक्ट के लिए, Firebase से जुड़े अन्य एंडपॉइंट को कॉल करने से पहले, यह ज़रूरी है कि ऑपरेशन पूरा हो जाए.

यह देखने के लिए कि ऑपरेशन पूरा हुआ है या नहीं, operations.get को तब तक कॉल किया जा सकता है, जब तक कि done की वैल्यू true न हो जाए और उसका response टाइप का न हो.AndroidApp अगर ऑपरेशन पूरा नहीं होता है, तो उसका error, google.rpc.Status पर सेट हो जाता है.

operations.get कॉल के जवाब का मुख्य हिस्सा यहां दिया गया है:

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.AndroidApp",
    "name": "projects/first-cloud-project/androidApps/...",
    "appId": "...",
    "displayName": "My Firebase Android App",
    "projectId": "first-cloud-project",
    "packageName": "com.firebase.android"
  }
}

done की वैल्यू true है और response का टाइप AndroidApp है. इसका मतलब है कि FirebaseProject में अब AndroidApp मौजूद है. जवाब में, आपके नए बनाए गए Firebase Android ऐप्लिकेशन के बारे में अन्य काम की जानकारी भी शामिल होती है. जैसे, Firebase का यूनीक appId. पूरा होने के बाद, Operation अपने-आप मिट जाता है.

SHA सर्टिफ़िकेट जोड़ना

` projects.androidApps.sha.create` को कॉल करके, किसी भी मौजूदा Firebase Android ऐप्लिकेशन में SHA सर्टिफ़िकेट जोड़े जा सकते हैं. इस तरीके को कॉल करने के लिए, अनुरोध के मुख्य हिस्से में name फ़ील्ड खाली होना चाहिए. इस कॉल का नतीजा, ShaCertificate का नया इंस्टेंस होता है.

projects.androidApps.sha.create को कॉल करते समय, आपको SHA-1 या SHA-256 सर्टिफ़िकेट का मान्य हैश देना होगा. gradle के signingReport कमांड से, साइनिंग सर्टिफ़िकेट का SHA हैश पाया जा सकता है:

./gradlew signingReport

ज़्यादा जानकारी के लिए, Android के लिए Google APIs पर जाएं.

वेब

अपने मौजूदा Firebase प्रोजेक्ट में, Firebase वेब ऐप्लिकेशन जोड़ा जा सकता है.

अनुरोध करें

Call projects.webApps.create. अनुरोध का मुख्य हिस्सा बनाने का तरीका यहां बताया गया है:

हमारे उदाहरण के लिए, अनुरोध के मुख्य हिस्से में सिर्फ़ displayName तय किया जाएगा:

{
  "displayName": "My Firebase Web App"
}

यहां Node.js का एक उदाहरण दिया गया है, जिसमें अपने Firebase प्रोजेक्ट में Firebase वेब ऐप्लिकेशन जोड़ने का तरीका बताया गया है:

const fetch = require('node-fetch');

async function addWebApp(projectId, displayName) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + '/webApps';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'displayName': displayName
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

RESULT

projects.webApps.create को कॉल करने पर, Operation मिलता है. अपने प्रोजेक्ट के लिए, Firebase से जुड़े अन्य एंडपॉइंट को कॉल करने से पहले, यह ज़रूरी है कि ऑपरेशन पूरा हो जाए.

यह देखने के लिए कि ऑपरेशन पूरा हुआ है या नहीं, ऑपरेशन पर operations.get को तब तक कॉल किया जा सकता है, जब तक कि done की वैल्यू true न हो जाए और उसका response, टाइप का न हो.WebApp अगर ऑपरेशन पूरा नहीं होता है, तो उसका error, google.rpc.Status पर सेट हो जाता है.

operations.get कॉल के जवाब का मुख्य हिस्सा यहां दिया गया है:

{
  "name": "operations/...",
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.WebApp",
    "name": "projects/first-cloud-project/webApps/...",
    "appId": "...",
    "displayName": "My Firebase Web App",
    "projectId": "first-cloud-project"
  }
}

done की वैल्यू true है और response का टाइप WebApp है. इसका मतलब है कि FirebaseProject में अब WebApp मौजूद है. जवाब में, आपके नए बनाए गए Firebase वेब ऐप्लिकेशन के बारे में अन्य काम की जानकारी भी शामिल होती है. जैसे, Firebase का यूनीक appId. पूरा होने के बाद, Operation अपने-आप मिट जाता है.

मौजूदा Google Analytics खाते को, अपने मौजूदा FirebaseProject से प्रोग्राम के ज़रिए लिंक किया जा सकता है. ध्यान दें कि अपने मौजूदा Firebase प्रोजेक्ट को Google Analytics से लिंक करने के लिए, आप अपनी प्रोजेक्ट सेटिंग के इंटिग्रेशन टैब का भी इस्तेमाल कर सकते हैं.

projects.addGoogleAnalytics को कॉल करने के लिए, analytics_resource की ज़रूरत होती है. यह analyticsAccountId या analyticsPropertyId हो सकता है:

  • किसी मौजूदा analyticsAccountId को तय करके, बताए गए खाते में Google Analytics की नई प्रॉपर्टी उपलब्ध कराई जा सकती है. साथ ही, नई प्रॉपर्टी को अपने Firebase प्रोजेक्ट से जोड़ा जा सकता है.

  • किसी मौजूदा analyticsPropertyId को तय करके, Google Analytics प्रॉपर्टी को अपने Firebase प्रोजेक्ट से जोड़ा जा सकता है.

Google Analytics की वेबसाइट पर, अपना analyticsAccountId और कोई भी मौजूदा analyticsPropertyId देखा जा सकता है.

projects.addGoogleAnalytics को कॉल करने पर:

  1. पहले चरण में, यह देखा जाता है कि Google Analytics प्रॉपर्टी में मौजूद कोई डेटा स्ट्रीम, आपके FirebaseProject में मौजूद किसी Firebase ऐप्लिकेशन से मेल खाती है या नहीं. यह जांच, डेटा स्ट्रीम से जुड़े packageName या bundleId के आधार पर की जाती है. इसके बाद, डेटा स्ट्रीम और ऐप्लिकेशन को लिंक किया जाता है. ध्यान दें कि यह ऑटो-लिंकिंग सिर्फ़ Android ऐप्लिकेशन और iOS ऐप्लिकेशन पर लागू होती है.

  2. अगर आपके Firebase ऐप्लिकेशन के लिए कोई मेल खाने वाली डेटा स्ट्रीम नहीं मिलती है, तो Google Analytics प्रॉपर्टी में, आपके हर Firebase ऐप्लिकेशन के लिए नई डेटा स्ट्रीम उपलब्ध कराई जाती हैं. ध्यान दें कि वेब ऐप्लिकेशन के लिए हमेशा नई डेटा स्ट्रीम उपलब्ध कराई जाती है. भले ही, वह पहले आपकी Analytics प्रॉपर्टी में किसी डेटा स्ट्रीम से जुड़ा हो.

Analytics के दस्तावेज़ में, Google Analytics खातों की हैरारकी और स्ट्रक्चर के बारे में ज़्यादा जानें.

अनुरोध करें

Call projects.addGoogleAnalytics.

project.addGoogleAnalytics को कॉल करने के लिए, हमारे उदाहरण के अनुरोध के मुख्य हिस्से में, हम अपना Google Analytics खाता analyticsAccountId तय करेंगे. इस कॉल से, Google Analytics की नई प्रॉपर्टी उपलब्ध कराई जाएगी और नई प्रॉपर्टी को FirebaseProject से जोड़ा जाएगा.

{
  "analyticsAccountId": "<your-google-analytics-account-id>"
}

यहां Node.js का एक उदाहरण दिया गया है, जिसमें Firebase प्रोजेक्ट को Google Analytics खाते से लिंक करने का तरीका बताया गया है:

const fetch = require('node-fetch');

async function addGoogleAnalytics(projectId, analyticsAccountId) {
  const accessToken = getAccessToken();
  const uri = 'https://firebase.googleapis.com/v1beta1/projects/' + projectId + ':addGoogleAnalytics';
  const options = {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer ' + accessToken,
    },
    body: JSON.stringify({
      'analyticsAccountId': analyticsAccountId
    }),
  };

  try {
    const rawResponse = await fetch(uri, options);
    const resp = await rawResponse.json();
    console.log(resp);
  } catch(err) {
    console.error(err['message']);
  }
}

RESULT

projects.addGoogleAnalytics को कॉल करने पर, Operation मिलता है. अपने प्रोजेक्ट के लिए, Firebase से जुड़े अन्य एंडपॉइंट को कॉल करने से पहले, यह ज़रूरी है कि ऑपरेशन पूरा हो जाए.

यह देखने के लिए कि ऑपरेशन पूरा हुआ है या नहीं, operations.get को तब तक कॉल किया जा सकता है, जब तक कि done की वैल्यू true न हो जाए और response, analyticsDetails टाइप का न हो. अगर ऑपरेशन पूरा नहीं होता है, तो उसका error, google.rpc.Status पर सेट हो जाता है.

operations.get कॉल के जवाब का मुख्य हिस्सा यहां दिया गया है:

{
  "name": "operations/...",
  "none": true,
  "response": {
    "@type": "type.googleapis.com/google.firebase.service.v1beta1.AnalyticsDetails",
    "analyticsProperty": [
      {
        "id": "...",
        "displayName": "..."
      }
    ],
    "streamMappings": [
      {
        "app": "...",
        "streamId": "...",
        "measurementId": "..."
      }
    ]
  }
}

done की वैल्यू `true` है और response का टाइप analyticsDetails है. इसका मतलब है कि FirebaseProject अब तय किए गए Google Analytics खाते से लिंक हो गया है. पूरा होने के बाद, Operation अपने-आप मिट जाता है.