پلتفرم مورد نظر را انتخاب کنید: اندروید، iOS، جاوا اسکریپت

برای ایمن‌سازی کلید API خود از App Check استفاده کنید

بررسی برنامه Firebase با مسدود کردن ترافیکی که از منابعی غیر از برنامه‌های قانونی می‌آید، از تماس‌های برنامه شما به پلتفرم Google Maps محافظت می‌کند. این کار را با بررسی وجود یک توکن از یک ارائه‌دهنده گواهی مانند Play Integrity انجام می‌دهد. ادغام برنامه‌های شما با بررسی برنامه به محافظت در برابر درخواست‌های مخرب کمک می‌کند، بنابراین برای تماس‌های API غیرمجاز هزینه‌ای از شما دریافت نمی‌شود.

آیا اپ چک برای من مناسب است؟

در بیشتر موارد، App Check توصیه می‌شود، با این حال در موارد زیر نیازی به آن نیست یا پشتیبانی نمی‌شود:

  • شما از SDK اصلی Places استفاده می‌کنید. App Check فقط برای Places SDK (جدید) پشتیبانی می‌شود .
  • برنامه‌های خصوصی یا آزمایشی. اگر برنامه شما به صورت عمومی قابل دسترسی نیست، نیازی به بررسی برنامه نیست.
  • اگر برنامه شما فقط به صورت سرور به سرور استفاده می‌شود، نیازی به App Check نیست. با این حال، اگر سروری که با GMP ارتباط برقرار می‌کند توسط کلاینت‌های عمومی (مانند برنامه‌های تلفن همراه) استفاده می‌شود، استفاده از App Check را برای محافظت از آن سرور به جای GMP در نظر بگیرید.
  • ارائه‌دهندگان گواهی توصیه‌شده توسط App Check روی دستگاه‌هایی که توسط ارائه‌دهنده گواهی شما در معرض خطر یا غیرقابل اعتماد تشخیص داده می‌شوند، کار نخواهند کرد. اگر نیاز به پشتیبانی از چنین دستگاه‌هایی دارید، می‌توانید یک سرویس گواهی سفارشی راه‌اندازی کنید. برای اطلاعات بیشتر، به دستورالعمل‌ها مراجعه کنید.

مرور کلی مراحل اجرا

در سطح بالا، این مراحلی است که برای ادغام برنامه خود با App Check دنبال خواهید کرد:

  1. فایربیس را به برنامه خود اضافه کنید.
  2. کتابخانه App Check را اضافه و مقداردهی اولیه کنید.
  3. ارائه دهنده توکن را اضافه کنید.
  4. اشکال‌زدایی را فعال کنید.
  5. درخواست‌های برنامه خود را رصد کنید و در مورد اجرای آنها تصمیم بگیرید.

پس از ادغام با App Check، می‌توانید معیارهای ترافیک backend را در کنسول Firebase مشاهده کنید. این معیارها، درخواست‌ها را بر اساس اینکه آیا با یک توکن معتبر App Check همراه هستند یا خیر، تفکیک می‌کنند. برای اطلاعات بیشتر به مستندات Firebase App Check مراجعه کنید.

وقتی مطمئن شدید که بیشتر درخواست‌ها از منابع قانونی هستند و کاربران به آخرین نسخه برنامه شما که شامل پیاده‌سازی App Check شما می‌شود، به‌روزرسانی شده‌اند، می‌توانید اجرای قانون را فعال کنید. پس از فعال شدن اجرای قانون، App Check تمام ترافیک بدون توکن معتبر App Check را رد می‌کند.

ملاحظات هنگام برنامه‌ریزی ادغام App Check

