این صفحه نکات و عیبیابی مشکلات خاص Android را ارائه میدهد که ممکن است هنگام استفاده از Firebase با آن مواجه شوید.
چالش های دیگری دارید یا مشکل خود را در زیر نمی بینید؟ حتماً سؤالات متداول اصلی Firebase را برای سؤالات متداول pan-Firebase یا محصول خاص بررسی کنید.
همچنین میتوانید مخزن Firebase Android SDK GitHub را برای لیستی بهروز از مشکلات گزارششده و عیبیابی بررسی کنید. ما شما را تشویق می کنیم که مسائل مربوط به Firebase Android SDK خود را نیز در آنجا ثبت کنید!
آیا هنگام افزودن یک برنامه Android به پروژه Firebase باید SHA-1 ارائه کنم؟
اطلاعات SHA-1 توسط Firebase Authentication (هنگام استفاده از ورود به سیستم Google یا شماره تلفن ) و Firebase Dynamic Links مورد نیاز است. اگر از این ویژگی ها استفاده نمی کنید، نیازی به ارائه SHA-1 ندارید.
چگونه این خطا را برطرف کنم: "یک سرویس گیرنده OAuth2 از قبل برای این نام بسته و SHA-1 در پروژه دیگری وجود دارد"؟
اگر متوجه شویم که پروژه Firebase یا Google Cloud دیگری حاوی شناسه مشتری OAuth 2.0 با نام بسته و SHA-1 است که شما مشخص کردهاید، این خطا رخ میدهد. یاد بگیرید چگونه این خطا را برطرف کنید .
وقتی Firebase را به پروژه اندروید خود اضافه میکنم، با خطای "نمیتوان یافت" مواجه میشوم.
این خطا معمولاً به این معنی است که برنامه شما یک یا چند مرجع به مخزن Maven Google ندارد. مطمئن شوید که مخزن Maven Google ( google()
) را در فایل پیکربندی Gradle خود قرار دهید.
- اگر پروژه شما از نحو
plugins
استفاده می کند، آن را در قسمتplugins
در فایلsettings.gradle.kts
یاsettings.gradle
خود قرار دهید. - اگر پروژه شما از نحو
buildscript
استفاده می کند، آن را در هر دو بخشbuildscript
وallprojects
درbuild.gradle.kts
یا فایلbuild.gradle
سطح پروژه خود قرار دهید.
وقتی یک Firebase SDK را به پروژه اندروید خود اضافه میکنم، با خطایی در مورد پشتیبانی سفارشی فراخوانی و فعال کردن قندزدایی مواجه میشوم.
در می 2021 ( Firebase BoM v28.0.0)، Firebase شیرین کردن قند را برای همه کتابخانههای Android خود غیرفعال کرد (به یادداشت انتشار مراجعه کنید).
این تغییر به این معنی است که ساختهای Gradle که از افزونه Android Gradle (AGP) نسخه 4.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.
برای رفع این خرابی ساخت، می توانید یکی از دو گزینه را دنبال کنید:
-
compileOptions
فهرست شده را از پیام خطا به فایلbuild.gradle.kts
یاbuild.gradle
سطح برنامه خود اضافه کنید. -
minSdkVersion
پروژه اندروید خود را به 26 یا بالاتر افزایش دهید.
پس از انتشار برنامه، ورود به سیستم Google خطای "12500:" را نشان می دهد. چطوری درستش کنم؟
دو دلیل احتمالی وجود دارد که چرا این اتفاق می افتد: ایمیل پشتیبانی ارائه نکرده اید یا کلید SHA را از دست داده اید. برای رفع این خطا، مطمئن شوید که همه این شرایط درست است:
- شما یک ایمیل پشتیبانی به تنظیمات عمومی پروژه خود در کنسول Firebase اضافه کرده اید.
- شما اثر انگشت گواهی SHA-1 را از فروشگاه کلید انتشار/تولید خود به برنامه Firebase Android خود در کنسول Firebase اضافه کردهاید (به
تنظیمات پروژه ، به پایین به برنامه های شما بروید و سپس برنامه Android خود را انتخاب کنید. شما اثر انگشت گواهی SHA-1 را از کنسول Google Play به برنامه Android Firebase خود در کنسول Firebase اضافه کرده اید (به تنظیمات پروژه ، به پایین به برنامه های شما بروید و سپس برنامه Android خود را انتخاب کنید.
چگونه پلاگین های Firebase را با استفاده از سینتکس buildscript
به پروژه اندروید اضافه کنیم؟
buildscript
به پروژه اندروید اضافه کنیم؟نام افزونه | مختصات 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 |
buildscript
استفاده می کند، آمده است:
در فایل Gradle سطح ریشه (سطح پروژه) خود ( <project>/build.gradle.kts
یا<project>/build.gradle
)، افزونه را به عنوان یک وابستگی با استفاده از مختصات Maven آن اضافه کنید: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 } }در فایل Gradle ماژول (سطح برنامه) خود (معمولا <project>/<app-module>/build.gradle.kts
یا<project>/<app-module>/build.gradle
)، افزونه را با استفاده از شناسه افزونه آن اضافه کنید. :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 ' ... }