انتخاب پلاتفرم: Android iOS JavaScript

برای ایمن کردن کلید API خود از «بررسی برنامه» استفاده کنید

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

آیا App Check برای من مناسب است؟

«بررسی برنامه» در اکثر موارد توصیه می‌شود، اما در موارد زیر «بررسی برنامه» لازم نیست یا پشتیبانی نمی‌شود:

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

نمای کلی مراحل پیاده‌سازی

در سطح بالا، این مراحل را برای ادغام برنامه‌تان با «بررسی برنامه» دنبال خواهید کرد:

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

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

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

ملاحظات هنگام برنامه‌ریزی یکپارچه‌سازی «بررسی برنامه»

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

  • یکی از ارائه‌دهندگان گواهی که توصیه می‌کنیم، reCAPTCHA Enterprise، برای بیش‌از ۱۰٬۰۰۰ ارزیابی در ماه هزینه دریافت می‌کند.

    ارائه‌دهنده گواهی دیگری که توصیه می‌کنیم، reCAPTCHA نسخه ۳، سهمیه‌ای دارد که پس‌از آن ترافیک ارزیابی نخواهد شد.

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

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

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

یکپارچه کردن برنامه با «بررسی برنامه»

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

  • برنامه‌ای با جدیدترین نسخه هفتگی یا سه‌ماهه Maps JS API و کتابخانه‌های Core بارگیری‌شده.
  • پروژه Cloud با Maps JS API فعال.
  • باید مالک برنامه در Cloud Console باشید.
  • به شناسه پروژه برنامه از Cloud Console نیاز خواهید داشت

مرحله ۱: افزودن Firebase به برنامه

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

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

‫Firebase دستورالعمل‌هایی برای هر ارائه‌دهنده گواهی پیش‌فرض ارائه می‌دهد. این دستورالعمل‌ها نحوه راه‌اندازی پروژه Firebase و افزودن کتابخانه «بررسی برنامه» به برنامه را نشان می‌دهد. برای مقداردهی اولیه «بررسی برنامه»، نمونه‌های کد ارائه‌شده را دنبال کنید.

مرحله ۳: بار کردن کتابخانه‌های Maps JS API

  1. کتابخانه‌های اصلی و Maps را همان‌طور که در گزیده زیر نشان داده شده است بار کنید. برای اطلاعات بیشتر و دستورالعمل‌ها، مستندات Maps JavaScript API را ببینید.

    async function init() {
      const {Settings} = await google.maps.importLibrary('core');
      const {Map} = await google.maps.importLibrary('maps');
    }  

مرحله ۴: مقداردهی اولیه Maps و App Check APIs

  1. بااستفاده از پیکربندی ارائه‌شده توسط کنسول Firebase،‏ App Check را مقداردهی اولیه کنید.
  2. مطمئن شوید که درخواست‌های Maps JS API با نشان‌های App Check همراه باشند:
      import {initializeApp} from 'firebase/app';
      import {
        getToken,
        initializeAppCheck,
        ReCaptchaEnterpriseProvider,
      } from 'firebase/app-check';
        
      async function init() {
        const {Settings} = await google.maps.importLibrary('core');
        const {Map} = await google.maps.importLibrary('maps');
      
        const app = initializeApp({
          // Your firebase configuration object
        });
      
        // Pass your reCAPTCHA Enterprise site key to initializeAppCheck().
        const appCheck = initializeAppCheck(app, {
          provider: new ReCaptchaEnterpriseProvider(
            'abcdefghijklmnopqrstuvwxy-1234567890abcd',
          ),
      
          // Optional argument. If true, the SDK automatically refreshes App Check
          // tokens as needed.
          isTokenAutoRefreshEnabled: true,
        });
      
        Settings.getInstance().fetchAppCheckToken = () =>
            getToken(appCheck, /* forceRefresh = */ false);
      
        // Load a map
        map = new Map(document.getElementById("map"), {
          center: { lat: 37.4161493, lng: -122.0812166 },
          zoom: 8,
        });
      }  
      

مرحله ۵: فعال کردن اشکال‌زدایی (اختیاری)

اگر می‌خواهید برنامه‌تان را به‌صورت محلی توسعه دهید و آزمایش کنید، یا آن را در محیط یکپارچه‌سازی مداوم (CI) اجرا کنید، می‌توانید ساخت اشکال‌زدایی برنامه‌تان را ایجاد کنید که از رمز اشکال‌زدایی برای دریافت نشان‌های معتبر «بررسی برنامه» استفاده می‌کند. این کار به شما امکان می‌دهد از ارائه‌دهندگان گواهی واقعی در ساخت اشکال‌زدایی خود استفاده نکنید.

برای آزمایش کردن برنامه به‌صورت محلی:

  • ارائه‌دهنده اشکال‌زدایی را برای اهداف توسعه فعال کنید.
  • یک UUID4 تصادفی تولیدشده به‌طور خودکار (که در اسناد App Check به آن _رمز اشکال‌زدایی_ گفته می‌شود) از گزارش‌های اشکال‌زدایی «کیت توسعه نرم‌افزار» دریافت خواهید کرد. این کد را به کنسول Firebase اضافه کنید.
  • برای اطلاعات و دستورالعمل‌های بیشتر، به اسناد App Check مراجعه کنید.

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

  • یک UUID4 تصادفی از کنسول Firebase تولید کنید.
  • ‫UUID4 را به‌عنوان یک کد اشکال‌زدایی اضافه کنید، و سپس آن را در یک فروشگاه محرمانه که آزمون‌های CI در هر اجرای آزمون به آن دسترسی خواهند داشت کپی کنید.
  • برای اطلاعات و دستورالعمل‌های بیشتر، به اسناد App Check مراجعه کنید.

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

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

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