در اینجا مواردی وجود دارد که باید هنگام برنامه‌ریزی برای ادغام خود در نظر بگیرید:

  • ارائه‌دهنده‌ی گواهی که ما توصیه می‌کنیم، Play Integrity ، محدودیت تماس روزانه برای سطح استفاده‌ی استاندارد API خود دارد. برای اطلاعات بیشتر در مورد محدودیت‌های تماس، به صفحه‌ی تنظیمات در مستندات توسعه‌دهنده‌ی Google Play Integrity مراجعه کنید.

    همچنین می‌توانید از یک ارائه‌دهنده گواهی سفارشی استفاده کنید، اگرچه این یک مورد استفاده پیشرفته است. برای اطلاعات بیشتر، به «پیاده‌سازی یک ارائه‌دهنده بررسی برنامه سفارشی» مراجعه کنید.

  • کاربران برنامه شما در هنگام راه‌اندازی با کمی تأخیر مواجه خواهند شد. با این حال، پس از آن، هرگونه تأیید مجدد دوره‌ای در پس‌زمینه رخ خواهد داد و کاربران دیگر نباید هیچ تأخیری را تجربه کنند. میزان دقیق تأخیر در هنگام راه‌اندازی به ارائه‌دهنده تأییدیه‌ای که انتخاب می‌کنید بستگی دارد.

    مدت زمانی که توکن App Check معتبر است ( زمان حیات یا TTL) تعداد دفعات تأیید مجدد را تعیین می‌کند. این مدت زمان را می‌توان در کنسول Firebase پیکربندی کرد. تأیید مجدد زمانی اتفاق می‌افتد که تقریباً نیمی از TTL سپری شده باشد. برای اطلاعات بیشتر، به اسناد Firebase مربوط به ارائه‌دهنده تأیید خود مراجعه کنید.

برنامه خود را با App Check ادغام کنید

پیش‌نیازها و الزامات

  • برنامه‌ای که نسخه ۴.۱ یا بالاتر Places SDK آن یکپارچه شده باشد.
  • اثر انگشت SHA-256 برای برنامه شما.
  • نام بسته برنامه شما.
  • شما باید مالک برنامه در Cloud Console باشید.
  • شما به شناسه پروژه برنامه از Cloud Console نیاز خواهید داشت.

مرحله ۱: اضافه کردن فایربیس به برنامه

برای افزودن Firebase به برنامه خود ، دستورالعمل‌های موجود در مستندات توسعه‌دهندگان Firebase را دنبال کنید.

مرحله ۲: کتابخانه App Check را اضافه کنید و App Check را مقداردهی اولیه کنید

برای اطلاعات بیشتر در مورد استفاده از Play Integrity، ارائه‌دهنده‌ی پیش‌فرض گواهی، به شروع استفاده از App Check با Play Integrity در اندروید مراجعه کنید.

  1. اگر هنوز این کار را نکرده‌اید، Places SDK را در برنامه خود ادغام کنید .
  2. در مرحله بعد، App Check و کلاینت 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);.

در اینجا یک نمونه پیاده‌سازی از رابط token fetcher آورده شده است:

  /** 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 خود اضافه کنید.
  • App Check را طوری پیکربندی کنید که از debug provider factory در debug build شما استفاده کند.
  • برنامه را اجرا کنید، که یک توکن اشکال‌زدایی محلی ایجاد می‌کند. این توکن را به کنسول Firebase اضافه کنید.
  • برای اطلاعات و دستورالعمل‌های بیشتر، به مستندات App Check مراجعه کنید.

برای اجرای برنامه خود در محیط CI:

  • یک توکن اشکال‌زدایی در کنسول Firebase ایجاد کنید و آن را به مخزن کلید امن سیستم CI خود اضافه کنید.
  • کتابخانه App Check را به فایل build.gradle خود اضافه کنید.
  • نوع ساخت CI خود را برای استفاده از توکن اشکال‌زدایی پیکربندی کنید.
  • کدی را که به یک توکن App Check نیاز دارد، با DebugAppCheckTestHelper در کلاس‌های تست خود قرار دهید.
  • برای اطلاعات و دستورالعمل‌های بیشتر، به مستندات App Check مراجعه کنید.

مرحله ۵: درخواست‌های برنامه خود را رصد کنید و در مورد اجرای آنها تصمیم بگیرید

قبل از شروع اجرای قانون، باید مطمئن شوید که کاربران قانونی برنامه خود را مختل نمی‌کنید. برای انجام این کار، به صفحه معیارهای بررسی برنامه مراجعه کنید تا ببینید چند درصد از ترافیک برنامه شما تأیید شده، قدیمی یا غیرقانونی است. وقتی متوجه شدید که اکثر ترافیک شما تأیید شده است، می‌توانید اجرای قانون را فعال کنید.

برای اطلاعات و دستورالعمل‌های بیشتر، به مستندات Firebase App Check مراجعه کنید.