Android এবং Firebase সম্পর্কে আরও জানুন

আপনি যখন ফায়ারবেস ব্যবহার করে আপনার অ্যান্ড্রয়েড প্রোজেক্ট তৈরি করছেন, আপনি হয়তো ফায়ারবেসের জন্য অপরিচিত বা নির্দিষ্ট ধারণাগুলি আবিষ্কার করতে পারেন। এই পৃষ্ঠার লক্ষ্য সেই প্রশ্নগুলির উত্তর দেওয়া বা আরও জানার জন্য আপনাকে সম্পদের দিকে নির্দেশ করা।

এই পৃষ্ঠায় কভার না করা একটি বিষয় সম্পর্কে আপনার যদি প্রশ্ন থাকে, তাহলে নির্দ্বিধায় আমাদের অনলাইন সম্প্রদায়গুলির একটিতে যান৷ আমরা এই পৃষ্ঠাটিকে পর্যায়ক্রমে নতুন বিষয়গুলির সাথে আপডেট করব, তাই আপনি যে বিষয় সম্পর্কে জানতে চান তা আমরা যুক্ত করেছি কিনা তা দেখতে ফিরে দেখুন!

অ্যান্ড্রয়েড স্টুডিওর জন্য ফায়ারবেস সহকারী প্লাগইন

ফায়ারবেস অ্যাসিস্ট্যান্ট হল একটি অ্যান্ড্রয়েড স্টুডিও প্লাগইন যা আপনার অ্যান্ড্রয়েড অ্যাপকে একটি ফায়ারবেস প্রোজেক্টের সাথে নিবন্ধন করে এবং আপনার অ্যান্ড্রয়েড প্রোজেক্টে প্রয়োজনীয় Firebase কনফিগারেশন ফাইল, প্লাগইন এবং নির্ভরতা যোগ করে — সবই Android স্টুডিওর মধ্যে থেকে!

Firebase সহকারী ব্যবহার করার জন্য Android শুরু করার পৃষ্ঠার নির্দেশাবলী অনুসরণ করুন। নিশ্চিত করুন যে আপনি অ্যান্ড্রয়েড স্টুডিও এবং ফায়ারবেস সহকারী উভয়েরই সবচেয়ে আপ-টু-ডেট সংস্করণ ব্যবহার করছেন ( ফাইলে যান > আপডেটের জন্য চেক করুন )।

আপনি যখন আপনার অ্যাপে যোগ করার জন্য নির্দিষ্ট Firebase পণ্য নির্বাচন করেন, তখন Firebase সহকারী স্বয়ংক্রিয়ভাবে আপনার app/build.gradle ফাইলে প্রয়োজনীয় নির্ভরতা ঘোষণা করে। যাইহোক, Firebase সহকারীর বর্তমান ক্ষমতার বাইরে Firebase বৈশিষ্ট্যগুলি ব্যবহার করতে, আপনি এই নির্ভরতাগুলিতে কিছু ম্যানুয়াল পরিবর্তন করতে চাইতে পারেন:

  • আপনি যদি Firebase Android BoM ব্যবহার করতে চান, BoM প্ল্যাটফর্ম আমদানি করতে আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত app/build.gradle ) নির্ভরতা আপডেট করুন। এছাড়াও আপনাকে প্রতিটি ফায়ারবেস লাইব্রেরি নির্ভরতা লাইন থেকে সংস্করণগুলি সরাতে হবে।

  • আপনি যদি একটি Kotlin এক্সটেনশন লাইব্রেরি ব্যবহার করতে চান, তার পরিবর্তে Firebase লাইব্রেরির ktx সংস্করণ ব্যবহার করতে আপনার মডিউল (অ্যাপ-লেভেল) Gradle ফাইলে (সাধারণত app/build.gradle ) যোগ করা নির্ভরতা লাইনটি পরিবর্তন করুন।

Google পরিষেবাগুলি — প্লাগইন এবং কনফিগার ফাইল

আপনার অ্যান্ড্রয়েড প্রোজেক্টে Firebase যোগ করার অংশ হিসেবে, আপনাকে আপনার প্রোজেক্টে google-services প্লাগইন এবং একটি google-services.json কনফিগারেশন ফাইল যোগ করতে হবে।

