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