সমস্যা সমাধান & অ্যান্ড্রয়েড এবং ফায়ারবেসের জন্য প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

এই পৃষ্ঠাটি Android-নির্দিষ্ট সমস্যার জন্য টিপস এবং সমস্যা সমাধানের প্রস্তাব দেয় যা আপনি Firebase ব্যবহার করার সময় সম্মুখীন হতে পারেন।

অন্যান্য চ্যালেঞ্জ আছে বা নীচের রূপরেখা আপনার সমস্যা দেখতে পাচ্ছেন না? আরও প্যান-ফায়ারবেস বা পণ্য-নির্দিষ্ট প্রায়শই জিজ্ঞাসিত প্রশ্নগুলির জন্য প্রধান ফায়ারবেস FAQ পরীক্ষা করে দেখুন৷

রিপোর্ট করা সমস্যা এবং সমস্যা সমাধানের আপ-টু-ডেট তালিকার জন্য আপনি Firebase Android SDK GitHub রেপোও দেখতে পারেন। আমরা আপনাকে সেখানেও আপনার নিজস্ব Firebase Android SDK সম্পর্কিত সমস্যাগুলি ফাইল করতে উত্সাহিত করি!

Firebase Authentication ( Google সাইনইন বা ফোন নম্বর সাইনইন ব্যবহার করার সময়) এবং Firebase Dynamic Links জন্য SHA-1 তথ্য প্রয়োজন। আপনি যদি এই বৈশিষ্ট্যগুলি ব্যবহার না করেন তবে আপনাকে SHA-1 প্রদান করতে হবে না৷

এই ত্রুটিটি ঘটে যদি আমরা শনাক্ত করি যে অন্য একটি Firebase বা Google Cloud প্রজেক্টে আপনার নির্দিষ্ট করা প্যাকেজের নাম এবং SHA-1 সহ একটি OAuth 2.0 ক্লায়েন্ট আইডি রয়েছে৷ এই ত্রুটিটি কীভাবে সমাধান করবেন তা শিখুন।

এই ত্রুটির মানে হল যে আপনার অ্যাপে Google এর Maven সংগ্রহস্থলের এক বা একাধিক রেফারেন্স অনুপস্থিত। আপনার Gradle কনফিগারেশন ফাইলে Google এর Maven সংগ্রহস্থল ( google() ) অন্তর্ভুক্ত করা নিশ্চিত করুন।

  • যদি আপনার প্রজেক্ট plugins সিনট্যাক্স ব্যবহার করে, তাহলে সেটিকে আপনার settings.gradle.kts বা settings.gradle ফাইলের plugins বিভাগে অন্তর্ভুক্ত করুন।
  • আপনার প্রোজেক্ট যদি buildscript সিনট্যাক্স ব্যবহার করে থাকে, তাহলে আপনার প্রোজেক্ট-লেভেল build.gradle.kts বা build.gradle ফাইলের buildscript এবং allprojects উভয় বিভাগেই এটি অন্তর্ভুক্ত করুন।

2021 সালের মে মাসে ( Firebase BoM v28.0.0), Firebase তার সমস্ত অ্যান্ড্রয়েড লাইব্রেরির জন্য ডিসুগারিং অক্ষম করে ( রিলিজ নোট দেখুন)।

এই পরিবর্তনের মানে হল যে Gradle বিল্ডগুলি যেগুলি Android Gradle প্লাগইন (AGP) v4.2 ব্যবহার করে বা তার আগে জাভা 8 সমর্থন সক্রিয় করতে হবে। অন্যথায়, একটি Firebase SDK যোগ করার সময়, এই Android প্রকল্পগুলি নিম্নলিখিত বিল্ড ব্যর্থতা পায়:

D8: Invoke-customs are only supported starting with Android O (--min-api 26)
Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.
The dependency contains Java 8 bytecode. Please enable desugaring by adding the following to build.gradle
android {
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}
See https://developer.android.com/studio/write/java8-support.html for details.
Alternatively, increase the minSdkVersion to 26 or above.

এই বিল্ড ব্যর্থতা ঠিক করতে, আপনি দুটি বিকল্পের একটি অনুসরণ করতে পারেন:

  • আপনার অ্যাপ-লেভেল build.gradle.kts বা build.gradle ফাইলে ত্রুটি বার্তা থেকে তালিকাভুক্ত compileOptions যোগ করুন।
  • আপনার Android প্রকল্পের জন্য minSdkVersion 26 বা তার উপরে বাড়ান।

কেন এটি ঘটবে তার দুটি সম্ভাব্য কারণ রয়েছে: আপনি একটি সমর্থন ইমেল প্রদান করেননি বা আপনি একটি SHA কী হারিয়েছেন৷ এই ত্রুটিটি ঠিক করার জন্য, নিশ্চিত করুন যে এই সমস্ত শর্ত সত্য:

ফায়ারবেসের নিম্নলিখিত গ্রেডল প্লাগইন রয়েছে:

প্লাগইন নাম Maven স্থানাঙ্ক সর্বশেষ সংস্করণ প্লাগইন আইডি
গুগল প্লে সার্ভিস প্লাগইন com.google.gms:google-services 4.4.2 com.google.gms.google-services
App Distribution প্লাগইন com.google.firebase:firebase-appdistribution-gradle 5.0.0 com.google.firebase.appdistribution
Crashlytics প্লাগইন com.google.firebase:firebase-crashlytics-gradle 3.0.2 com.google.firebase.crashlytics
Performance Monitoring প্লাগইন com.google.firebase:perf-plugin 1.4.2 com.google.firebase.firebase-perf

একটি Android প্রকল্পে একটি ফায়ারবেস প্লাগইন কীভাবে যুক্ত করবেন তা এখানে রয়েছে যা এখনও buildscript সিনট্যাক্স ব্যবহার করে:

  1. আপনার রুট-লেভেলে (প্রজেক্ট-লেভেল) গ্রেডল ফাইলে ( <project>/build.gradle.kts বা <project>/build.gradle ), প্লাগইনটিকে তার Maven স্থানাঙ্ক ব্যবহার করে নির্ভরতা হিসাবে যুক্ত করুন:

    KotlinGroovy
    buildscript {
    
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
          ...
    
          // Add the Maven coordinates and latest version of the plugin
          classpath ("PLUGIN_MAVEN_COORDINATES:PLUGIN_VERSION")
        }
    }
    
    allprojects {
      ...
    
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    }
    
    buildscript {
    
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
          ...
    
          // Add the Maven coordinates and latest version of the plugin
          classpath 'PLUGIN_MAVEN_COORDINATES:PLUGIN_VERSION'
        }
    }
    
    allprojects {
      ...
    
      repositories {
        // Make sure that you have the following two repositories
        google()  // Google's Maven repository
        mavenCentral()  // Maven Central repository
      }
    }
    
  2. আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত <project>/<app-module>/build.gradle.kts বা <project>/<app-module>/build.gradle ), প্লাগইনটি এর প্লাগইন আইডি ব্যবহার করে যোগ করুন :

    KotlinGroovy
    plugins {
        id("com.android.application")
    
        // Add the ID of the plugin
        id("FIREBASE_PLUGIN_ID")
        ...
    }
    
    plugins {
        id 'com.android.application'
    
        // Add the ID of the plugin
        id 'FIREBASE_PLUGIN_ID'
        ...
    }