আপনি যদি Firebase কনসোল , ম্যানেজমেন্ট REST API , বা Firebase CLI এর মাধ্যমে আপনার Android প্রকল্পে Firebase যোগ করেন, তাহলে আপনাকে অবশ্যই আপনার প্রকল্পে প্লাগইন এবং কনফিগার ফাইলটি ম্যানুয়ালি যোগ করতে হবে। যাইহোক, আপনি যদি ফায়ারবেস সহকারী ব্যবহার করেন তবে সেটআপের সময় এই কাজগুলি আপনার জন্য স্বয়ংক্রিয়ভাবে সম্পন্ন হয়।

কিভাবে Google পরিষেবা প্লাগইন এবং কনফিগার ফাইল একসাথে কাজ করে সে সম্পর্কে জানতে Android ডকুমেন্টেশন দেখুন।

ফায়ারবেস অ্যান্ড্রয়েড বোএম (সামগ্রীর বিল)

Firebase Android BoM (বিল অফ ম্যাটেরিয়ালস) আপনাকে শুধুমাত্র একটি সংস্করণ উল্লেখ করে আপনার সমস্ত Firebase লাইব্রেরি সংস্করণ পরিচালনা করতে সক্ষম করে — BoM-এর সংস্করণ৷

আপনি যখন আপনার অ্যাপে Firebase BoM ব্যবহার করেন, BoM স্বয়ংক্রিয়ভাবে BoM-এর সংস্করণে ম্যাপ করা পৃথক লাইব্রেরি সংস্করণগুলিকে টেনে আনে। সমস্ত পৃথক লাইব্রেরি সংস্করণ সামঞ্জস্যপূর্ণ হবে. আপনি যখন আপনার অ্যাপে BoM-এর সংস্করণ আপডেট করেন, তখন আপনি আপনার অ্যাপে ব্যবহার করেন এমন সমস্ত Firebase লাইব্রেরি সেই BoM সংস্করণে ম্যাপ করা সংস্করণে আপডেট হবে।

কোন Firebase লাইব্রেরি সংস্করণগুলি একটি নির্দিষ্ট BoM সংস্করণে ম্যাপ করা হয়েছে তা জানতে, সেই BoM সংস্করণের জন্য রিলিজ নোটগুলি দেখুন৷ আপনি যদি অন্য BoM সংস্করণের তুলনায় একটি BoM সংস্করণে ম্যাপ করা লাইব্রেরি সংস্করণগুলির তুলনা করতে চান তবে নীচের তুলনা উইজেটটি ব্যবহার করুন৷

BoM প্ল্যাটফর্মের জন্য Gradle এর সমর্থন সম্পর্কে আরও জানুন।

আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) নির্ভরতা ঘোষণা করার জন্য Firebase Android BoM কীভাবে ব্যবহার করবেন তা এখানে রয়েছে। BoM ব্যবহার করার সময়, আপনি নির্ভরতা লাইনে পৃথক লাইব্রেরি সংস্করণ নির্দিষ্ট করবেন না।

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:32.4.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

Firebase Android BoM ব্যবহার করার বিষয়ে এখানে কিছু প্রায়শই জিজ্ঞাসিত প্রশ্ন রয়েছে:

Firebase BoM সংস্করণ তুলনা করুন

কোটলিন এক্সটেনশন (KTX) লাইব্রেরি মডিউল

ফায়ারবেস কোটলিন এক্সটেনশন (কেটিএক্স) লাইব্রেরি মডিউলগুলি প্রধান ফায়ারবেস লাইব্রেরি মডিউলগুলির ছোট সঙ্গী, এবং আপনি সুন্দর এবং বাজে Kotlin কোড লিখতে ব্যবহার করতে পারেন৷

আপনার অ্যাপে একটি KTX লাইব্রেরি মডিউল ব্যবহার করতে, -ktx প্রত্যয় অন্তর্ভুক্ত করতে আপনার নির্ভরতা পরিবর্তন করুন। প্রতিটি KTX মডিউলের স্বয়ংক্রিয়ভাবে প্রধান লাইব্রেরি মডিউলের উপর নির্ভরতা থাকে, তাই আপনার অ্যাপে উভয় নির্ভরতা অন্তর্ভুক্ত করার প্রয়োজন নেই।

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:32.4.0')

  // Declare the main module
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX module instead (which automatically has a dependency on the main module)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

প্রতিটি KTX মডিউল প্রধান মডিউলের বিভিন্ন সিনট্যাকটিক এক্সটেনশন প্রদান করে। উদাহরণস্বরূপ, অ্যানালিটিক্স কেটিএক্স মডিউল ইভেন্ট লগ করা সহজ করে তোলে:

আগে (প্রধান মডিউল ব্যবহার করে)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

