| انتخاب پلاتفرم: | iOS+ Android وب Flutter |
این صفحه به شما نشان میدهد که چگونه App Check را در برنامه Android بااستفاده از ارائهدهنده reCAPTCHA Enterprise راهاندازی کنید. App Check کمک میکند مطمئن شوید که فقط برنامه شما میتواند به منابع پسین پروژهتان دسترسی داشته باشد. برای کسب اطلاعات بیشتر، نمای کلی App Check ما را مرور کنید.
App Check به استفاده از کلیدهای reCAPTCHA مبتنی بر امتیاز نیاز دارد که آن را برای کاربران نامرئی میکند. این یعنی ارائهدهنده reCAPTCHA Enterprise هیچگاه از کاربران نمیخواهد چالشی را حل کنند.
اگر مورد استفاده شما به ویژگیهای reCAPTCHA Enterprise نیاز دارد که توسط App Check پیادهسازی نشده است، یا اگر میخواهید از App Check با ارائهدهنده سفارشی خودتان استفاده کنید، پیادهسازی ارائهدهنده سفارشی App Check را ببینید.
۱. راهاندازی پروژه Firebase
اگر قبلاً این کار را نکردهاید، Firebase را به پروژه Android خود اضافه کنید.
در کنسول Google Cloud، به صفحه دفاع دربرابر کلاهبرداری بروید، و برای ارائهدهنده reCAPTCHA Enterprise کارهای زیر را انجام دهید:
مطمئن شوید که در پروژه صحیح هستید (انتخابگر پروژه را در بالای صفحه ببینید).
اگر درخواست شد، reCAPTCHA Enterprise API را فعال کنید.
کلیدی از نوع Android ایجاد کنید و نام بسته برنامهتان را مشخص کنید (برای مثال،
com.example.my_app).مطمئن شوید همان نام بستهای را وارد میکنید که هنگام ایجاد «برنامه Android» در Firebase در پروژه Firebase خود ارائه کردید. مقدار نام بسته حروفحساس است.
برای App Check، هر نام بسته فقط میتواند با یک کلید reCAPTCHA مطابقت داشته باشد.
برای دستورالعملهای دقیق، ایجاد کلیدهای reCAPTCHA مبتنی بر امتیاز را ببینید.
این کلید را یادداشت کنید. باید آن را به جریان ثبتنام در کنسول Firebase اضافه کنید.
در کنسول Firebase، به امنیت > بررسی برنامه بروید.
در برگه برنامهها، برنامههای Android خود را ثبت کنید تا از App Check با ارائهدهنده reCAPTCHA Enterprise استفاده کنید. باید کلیدی را که در کنسول Google Cloud دریافت کردهاید ارائه دهید.
اختیاری: زمان بقای (TTL) کد را تنظیم کنید.
در تنظیمات ثبت برنامه، زمان سفارشی برای زندگی (TTL) را برای نشانهای App Check صادرشده توسط ارائهدهنده تنظیم کنید. میتوانید TTL را روی هر مقداری بین ۳۰ دقیقه و ۷ روز تنظیم کنید. هنگام تغییر این مقدار، به مبادلههای زیر توجه داشته باشید:
- امنیت: TTL کوتاهتر امنیت قویتری را فراهم میکند، زیرا پنجرهای را که در آن یک توکن لو رفته یا رهگیریشده میتواند توسط یک مهاجم مورد سوءاستفاده قرار گیرد، کاهش میدهد.
- عملکرد: TTL کوتاهتر بهمعنای این است که برنامه شما گواهی را بهدفعات بیشتری انجام خواهد داد. ازآنجاییکه فرایند تصدیق برنامه هربار که اجرا میشود به درخواستهای شبکه تأخیر اضافه میکند، TTL کوتاه میتواند بر عملکرد برنامهتان تأثیر بگذارد.
- سهمیه و هزینه: TTL کوتاهتر و گواهی مجدد مکرر سهمیه شما را سریعتر تمام میکند و برای سرویسهای پولی، احتمالاً هزینه بیشتری دارد. سهمیهها و محدودیتها را ببینید.
TTL پیشفرض ۱ ساعت برای اکثر برنامهها مناسب است. توجه داشته باشید که کتابخانه App Check ژتونها را تقریباً در نیمی از مدت TTL بازآوری میکند.
اختیاری: پیکربندی تنظیمات پیشرفته.
روی ذخیره کردن کلیک کنید.
(اختیاری) پیکربندی تنظیمات پیشرفته
وقتی کاربر برنامهتان را باز میکند، reCAPTCHA Enterprise سطح خطر تعامل کاربر را تحت کلید ارزیابی میکند و امتیازی بین ۰٫۰ و ۱٫۰ با افزایش ۰٫۱ برمیگرداند.
- امتیاز ۰٫۰ نشان میدهد که تعامل ریسک بالایی دارد و ممکن است کلاهبردارانه باشد.
- امتیاز ۱٫۰ نشان میدهد که تعامل ریسک پایینی دارد و بهاحتمال زیاد قانونی است.
App Check به شما امکان میدهد آستانه خطر برنامه را پیکربندی کنید تا بتوانید تحمل خود را برای این خطر تنظیم کنید.
برای اکثر موارد استفاده، مقدار آستانه پیشفرض ۰٫۵ توصیه میشود. اگر مورد استفاده شما نیاز به تنظیم دارد، میتوانید این مقدار را برای هریک از برنامههایتان در کنسول Firebase پیکربندی کنید (به امنیت > بررسی برنامه بروید). حتماً برخی از ملاحظات مهم درباره پیکربندی آستانه خطر برنامه را در زیر ازهم باز کنید و مرور کنید.
۲. کیت توسعه نرمافزار App Check را به برنامهتان اضافه کنید
برای استفاده از ارائهدهنده reCAPTCHA Enterprise، باید وابستگی مربوطه را اضافه کنید.
در فایل Gradle (سطح برنامه) واحد (معمولاً<project>/<app-module>/build.gradle.kts یا
<project>/<app-module>/build.gradle)،
وابستگی کتابخانه App Check reCAPTCHA را برای Android اضافه کنید. توصیه میکنیم از
Firebase Android BoM
برای کنترل نسخهبندی کتابخانه استفاده کنید.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.1.0")) // Add the dependency for the App Check reCAPTCHA library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha") }
بااستفاده از Firebase Android BoM، برنامه شما همیشه از نسخههای سازگار کتابخانههای Firebase Android استفاده خواهد کرد.
(جایگزین) افزودن وابستگیهای کتابخانه Firebase بدون استفاده از BoM
اگر انتخاب کنید که از Firebase BoM استفاده نکنید، باید هر نسخه کتابخانه Firebase را در خط وابستگی آن مشخص کنید.
توجه داشته باشید که اگر از چند کتابخانه Firebase در برنامهتان استفاده میکنید، اکیداً توصیه میکنیم از BoM برای مدیریت نسخههای کتابخانه استفاده کنید تا مطمئن شوید همه نسخهها سازگار هستند.
dependencies { // Add the dependency for the App Check reCAPTCHA library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha:20.0.0") }
۳. مقداردهی اولیه App Check
در برنامهتان، باید App Check را قبلاز استفاده از هر سرویس Firebase دیگری مقداردهی اولیه کنید.
Kotlin
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));
۴. پایش سنجهها و فعال کردن اجرا
پساز راهاندازی App Check در برنامهتان، توزیع برنامه بهروزشده را برای کاربرانتان شروع کنید.
برنامه کارخواه بهروزشده شروع به ارسال کردن توکنهای App Check همراه با هر درخواستی که به Firebase میدهد میکند. بااینحال، App Check درخواستهای دارای نشانهای نامعتبر را تا زمانی که App Check اجرا نشود مسدود نخواهد کرد.
پایش سنجهها
پیشاز فعال کردن اجرای اجباری، مطمئن شوید که این کار باعث اختلال در کاربران قانونی فعلی شما نمیشود. بااینحال، اگر استفاده مشکوکی از منابع برنامهتان مشاهده میکنید، شاید بخواهید زودتر اجرای اجباری را فعال کنید.
برای کمک به تصمیمگیری، میتوانید سنجههای App Check را برای سرویسهایی که استفاده میکنید مرور کنید:
- سنجههای درخواست App Check را برای Firebase AI Logic، SQL Connect، Realtime Database، Cloud Firestore، Cloud Storage، Authentication، Google Identity برای iOS، Maps JavaScript API، و Places API (جدید) پایش کنید.
- سنجههای درخواست App Check را برای Cloud Functions پایش کنید.
فعال کردن اجرای App Check
وقتی متوجه شدید که App Check چگونه بر کاربران شما تأثیر میگذارد و آماده بودید که ادامه دهید، میتوانید اجرای App Check را فعال کنید:
- فعال کردن اجرای App Check برای Firebase AI Logic، SQL Connect، Realtime Database، Cloud Firestore، Cloud Storage، Authentication، Google Identity برای iOS، Maps JavaScript API، و Places API (جدید).
- اجرای App Check برای Cloud Functions فعال شود.
استفاده از App Check در محیطهای اشکالزدایی
App Check برخیاز محیطها را نامعتبر طبقهبندی میکند، مثل درخواستهای ارسالشده از شبیهساز / شبیهساز سختافزاری درطول توسعه یا از محیط ادغام مداوم (CI).
برای اجرای برنامهتان در این نوع محیطها پساز اعمال App Check، باید ساخت اشکالزدایی از برنامهتان ایجاد کنید که بهجای ارائهدهنده گواهی تولید، از App Check ارائهدهنده اشکالزدایی استفاده کند.
برای جزئیات بیشتر، استفاده از App Check با ارائهکننده اشکالزدایی در Android را ببینید.
قیمتگذاری
App Check هربار که برنامهتان کد App Check خود را بازآوری میکند، ارزیابیای ازجانب شما ایجاد میکند تا کد پاسخ کاربر را درستیسنجی کند. هزینه هر ارزیابی ایجادشده فراتر از سهمیه رایگان از پروژه Firebase شما کسر خواهد شد. برای جزئیات، قیمتگذاری reCAPTCHA را ببینید.
بهطور پیشفرض، برنامه شما این توکن را دو بار در هر ۱ ساعت بازآوری میکند. برای کنترل کردن تعداد دفعات بازآوری ژتونهای App Check توسط برنامهتان (و درنتیجه تعداد دفعات ایجاد ارزیابیهای جدید)، میتوانید TTL ژتون را پیکربندی کنید.