Firebase Management REST API-এর মাধ্যমে Firebase প্রোজেক্টের প্রোগ্রাম্যাটিক সেট-আপ ও ম্যানেজমেন্ট করা যায়, যার মধ্যে প্রোজেক্টের Firebase রিসোর্স ও Firebase অ্যাপ অন্তর্ভুক্ত।
এই ওভারভিউতে, আগে থেকে থাকা Google Cloud প্রোজেক্টে Firebase রিসোর্স ও অ্যাপ যোগ করার সাধারণ ওয়ার্কফ্লো বর্ণনা করা হয়েছে, যেখানে এখনও Firebase পরিষেবা ব্যবহার করা হয় না।
আপনি যদি শুধু এগুলি করতে চান, তাহলে এই পৃষ্ঠার নির্দিষ্ট বিভাগে সরাসরি যেতে পারেন:
- আপনার প্রোজেক্টে Firebase পরিষেবা যোগ করুন
- আপনার Firebase প্রোজেক্টে Firebase অ্যাপ যোগ করুন
- আপনার Firebase প্রোজেক্ট Google Analytics অ্যাকাউন্টের সাথে লিঙ্ক করুন
এই পৃষ্ঠার কোনও ধাপ অনুসরণ করার আগে, আপনি যে API চালু করেছেন তা নিশ্চিত করুন।
Firebase Management API-এর জন্য অ্যাক্সেস ম্যানেজমেন্ট সম্পর্কে তথ্যের জন্য, Cloud Identity Access Management (IAM) API ডকুমেন্টেশন দেখুন।
শুরু করার আগে
শুরু করার আগে, আপনাকে Google Cloud প্রোজেক্টের জন্য Management API চালু করতে এবং অ্যাক্সেস টোকেন জেনারেট করতে হবে।
আপনার Google Cloud প্রোজেক্টের জন্য ম্যানেজমেন্ট REST API চালু করুন
আপনি যদি আগে থেকে না করে থাকেন, তাহলে আপনার Google Cloud প্রোজেক্টের সাথে ব্যবহার করার জন্য Firebase Management API চালু করতে হবে।
- Google APIs কনসোলে Firebase Management API পৃষ্ঠা খুলুন।
- প্রম্পট করা হলে, আপনার Google Cloud প্রোজেক্ট বেছে নিন।
- Firebase Management API পৃষ্ঠায় চালু করুন বিকল্পে ক্লিক করুন।
আপনার API অ্যাক্সেস টোকেন জেনারেট করুন
Node.js-এর জন্য এখানে একটি উদাহরণ দেওয়া হল যা আপনার অ্যাক্সেস টোকেন ফিরিয়ে আনে।
প্রথমে, আপনি Google Cloud এনভায়রনমেন্টে না থাকলে,
GOOGLE_APPLICATION_CREDENTIALS এনভায়রনমেন্ট ভেরিয়েবলকে আপনার পরিষেবা অ্যাকাউন্ট কী-এর পাথে
সেট করুন।
Linux বা macOS
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/your/service-account-file.json"
জানলা
PowerShell-এর মাধ্যমে:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\path\to\your\service-account-file.json"
তারপর, আপনার পরিষেবা অ্যাকাউন্ট ক্রেডেনশিয়াল থেকে অ্যাক্সেস টোকেন পেতে Firebase অ্যাডমিন 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);
}
}
আপনার প্রোজেক্টের রিসোর্স নাম খুঁজে নিন
আপনি Google Cloudটি প্রোজেক্ট খুঁজে পাবেন যেগুলি Firebase পরিষেবা যোগ করার জন্য উপলভ্য।
অনুরোধ করুন
availableProjects.list-এ
কল করুন।
এই কলের জন্য অনুরোধের বডি খালি থাকতে হবে।
উপলভ্য Google Cloud প্রোজেক্টের তালিকা অনুরোধ করার জন্য Node.js-এর একটি উদাহরণ এখানে দেওয়া হল:
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);
}
}
ফলাফল
availableProjects.list-এ করা কলের রেসপন্স বডিতে
ProjectInfo
অবজেক্টের তালিকা রয়েছে। প্রোজেক্টের তালিকা অনেক বড় হলে, রেসপন্স বডিতে একটি 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 ফিল্ডটি কোনও প্রোজেক্টের জন্য বিশ্বব্যাপী
অনন্য রিসোর্সের নাম প্রদান করে।
আপনার প্রোজেক্টে Firebase পরিষেবা যোগ করতে বা
অ্যাপ যোগ করতে আপনি
availableProjects.list থেকে পাওয়া উত্তরে তালিকাভুক্ত যেকোনও project ভ্যালু ব্যবহার করতে পারবেন।
পরবর্তী বিভাগে, আমরা projects/first-gcp-project রিসোর্সের নাম ব্যবহার করে First Cloud Project-এ Firebase পরিষেবা যোগ করব।
আপনার প্রোজেক্টে Firebase পরিষেবা যোগ করুন
Google Cloudটি প্রোজেক্ট Firebase-এর অফার করা পরিষেবার সুবিধা নিতে পারবে। এই বিভাগে, আপনি শিখবেন কীভাবে আপনার বিদ্যমান Google Cloud প্রোজেক্টে প্রোগ্রাম্যাটিকভাবে Firebase পরিষেবা যোগ করবেন। মনে রাখবেন, আপনি Firebase কনসোল থেকে আগে থেকে থাকা Google Cloud প্রোজেক্টে Firebase পরিষেবা যোগ করতে পারবেন।
অনুরোধ করুন
projects.addFirebase-এ
কল করুন।
এই কলের জন্য অনুরোধের বডি খালি থাকতে হবে।
আপনার Google Cloud প্রোজেক্টে Firebase পরিষেবা যোগ করার জন্য Node.js-এর একটি উদাহরণ এখানে দেওয়া হল:
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']);
}
}
ফলাফল
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 অ্যাপ যোগ করুন
iOS, Android ও ওয়েব অ্যাপ সহ বিভিন্ন অ্যাপ FirebaseProject ব্যবহার করতে পারে। এই বিভাগে, আপনি শিখবেন কীভাবে আপনার আগে থেকে থাকা FirebaseProject-এ প্রোগ্রাম্যাটিক্যালি Firebase অ্যাপ যোগ করবেন। মনে রাখবেন, আপনি Firebase কনসোল থেকে আগে থেকে থাকা Firebase প্রোজেক্টে
Firebase অ্যাপ যোগ করতে পারবেন।
আপনার Firebase প্রোজেক্টে যোগ করার জন্য Firebase অ্যাপের ধরন বেছে নিন।
iOS+
আপনার আগে থেকে থাকা Firebase প্রোজেক্টে Firebase iOS অ্যাপ যোগ করতে পারবেন।
অনুরোধ করুন
projects.iosApps.create-এ
কল করুন।
আপনার অনুরোধের বডি কীভাবে তৈরি করবেন তা এখানে দেওয়া হল:
আবশ্যক:
bundleId: iOS অ্যাপের ক্যানোনিকাল বান্ডেল আইডি, যেমনটি iOS App Store-এ দেখা যাবে।
ঐচ্ছিক, তবে সাজেস্ট করা হয়:
displayName: ব্যবহারকারীর অ্যাসাইন করা অ্যাপের ডিসপ্লে নাম। এই ভ্যালু Firebase কনসোলে পরে অ্যাপ খুঁজে পাওয়ার জন্য উপযোগী।appStoreId: Apple-এর মাধ্যমে আপনার অ্যাপে অ্যাসাইন করা অটোমেটিক জেনারেট হওয়া Apple আইডি। Apple-এর মাধ্যমে আগে থেকেই অ্যাসাইন করা থাকলে,appStoreIdউল্লেখ করুন।
আমাদের উদাহরণের জন্য অনুরোধের বডিতে, আমরা শুধুমাত্র একটি displayName এবং
bundleId ব্যবহার করব:
{
"displayName": "My Firebase iOS App",
"bundleId": "com.firebase.ios"
}
আপনার Firebase প্রোজেক্টে Firebase iOS অ্যাপ যোগ করার জন্য Node.js-এর একটি উদাহরণ এখানে দেওয়া হল:
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']);
}
}
ফলাফল
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 অ্যাপ যোগ করতে পারবেন।
অনুরোধ করুন
projects.androidApps.create-এ
কল করুন।
আপনার অনুরোধের বডি কীভাবে তৈরি করবেন তা এখানে দেওয়া হল:
আবশ্যক:
packageName: Android অ্যাপের ক্যানোনিকাল প্যাকেজের নাম, যেমনটি Google Play Developer কনসোলে দেখা যাবে।
ঐচ্ছিক, তবে সাজেস্ট করা হয়:
displayName: অ্যাপের জন্য ব্যবহারকারীর অ্যাসাইন করা ডিসপ্লে নাম। এই ভ্যালু Firebase কনসোলে পরে আপনার অ্যাপ খুঁজে পাওয়ার জন্য উপযোগী।
আমাদের উদাহরণের জন্য অনুরোধের বডিতে, আমরা packageName এবং
displayName ব্যবহার করব:
{
"displayName": "My Firebase Android App"
"packageName": "com.firebase.android"
}
আপনার Firebase প্রোজেক্টে Firebase Android অ্যাপ যোগ করার জন্য Node.js-এর একটি উদাহরণ এখানে দেওয়া হল:
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']);
}
}
ফলাফল
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 ওয়েব অ্যাপ যোগ করতে পারবেন।
অনুরোধ করুন
projects.webApps.create-এ
কল করুন।
আপনার অনুরোধের বডি কীভাবে তৈরি করবেন তা এখানে দেওয়া হল:
ঐচ্ছিক:
displayName: অ্যাপের জন্য ব্যবহারকারীর অ্যাসাইন করা ডিসপ্লে নাম। এই ভ্যালু Firebase কনসোলে পরে আপনার অ্যাপ খুঁজে পাওয়ার জন্য উপযোগী।
সাজেস্ট করা হয়নি:
appUrls: অ্যাপটি যেখানে হোস্ট করা হয়েছে সেই সম্পূর্ণ URL। Firebase ওয়েব অ্যাপ Firebase Hosting সাইটের সাথে যুক্ত থাকলে, Firebase অটোমেটিক এইসব ফিল্ড পূরণ করে, তাই আপনার অনুরোধের বডিতে এইসব ফিল্ড খালি রাখুন।
আমাদের উদাহরণের জন্য আমরা অনুরোধের বডিতে শুধু একটি displayName উল্লেখ করব:
{
"displayName": "My Firebase Web App"
}
আপনার Firebase প্রোজেক্টে Firebase ওয়েব অ্যাপ যোগ করার জন্য Node.js-এর একটি উদাহরণ এখানে দেওয়া হল:
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']);
}
}
ফলাফল
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 অটোমেটিক মুছে যায়।
আপনার Firebase প্রোজেক্টকে Google Analytics অ্যাকাউন্টের সাথে লিঙ্ক করুন (ঐচ্ছিক)
আপনি আগে থেকে থাকা
Google Analytics অ্যাকাউন্ট আপনার আগে থেকে থাকা
FirebaseProject-এর সাথে প্রোগ্রাম্যাটিক্যালি লিঙ্ক করতে পারবেন। মনে রাখবেন যে আপনি নিজের প্রোজেক্ট সেটিংস-এর
ইন্টিগ্রেশন
ট্যাবে গিয়েও আগে থেকে থাকা Firebase প্রোজেক্ট
Google Analytics-এর সাথে লিঙ্ক করতে পারবেন।
projects.addGoogleAnalytics-এ কল করার জন্য analytics_resource প্রয়োজন,
যা analyticsAccountId বা analyticsPropertyId হতে পারে:
নির্দিষ্ট অ্যাকাউন্টের মধ্যে নতুন Google Analytics প্রপার্টি প্রদান করতে এবং আপনার Firebase প্রোজেক্টের সাথে নতুন প্রপার্টি যুক্ত করতে, আগে থেকে থাকা
analyticsAccountIdউল্লেখ করুন।আপনার Firebase প্রোজেক্টের সাথে Google Analytics প্রপার্টি অ্যাসোসিয়েট করতে আগে থেকে থাকা
analyticsPropertyIdউল্লেখ করুন।
আপনি analyticsAccountId এবং আগে থেকে থাকা যেকোনও
analyticsPropertyId, Google Analytics
ওয়েবসাইট থেকে খুঁজে পাবেন।
আপনি projects.addGoogleAnalytics-কে কল করলে:
প্রথম চেকের মাধ্যমে নির্ধারণ করা হয় যে Google Analytics প্রপার্টিতে আগে থেকে থাকা কোনও ডেটা স্ট্রিম আপনার
FirebaseProject-এ আগে থেকে থাকা কোনও Firebase অ্যাপের সাথে সম্পর্কিত কিনা (ডেটা স্ট্রিমের সাথে যুক্তpackageNameবাbundleId-এর উপর ভিত্তি করে)। তারপর, প্রযোজ্য হলে, ডেটা স্ট্রিম ও অ্যাপ লিঙ্ক করা হয়। মনে রাখবেন যে এই অটো-লিঙ্কিং শুধুমাত্র Android অ্যাপ এবং iOS অ্যাপের ক্ষেত্রে প্রযোজ্য।আপনার Firebase অ্যাপের জন্য কোনও সংশ্লিষ্ট ডেটা স্ট্রিম খুঁজে না পাওয়া গেলে, আপনার প্রতিটি Firebase অ্যাপের জন্য Google Analytics প্রপার্টিতে নতুন ডেটা স্ট্রিম প্রদান করা হয়। মনে রাখবেন, আপনার Analytics প্রপার্টিতে আগে থেকে কোনও ডেটা স্ট্রিমের সাথে যুক্ত থাকলেও, ওয়েব অ্যাপের জন্য সবসময় একটি নতুন ডেটা স্ট্রিম প্রদান করা হয়।
Analytics ডকুমেন্টেশন থেকে Google Analytics অ্যাকাউন্টের ক্রম ও গঠন সম্পর্কে আরও জানুন।
অনুরোধ করুন
projects.addGoogleAnalytics-এ
কল করুন।
project.addGoogleAnalytics-এ আমাদের উদাহরণ কল করার জন্য অনুরোধের বডিতে, আমরা
আমাদের Google Analytics অ্যাকাউন্ট analyticsAccountId নির্দিষ্ট করব। এই কলের মাধ্যমে
নতুন Google Analytics প্রপার্টি প্রোভিশন করা হবে এবং নতুন প্রপার্টিকে
FirebaseProject-এর সাথে যুক্ত করা হবে।
{
"analyticsAccountId": "<your-google-analytics-account-id>"
}
Google Analytics অ্যাকাউন্টের সাথে Firebase প্রোজেক্ট লিঙ্ক করার জন্য Node.js-এর একটি উদাহরণ এখানে দেওয়া হল:
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']);
}
}
ফলাফল
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 সঠিক এবং response-এর ধরন হল analyticsDetails, তাই
FirebaseProject এখন নির্দিষ্ট Google Analytics অ্যাকাউন্টের সাথে লিঙ্ক করা হয়েছে। Operation
সম্পূর্ণ হওয়ার পরে অটোমেটিক মুছে যায়।