পরে (পরিবর্তে KTX মডিউল ব্যবহার করে)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Firebase ML এবং App Indexing বাদে সমস্ত Firebase পণ্য একটি KTX মডিউল অফার করে৷

আপনি যদি এখনও না করে থাকেন, তাহলে KTX মডিউলগুলির জন্য API রেফারেন্স ডক্স দেখুন।

ফিচার মডিউল এবং প্লে ফিচার ডেলিভারি

মে 2021 থেকে (Firebase BoM v28.0.0), Firebase Android SDKগুলি গতিশীল বৈশিষ্ট্য মডিউলগুলিতে ব্যবহার করা যেতে পারে যা আপনার বেস অ্যাপ্লিকেশন মডিউল থেকে আলাদাভাবে ইনস্টল করা আছে।

গতিশীল বৈশিষ্ট্য মডিউলগুলির জন্য সমর্থন সক্ষম করতে, আপনার বেস মডিউলের build.gradle ফাইলে নিম্নলিখিত নির্ভরতা যুক্ত করুন:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}

এখন যেহেতু আপনি ডায়নামিক মডিউল সমর্থন যোগ করেছেন, আপনি আপনার অ্যাপের বৈশিষ্ট্য মডিউলগুলিতে Firebase SDK নির্ভরতা (Firebase BoM-এর সাথে বা ছাড়া) যোগ করতে পারেন এবং সেগুলিকে আপনি স্বাভাবিকভাবে ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, যদি আপনার অ্যাপ্লিকেশনটি একটি নির্দিষ্ট রিয়েলটাইম বৈশিষ্ট্যকে পাওয়ার জন্য রিয়েলটাইম ডেটাবেস ব্যবহার করে তবে আপনি বেস মডিউলের পরিবর্তে বৈশিষ্ট্য মডিউলের build.gradlefirebase-database নির্ভরতা যোগ করতে পারেন। এটি বেশিরভাগ ব্যবহারকারীর জন্য ডাউনলোডের আকার হ্রাস করবে।

বৈশিষ্ট্য মডিউলগুলিতে Firebase SDK ব্যবহার করার সময় নিম্নলিখিত সতর্কতাগুলি সম্পর্কে সচেতন থাকুন:

  • ডাইনামিক লিংক বা ফায়ারবেস ইন-অ্যাপ মেসেজিং এর মতো পণ্যগুলি যা অ্যানালিটিক্স first_open ইভেন্টের উপর নির্ভর করে একটি ডায়নামিক বৈশিষ্ট্য মডিউলে ব্যবহার করা হলে এই ইভেন্টটি মিস করতে পারে।

  • ক্লাউড ফায়ারস্টোর এবং প্রমাণীকরণ একসাথে ব্যবহার করার সময়, আপনার উভয়কে একই মডিউলে অন্তর্ভুক্ত করা উচিত। যদি এটি সম্ভব না হয়, তাহলে নিশ্চিত করুন যে ক্লাউড ফায়ারস্টোরের আগে প্রমাণীকরণ লোড হয়েছে; অন্যথায়, কিছু ক্লাউড ফায়ারস্টোর অপারেশনের একটি ভুল প্রমাণীকরণ অবস্থা থাকতে পারে।

  • একটি গতিশীল বৈশিষ্ট্য মডিউলের নির্ভরতা হিসাবে firebase-crashlytics-ndk ব্যবহার করার সময়, আপনাকে Crashlytics NDK ডকুমেন্টেশনে বর্ণিত হিসাবে আপনার অ্যাপের build.gradle ফাইলে unstrippedNativeLibsDir প্রপার্টি সেট করতে হবে।

ফিচার মডিউল এবং প্লে ফিচার ডেলিভারি সম্পর্কে আরও তথ্যের জন্য, প্লে ফিচার ডেলিভারির ওভারভিউ দেখুন।

গুগল সার্ভিস গ্রেডল প্লাগইন বনাম গুগল প্লে সার্ভিস বনাম গুগল প্লে স্টোর

গুগল, ফায়ারবেস এবং অ্যান্ড্রয়েড ইকোসিস্টেমের বেশ কয়েকটি অংশে একই রকম নামকরণের নিয়ম রয়েছে। এখানে প্রতিটি জন্য একটি সংক্ষিপ্ত ব্যাখ্যা:

