ফায়ারবেস ম্যানেজমেন্ট REST API একটি প্রোজেক্টের Firebase রিসোর্স এবং ফায়ারবেস অ্যাপস সহ Firebase প্রোজেক্টগুলির প্রোগ্রাম্যাটিক সেটআপ এবং পরিচালনা সক্ষম করে।
এই ওভারভিউটি একটি বিদ্যমান Google Cloud প্রকল্পে Firebase সংস্থান এবং অ্যাপ যোগ করার জন্য সাধারণ কর্মপ্রবাহ বর্ণনা করে যা এখনও Firebase পরিষেবাগুলি ব্যবহার করে না।
আপনি এই পৃষ্ঠার নির্দিষ্ট বিভাগে যেতে পারেন যদি আপনি চান:
- আপনার প্রকল্পে Firebase পরিষেবা যোগ করুন
- আপনার Firebase প্রকল্পে Firebase অ্যাপ যোগ করুন
- একটি Google Analytics অ্যাকাউন্টের সাথে আপনার Firebase প্রকল্প লিঙ্ক করুন
এই পৃষ্ঠায় যেকোনো পদক্ষেপ অনুসরণ করার আগে, নিশ্চিত করুন যে আপনি API সক্ষম করেছেন ।
Firebase Management API-এর অ্যাক্সেস ম্যানেজমেন্ট সম্পর্কে তথ্যের জন্য, Cloud Identity Access Management (IAM) API ডকুমেন্টেশন দেখুন।
আপনি শুরু করার আগে
আপনি শুরু করার আগে, আপনাকে আপনার Google Cloud প্রকল্পের জন্য ব্যবস্থাপনা API সক্ষম করতে হবে এবং আপনার অ্যাক্সেস টোকেন তৈরি করতে হবে।
আপনার Google Cloud প্রকল্পের জন্য ব্যবস্থাপনা REST API সক্ষম করুন৷
যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার Google Cloud প্রকল্পের সাথে ব্যবহারের জন্য আপনাকে Firebase Management API সক্ষম করতে হবে।
- Google APIs কনসোলে Firebase Management API পৃষ্ঠাটি খুলুন।
- অনুরোধ করা হলে, আপনার Google Cloud প্রকল্প নির্বাচন করুন।
- Firebase Management API পৃষ্ঠায় Enable এ ক্লিক করুন।
আপনার API অ্যাক্সেস টোকেন তৈরি করুন
এখানে Node.js এর জন্য একটি উদাহরণ রয়েছে যা আপনার অ্যাক্সেস টোকেন পুনরুদ্ধার করে।
প্রথমত, আপনি যদি Google Cloud পরিবেশে না থাকেন, তাহলে আপনার পরিষেবা অ্যাকাউন্ট কী-এর পথে GOOGLE_APPLICATION_CREDENTIALS
পরিবেশ পরিবর্তনশীল সেট করুন৷
লিনাক্স বা ম্যাকোস
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 ব্যবহার করুন:
const admin = require('firebase-admin');
function getAccessToken() {
return admin.credential.applicationDefault().getAccessToken()
.then(accessToken => {
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 পরিষেবা যোগ করুন
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
। আপনার প্রোজেক্টের জন্য অন্যান্য ফায়ারবেস-সম্পর্কিত এন্ডপয়েন্টে কল করার আগে, অপারেশনটি সফল হতে হবে।
অপারেশনটি সফল হয়েছে কিনা তা পরীক্ষা করার জন্য, আপনি 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 Apps যোগ করতে পারেন।
আপনার Firebase প্রোজেক্টে যোগ করতে Firebase অ্যাপের একটি ধরন বেছে নিন।
আপনি আপনার বিদ্যমান Firebase প্রকল্পে একটি Firebase Android অ্যাপ যোগ করতে পারেন।
অনুরোধ
কল করুন projects.androidApps.create
। আপনার অনুরোধের অংশটি কীভাবে তৈরি করবেন তা এখানে:
প্রয়োজনীয়:
-
packageName
: অ্যান্ড্রয়েড অ্যাপের ক্যানোনিকাল প্যাকেজ নাম যেমনটি Google Play বিকাশকারী কনসোলে প্রদর্শিত হবে৷
-
ঐচ্ছিক, কিন্তু প্রস্তাবিত:
-
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
। আপনার প্রোজেক্টের জন্য অন্যান্য ফায়ারবেস-সম্পর্কিত এন্ডপয়েন্টে কল করার আগে, অপারেশনটি সফল হতে হবে।
অপারেশনটি সফল হয়েছে কিনা তা পরীক্ষা করার জন্য, আপনি 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
আরও তথ্যের জন্য, অ্যান্ড্রয়েডের জন্য Google API এ যান।
আপনার ফায়ারবেস প্রকল্পকে একটি Google Analytics অ্যাকাউন্টের সাথে লিঙ্ক করুন (ঐচ্ছিক)
আপনি একটি বিদ্যমান Google Analytics অ্যাকাউন্টকে আপনার বিদ্যমান FirebaseProject
প্রোগ্রামে লিঙ্ক করতে পারেন। মনে রাখবেন যে আপনি আপনার প্রজেক্ট সেটিংসের ইন্টিগ্রেশন ট্যাবে আপনার বিদ্যমান Firebase প্রোজেক্টটিকে Google Analytics-এর সাথে লিঙ্ক করতে পারেন।
projects.addGoogleAnalytics
এ কল করার জন্য একটি analytics_resource
প্রয়োজন, যা একটি analyticsAccountId
বা একটি analyticsPropertyId
হতে পারে :
একটি বিদ্যমান
analyticsAccountId
উল্লেখ করুন নির্দিষ্ট অ্যাকাউন্টের মধ্যে একটি নতুন Google Analytics প্রপার্টি বিধান করতে এবং নতুন প্রপার্টিটিকে আপনার Firebase প্রোজেক্টের সাথে যুক্ত করতে।আপনার Firebase প্রোজেক্টের সাথে Google Analytics প্রপার্টি অ্যাসোসিয়েট করার জন্য একটি বিদ্যমান
analyticsPropertyId
উল্লেখ করুন।
আপনি Google Analytics ওয়েবসাইটে আপনার analyticsAccountId
এবং বিদ্যমান যেকোনো analyticsPropertyId
উভয়ই খুঁজে পেতে পারেন।
আপনি যখন projects.addGoogleAnalytics
কল করুন।GoogleAnalytics:
প্রথম চেকটি নির্ধারণ করে যে Google Analytics প্রপার্টিতে বিদ্যমান কোনো ডেটা স্ট্রীম আপনার
FirebaseProject
এর কোনো বিদ্যমান ফায়ারবেস অ্যাপের সাথে মিল আছে কিনা (packageName
বা ডাটা স্ট্রিমের সাথে যুক্তbundleId
উপর ভিত্তি করে)। তারপর, প্রযোজ্য হিসাবে, ডেটা স্ট্রীম এবং অ্যাপস লিঙ্ক করা হয়। মনে রাখবেন যে এই স্বয়ংক্রিয় লিঙ্কিং শুধুমাত্র Android Apps এবং iOS Apps এর ক্ষেত্রে প্রযোজ্য৷যদি আপনার ফায়ারবেস অ্যাপের জন্য কোনো সংশ্লিষ্ট ডেটা স্ট্রিম না পাওয়া যায়, তাহলে আপনার প্রতিটি ফায়ারবেস অ্যাপের জন্য Google Analytics প্রপার্টিতে নতুন ডেটা স্ট্রিমের ব্যবস্থা করা হয়েছে। মনে রাখবেন যে একটি ওয়েব অ্যাপের জন্য একটি নতুন ডেটা স্ট্রীম সর্বদা বিধান করা হয় যদিও এটি আগে আপনার অ্যানালিটিক্স প্রপার্টিতে ডেটা স্ট্রিমের সাথে যুক্ত ছিল।
অ্যানালিটিক্স ডকুমেন্টেশনে Google অ্যানালিটিক্স অ্যাকাউন্টের শ্রেণিবিন্যাস এবং গঠন সম্পর্কে আরও জানুন।
অনুরোধ
projects.addGoogleAnalytics
কল করুন।GoogleAnalytics যোগ করুন।
আমাদের 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
। আপনার প্রোজেক্টের জন্য অন্যান্য ফায়ারবেস-সম্পর্কিত এন্ডপয়েন্টে কল করার আগে, অপারেশনটি সফল হতে হবে।
অপারেশন সফল হয়েছে কিনা তা পরীক্ষা করার জন্য, আপনি 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
সম্পূর্ণ হওয়ার পরে স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়।