برای ایمن کردن کلید API خود از «بررسی برنامه» استفاده کنید
بررسی برنامه Firebase با مسدود کردن ترافیکی که از منابعی غیراز برنامههای قانونی میآید، از تماسهای برنامه شما با «پلاتفرم Google Maps» محافظت میکند. این کار را با بررسی وجود کد از ارائهدهنده گواهی مثل تمامیت Play انجام میدهد. ادغام کردن برنامههایتان با App Check به محافظت دربرابر درخواستهای مخرب کمک میکند، بنابراین برای فراخوانیهای غیرمجاز API هزینهای از شما کسر نمیشود.
آیا App Check برای من مناسب است؟
در اکثر موارد، «بررسی برنامه» توصیه میشود، اما در موارد زیر «بررسی برنامه» لازم نیست یا پشتیبانی نمیشود:
- از «کیت توسعه نرمافزار مکانهای» اصلی استفاده میکنید. «بررسی برنامه» فقط برای «کیت توسعه نرمافزار مکانها» (جدید) پشتیبانی میشود.
- برنامههای خصوصی یا آزمایشی. اگر برنامهتان دردسترس عموم نیست، «بررسی برنامه» لازم نیست.
- اگر برنامه شما فقط از سرور به سرور استفاده میکند، به App Check نیاز نیست. بااینحال، اگر سروری که با GMP ارتباط برقرار میکند توسط مشتریان عمومی (مثل برنامههای تلفن همراه) استفاده میشود، بهجای GMP، از App Check برای محافظت از آن سرور استفاده کنید.
- ارائهدهندگان تصدیق توصیهشده «بررسی برنامه» در دستگاههایی که ارائهدهنده تصدیق شما آنها را درمعرض خطر یا غیرقابلاعتماد تشخیص دهد کار نخواهند کرد. اگر نیاز دارید از چنین دستگاههایی پشتیبانی کنید، میتوانید سرویس گواهی سفارشی را مستقر کنید. برای اطلاعات بیشتر، دستورالعملها را ببینید.
نمای کلی مراحل پیادهسازی
در سطح بالا، این مراحل را برای ادغام برنامهتان با «بررسی برنامه» دنبال خواهید کرد:
- Firebase را به برنامهتان اضافه کنید.
- کتابخانه App Check را اضافه و مقداردهی اولیه کنید.
- ارائهدهنده کد را اضافه کنید.
- اشکالزدایی را فعال کنید.
- درخواستهای برنامهتان را پایش کنید و درباره اجرای آن تصمیم بگیرید.
پساز ادغام با App Check، میتوانید سنجههای ترافیک پسبخش را در کنسول Firebase ببینید. این سنجهها تفکیک درخواستها را براساس اینکه آیا با یک کد App Check معتبر همراه هستند یا نه ارائه میدهند. برای کسب اطلاعات بیشتر، به اسناد «بررسی برنامه Firebase» مراجعه کنید.
وقتی مطمئن شدید که بیشتر درخواستها از منابع قانونی است و کاربران به جدیدترین نسخه برنامهتان که شامل پیادهسازی «بررسی برنامه» است بهروزرسانی کردهاند، میتوانید اجرای آن را روشن کنید. وقتی اجرای خطمشی روشن باشد، «بررسی برنامه» همه ترافیک بدون کد «بررسی برنامه» معتبر را رد خواهد کرد.
ملاحظات هنگام برنامهریزی برای ادغام App Check
در اینجا چند نکته وجود دارد که باید هنگام برنامهریزی برای ادغام خود در نظر بگیرید:
ارائهدهنده گواهی توصیهشده ما، یکپارچگی Play، برای سطح استفاده «استاندارد API» خود حد تماس روزانه دارد. برای اطلاعات بیشتر درباره محدودیتهای فراخوانی، به صفحه راهاندازی در اسناد توسعهدهنده Google Play Integrity مراجعه کنید.
همچنین میتوانید از ارائهدهنده گواهی سفارشی استفاده کنید، هرچند این مورد استفاده پیشرفته است. برای اطلاعات بیشتر، پیادهسازی ارائهدهنده سفارشی «بررسی برنامه» را ببینید.
-
کاربران برنامه شما هنگام راهاندازی با کمی تأخیر مواجه خواهند شد. بااینحال، پساز آن، هرگونه گواهی مجدد دورهای در پسزمینه انجام خواهد شد و کاربران دیگر با تأخیر مواجه نخواهند شد. مقدار دقیق تأخیر در زمان راهاندازی به ارائهدهنده گواهی انتخابی شما بستگی دارد.
مدت زمانی که کد «بررسی برنامه» معتبر است (زمان ماندگاری یا TTL) تعیینکننده بسامد گواهیهای مجدد است. این مدت را میتوان در کنسول Firebase پیکربندی کرد. تأیید مجدد زمانی رخ میدهد که تقریباً نیمی از TTL سپری شده باشد. برای اطلاعات بیشتر، به اسناد Firebase برای ارائهدهنده گواهیتان مراجعه کنید.
یکپارچه کردن برنامه با «بررسی برنامه»
پیشنیازها و الزامات
- برنامهای که «کیت توسعه نرمافزار مکانها» نسخه ۴.۱ یا جدیدتر در آن ادغام شده باشد.
- اثر انگشت SHA-256 برای برنامهتان.
- نام بسته برنامهتان.
- باید مالک برنامه در Cloud Console باشید.
- به شناسه پروژه برنامه از «کنسول Cloud» نیاز خواهید داشت
مرحله ۱: Firebase را به برنامهتان اضافه کنید
دستورالعملهای موجود در اسناد توسعهدهنده Firebase را برای افزودن Firebase به برنامهتان دنبال کنید.
مرحله ۲: افزودن کتابخانه App Check و مقداردهی اولیه App Check
برای کسب اطلاعات درباره استفاده از «تمامیت Play»، ارائهدهنده گواهی پیشفرض، به شروع به کار با «بررسی برنامه» با «تمامیت Play» در Android مراجعه کنید.
- اگر قبلاً این کار را نکردهاید، کیت توسعه نرمافزار Places را در برنامهتان ادغام کنید.
سپس، App Check و کارخواه «مکانها» را مقداردهی اولیه کنید.
// 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 مراجعه کنید.
مرحله ۵: نظارت بر درخواستهای برنامه و تصمیمگیری درباره اجرا
قبلاز شروع اجرای اقدامات اجرایی، باید مطمئن شوید که کاربران قانونی برنامهتان را مختل نمیکنید. برای انجام این کار، به صفحه سنجههای «بررسی برنامه» بروید تا ببینید چه درصدی از ترافیک برنامهتان درستیسنجیشده، قدیمی، یا غیرقانونی است. وقتی دیدید که اکثر ترافیک شما درستیسنجی شده است، میتوانید اعمال را فعال کنید.
برای اطلاعات بیشتر و دستورالعملها، به اسناد «بررسی برنامه Firebase» مراجعه کنید.