গুগল সার্ভিস গ্রেডল প্লাগইন
একটি Gradle প্লাগইন ( com.google.gms.google-services ) যা আপনার অ্যাপের Firebase এবং Google API অ্যাক্সেস করার জন্য সঠিক কনফিগারেশন আছে তা নিশ্চিত করতে বিল্ড টাইমে চলে
নাম থাকা সত্ত্বেও, এই প্লাগইনটির Google Play পরিষেবাগুলির সাথে কোন সম্পর্ক নেই (পরবর্তী এন্ট্রি দেখুন) এবং রানটাইমে আপনার অ্যাপের ক্ষমতার উপর কোন প্রভাব ফেলে না।
এই প্লাগইনটি Firebase সেট আপ করার অংশ হিসাবে আপনার অ্যাপে যোগ করা google-services.json ফাইলটিকেও প্রক্রিয়া করে। Google পরিষেবা Gradle প্লাগইন সম্পর্কে আরও জানুন।
গুগল প্লে পরিষেবা
একটি অদৃশ্য ব্যাকগ্রাউন্ড পরিষেবা যা একটি অ্যান্ড্রয়েড ডিভাইসে চলে এবং ডিভাইসে থাকা অ্যাপগুলিতে বেশ কয়েকটি সাধারণ Google API (যেমন Google মানচিত্র এবং Google সাইন ইন) প্রদান করে
এই সাধারণ APIগুলিকে একটি একক পরিষেবাতে কেন্দ্রীভূত করার মাধ্যমে, এটি অন্যান্য অ্যাপগুলির আকার হ্রাস করে এবং একটি ডিভাইসকে OS আপডেট ছাড়াই স্বয়ংক্রিয় নিরাপত্তা আপডেট এবং বৈশিষ্ট্য বর্ধিতকরণগুলি পেতে দেয়৷ Google Play পরিষেবা সম্পর্কে আরও জানুন।
গুগল প্লে স্টোর
একটি Android ডিভাইসে অ্যাপ, সিনেমা, বই এবং আরও অনেক কিছু ডাউনলোড করার জন্য একটি স্টোর
একজন ডেভেলপার হিসেবে, আপনি Google Play Console-এর মাধ্যমে আপনার অ্যাপের জন্য বিতরণ, রিলিজ ইত্যাদি পরিচালনা করেন। যদি একটি ডিভাইসে Google Play Store থাকে, তবে এটি Google Play পরিষেবাগুলিও চালাচ্ছে (আগের এন্ট্রি দেখুন)। বিকাশকারীদের জন্য Google Play স্টোর সম্পর্কে আরও জানুন।
গুগল প্লে গেম পরিষেবা
মোবাইল গেম ডেভেলপারদের জন্য API-এর একটি সেট
Google Play গেম পরিষেবাগুলি সম্পর্কে আরও জানুন এবং কীভাবে আপনার Google Play গেম পরিষেবা প্রকল্পের সাথে Firebase একীভূত করবেন

Firebase Android SDK-এর জন্য ওপেন সোর্স রিসোর্স

ফায়ারবেস ওপেন সোর্স ডেভেলপমেন্টকে সমর্থন করে এবং আমরা সম্প্রদায়ের অবদান এবং প্রতিক্রিয়াকে উৎসাহিত করি।

Firebase Android SDKs

বেশিরভাগ Firebase Android SDK আমাদের সর্বজনীন Firebase GitHub সংগ্রহস্থলে ওপেন সোর্স লাইব্রেরি হিসেবে তৈরি করা হয়েছে। আমরা শীঘ্রই আমাদের সর্বজনীন GitHub-এ অবশিষ্ট ব্যক্তিগতভাবে উন্নত Firebase লাইব্রেরিগুলি সরানোর জন্য সক্রিয়ভাবে কাজ করছি!

দ্রুত শুরু নমুনা

Firebase Android এ বেশিরভাগ Firebase API-এর জন্য কুইকস্টার্ট নমুনার সংগ্রহ বজায় রাখে। আমাদের সর্বজনীন ফায়ারবেস গিটহাব কুইকস্টার্ট রিপোজিটরিতে এই কুইকস্টার্টগুলি খুঁজুন।

আপনি প্রতিটি কুইকস্টার্টকে একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প হিসাবে খুলতে পারেন, তারপরে সেগুলিকে একটি মোবাইল ডিভাইস বা একটি ভার্চুয়াল ডিভাইসে (AVD) চালাতে পারেন। অথবা আপনি Firebase SDK ব্যবহার করার জন্য উদাহরণ কোড হিসাবে এই দ্রুত স্টার্টগুলি ব্যবহার করতে পারেন।

আগ্রহের অন্যান্য বিষয়