برای ایمن کردن کلید میانای API، از «بررسی برنامه» استفاده کنید
بررسی برنامه Firebase با مسدود کردن ترافیکی که از منابعی غیراز برنامههای قانونی میآید، از تماسهای برنامهتان با «پلاتفرم Google Maps» محافظت میکند. این کار را با بررسی وجود یک توکن از ارائهدهنده گواهی مانند Play Integrity انجام میدهد. ادغام کردن برنامههایتان با «بررسی برنامه» به محافظت دربرابر درخواستهای مخرب کمک میکند، بنابراین برای فراخوانیهای غیرمجاز API هزینهای از شما کسر نمیشود.
آیا «بررسی برنامه» برای من مناسب است؟
در اکثر موارد، «بررسی برنامه» توصیه میشود، اما در موارد زیر «بررسی برنامه» لازم نیست یا پشتیبانی نمیشود:
- درحال استفاده از کیت توسعه نرمافزار Places اصلی هستید. «بررسی برنامه» فقط برای «کیت توسعه نرمافزار مکانها» (جدید) پشتیبانی میشود.
- برنامههای خصوصی یا آزمایشی. اگر برنامهتان بهطور عمومی دردسترس نیست، به App Check نیازی نیست.
- اگر برنامهتان فقط بهصورت سروربهسرور استفاده میشود، به «بررسی برنامه» نیازی نیست. بااینحال، اگر سروری که با GMP ارتباط برقرار میکند توسط کارخواهان عمومی (مانند برنامههای تلفن همراه) استفاده میشود، بهجای GMP، استفاده از «بررسی برنامه» را برای محافظت از آن سرور درنظر بگیرید.
- ارائهدهندگان تصدیق توصیهشده «بررسی برنامه» در دستگاههایی که ارائهدهنده تصدیق شما آنها را درمعرض خطر یا غیرقابلاعتماد تشخیص دهد کار نخواهند کرد. اگر لازم است از چنین دستگاههایی پشتیبانی کنید، میتوانید سرویس گواهی سفارشی راهاندازی کنید. برای اطلاعات بیشتر، دستورالعملها را ببینید.
نمای کلی مراحل پیادهسازی
در سطح بالا، اینها مراحلی هستند که برای ادغام برنامهتان با «بررسی برنامه» دنبال خواهید کرد:
- Firebase را به برنامهتان اضافه کنید.
- کتابخانه App Check را اضافه و مقداردهی اولیه کنید.
- ارائهدهنده کد را اضافه کنید.
- اشکالزدایی را فعال کنید.
- درخواستهای برنامهتان را پایش کنید و درباره اجرای آن تصمیم بگیرید.
پساز ادغام با App Check، میتوانید سنجههای ترافیک پسبخش را در کنسول Firebase ببینید. این سنجهها تفکیک درخواستها را براساس اینکه آیا با یک کد App Check معتبر همراه هستند یا نه ارائه میدهند. برای کسب اطلاعات بیشتر، به اسناد «بررسی برنامه Firebase» مراجعه کنید.
وقتی مطمئن شدید که اکثر درخواستها از منابع قانونی هستند و کاربران به جدیدترین نسخه برنامهتان که شامل پیادهسازی «بررسی برنامه» است بهروزرسانی کردهاند، میتوانید اجرای اجباری را روشن کنید. وقتی اجرا فعال شود، «بررسی برنامه» همه ترافیکهای بدون کد معتبر «بررسی برنامه» را رد خواهد کرد.
ملاحظات هنگام برنامهریزی برای یکپارچهسازی «بررسی برنامه»
در اینجا چند نکته برای درنظر گرفتن هنگام برنامهریزی برای ادغام آورده شده است:
ارائهدهنده گواهیای که توصیه میکنیم، Play Integrity، برای سطح استفاده Standard API خود محدودیت تماس روزانه دارد. برای اطلاعات بیشتر درباره محدودیتهای فراخوانی، به صفحه راهاندازی در اسناد توسعهدهنده Google Play Integrity مراجعه کنید.
همچنین میتوانید از ارائهدهنده گواهی سفارشی استفاده کنید، هرچند این مورد استفاده پیشرفته است. برای اطلاعات بیشتر، پیادهسازی ارائهدهنده سفارشی «بررسی برنامه» را ببینید.
-
کاربران برنامه شما هنگام راهاندازی با کمی تأخیر مواجه خواهند شد. بااینحال، پساز آن، هرگونه تأیید مجدد دورهای در پسزمینه انجام خواهد شد و کاربران دیگر نباید هیچ تأخیری را تجربه کنند. مقدار دقیق تأخیر در راهاندازی به ارائهدهنده گواهیای که انتخاب میکنید بستگی دارد.
مدت زمانی که کد App Check معتبر است (زمان بقا یا TTL) بسامد گواهی مجدد را تعیین میکند. این مدت را میتوان در کنسول Firebase پیکربندی کرد. تصدیق مجدد زمانی رخ میدهد که تقریباً نیمی از TTL سپری شده باشد. برای اطلاعات بیشتر، به اسناد Firebase برای ارائهدهنده گواهیتان مراجعه کنید.
ادغام کردن برنامه با «بررسی برنامه»
پیشنیازها و الزامات
- برنامهای که «کیت توسعه نرمافزار Places» نسخه ۴.۱ یا جدیدتر در آن ادغام شده باشد.
- اثر انگشت SHA-256 برای برنامهتان.
- نام بسته برنامهتان.
- باید مالک برنامه در Cloud Console باشید.
- به شناسه پروژه برنامه از «کنسول Cloud» نیاز خواهید داشت
مرحله ۱: Firebase را به برنامهتان اضافه کنید
دستورالعملهای موجود در اسناد توسعهدهنده Firebase را برای افزودن Firebase به برنامهتان دنبال کنید.
مرحله ۲: افزودن کتابخانه App Check و مقداردهی اولیه App Check
برای کسب اطلاعات درباره استفاده از Play Integrity، ارائهدهنده پیشفرض گواهی، به شروع به کار با App Check با Play Integrity در Android مراجعه کنید.
- اگر قبلاً این کار را نکردهاید، کیت توسعه نرمافزار Places را در برنامهتان ادغام کنید.
سپس، بررسی برنامه و کارخواه «مکانها» را مقداردهی اولیه کنید.
// Initialize App Check FirebaseApp.initializeApp(/* context= */ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance()); // Initialize Places SDK Places.initializeWithNewPlacesApiEnabled(context, API_KEY); PlacesClient client = Places.createClient(context);.
مرحله ۳: افزودن ارائهدهنده کد
پساز مقداردهی اولیه Places API، برای تنظیم PlacesAppCheckTokenProvider، با setPlacesAppCheckTokenProvider() تماس بگیرید.
Places.initializeWithNewPlacesApiEnabled(context, API_KEY); Places.setPlacesAppCheckTokenProvider(new TokenProvider()); PlacesClient client = Places.createClient(context);.
در اینجا نمونهای از پیادهسازی میانای واکشاننده توکن ارائه شده است:
/** Sample client implementation of App Check token fetcher interface. */ static class TokenProvider implements PlacesAppCheckTokenProvider { @Override public ListenableFuture<String> fetchAppCheckToken() { SettableFuture<String> future = SettableFuture.create(); FirebaseAppCheck.getInstance() .getAppCheckToken(false) .addOnSuccessListener( appCheckToken -> { future.set(appCheckToken.getToken()); }) .addOnFailureListener( ex -> { future.setException(ex); }); return future; } }
مرحله ۴: فعال کردن اشکالزدایی (اختیاری)
اگر میخواهید برنامهتان را بهصورت محلی توسعه دهید و آزمایش کنید، یا آن را در محیط ادغام پیوسته (CI) اجرا کنید، میتوانید ساخت اشکالزدایی از برنامهتان ایجاد کنید که از رمز اشکالزدایی برای دریافت کردن کدهای App Check معتبر استفاده میکند. این کار به شما امکان میدهد از استفاده از ارائهدهندگان گواهی واقعی در ساخت اشکالزدایی خود اجتناب کنید.
برای اجرای برنامه در شبیهساز یا دستگاه آزمایشی:
- کتابخانه «بررسی برنامه» را به فایل
build.gradleاضافه کنید. - «بررسی برنامه» را پیکربندی کنید تا از کارخانه ارائهدهنده اشکالزدایی در ساخت اشکالزدایی شما استفاده کند.
- برنامه را راهاندازی کنید تا یک کد اشکالزدایی محلی ایجاد شود. این کد را به کنسول Firebase اضافه کنید.
- برای اطلاعات و دستورالعملهای بیشتر، به اسناد App Check مراجعه کنید.
برای اجرای برنامه در محیط CI:
- یک کد اشکالزدایی در کنسول Firebase ایجاد کنید و آن را به فروشگاه کلید امن سیستم CI خود اضافه کنید.
- کتابخانه «بررسی برنامه» را به فایل
build.gradleاضافه کنید. - متغیر ساخت CI را برای استفاده از کد تصدیق اشکالزدایی پیکربندی کنید.
- کد را در کلاسهای آزمایشی خود که به کد App Check با
DebugAppCheckTestHelperنیاز دارند بپیچید. - برای اطلاعات و دستورالعملهای بیشتر، به اسناد App Check مراجعه کنید.
مرحله ۵: نظارت بر درخواستهای برنامه و تصمیمگیری درباره اجرا
قبلاز شروع اجرای اجباری، باید مطمئن شوید که برای کاربران قانونی برنامهتان اختلال ایجاد نمیکنید. برای انجام این کار، به صفحه سنجههای App Check بروید تا ببینید چند درصد از ترافیک برنامهتان تأییدشده، قدیمی، یا غیرقانونی است. وقتی دیدید که اکثر ترافیک شما درستیسنجی شده است، میتوانید اجرا را فعال کنید.
برای اطلاعات و دستورالعملهای بیشتر، به سند «بررسی برنامه Firebase» مراجعه کنید.