جلوگیری از سوءاستفاده از Gemini API با Firebase App Check

وقتی میانای برنامه‌سازی کاربردی را مستقیماً از برنامه وب یا تلفن همراه فرامی‌خوانید، میانای برنامه‌سازی کاربردی دربرابر سوءاستفاده مشتریان غیرمجاز آسیب‌پذیر می‌شود. اگر می‌خواهید Gemini API را مستقیماً از برنامه تلفن همراه یا برنامه تحت وب خود فراخوانی کنید، باید بااستفاده از Firebase AI Logic و اجرای Firebase App Check به محافظت از آن دربرابر سوءاستفاده کمک کنید. وقتی App Check را اعمال می‌کنید، فقط به درخواست‌های ورودی‌ای اجازه داده می‌شود که تأیید شده باشد از برنامه واقعی شما و/یا دستگاهی دست‌کاری‌نشده ارسال شده‌اند.

پرش به دستورالعمل‌های راه‌اندازی

‫Firebase AI Logic یک درگاه پراکسی ارائه می‌دهد که به شما امکان می‌دهد با Firebase App Check ادغام شوید و از Gemini API وقتی مستقیماً توسط برنامه‌های وب و تلفن همراه شما فراخوانی می‌شود محافظت کنید. وقتی App Check برای Firebase AI Logic اجرا شود، به محافظت از Gemini Developer API و Agent Platform Gemini API (formerly Vertex AI) کمک می‌کند.

App Check برای Firebase AI Logic از محافظت دربرابر بازپخش نیز پشتیبانی می‌کند، یعنی از هر کد App Check فقط یک‌بار می‌توان استفاده کرد.


خلاصه سطح بالا از نحوه عملکرد App Check

با App Check، دستگاه‌هایی که برنامه‌تان را اجرا می‌کنند از ارائه‌دهنده گواهی برنامه یا دستگاهی استفاده می‌کنند که یک یا هر دو مورد زیر را درستی‌سنجی می‌کند:

  • درخواست‌ها از برنامه معتبر شما ارسال می‌شود
  • درخواست‌ها از دستگاهی معتبر و دست‌کاری‌نشده ارسال شده باشد

این گواهی به هر درخواستی که برنامه‌تان بااستفاده از Firebase AI Logic SDK ایجاد می‌کند پیوست می‌شود. وقتی App Check اجرا شود، درخواست‌های مشتریان بدون گواهی معتبر رد خواهد شد، همچنین هر درخواستی که از برنامه یا پلاتفرمی که مجاز نکرده‌اید ارسال شود رد خواهد شد.

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

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

راه‌اندازی App Check

دستورالعمل‌های زیر برای راه‌اندازی اجرای Firebase App Check برای Firebase AI Logic بهینه‌سازی شده‌اند.

مرحله ۱: اجرای App Check

از اوایل ژوئیه ۲۰۲۶، درطول گردش کار راه‌اندازی راهنمایی‌شده در کنسول Firebase،‏ Firebase به‌طور خودکار Firebase App Check را برای Firebase AI Logic اعمال می‌کند تا به محافظت از Gemini API کمک کند.

بااین‌حال، اگر قبلاً Firebase AI Logic را در پروژه Firebase خود قبل‌از اوایل ژوئیه ۲۰۲۶ راه‌اندازی کرده‌اید (یا App Check به دلیل دیگری اجرا نمی‌شود)، می‌توانید بااستفاده از دستورالعمل‌های زیر، App Check را خودتان اجرا کنید.

  1. بررسی کنید آیا App Check ازقبل برای Firebase AI Logic اجرا شده است یا نه.

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > میاناهای برنامه‌سازی کاربردی بروید.

    2. ردیف Firebase AI Logic را پیدا کنید. اگر Unenforced را می‌بینید، بقیه این دستورالعمل‌ها را دنبال کنید.

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

  3. در اولین صفحه کادر گفتگو (محافظت پایه)، اجراشده را انتخاب کنید، سپس روی ادامه کلیک کنید.

  4. در صفحه بعدی (محافظت دربرابر بازپخش)، غیرفعال را انتخاب کنید، سپس روی ادامه کلیک کنید.

  5. در صفحه آخر، ملاحظات مربوط به اجرای App Check را مرور کنید تا مطمئن شوید برای اجرای App Check آماده هستید. اگر آماده‌اید، روی ادامه کلیک کنید.

    اگر فقط می‌خواهید App Check را اعمال کنید و فقط از ارائه‌دهنده اشکال‌زدایی با Firebase AI Logic در برنامه پیش‌تولید استفاده کنید، نیازی به ثبت برنامه‌هایتان ندارید. بااین‌حال، وقتی آماده انتشار برنامه‌تان برای کاربران نهایی هستید، باید برنامه‌هایتان را به‌عنوان بخشی از راه‌اندازی ارائه‌دهنده گواهی تولید (مانند App Attest،‏ Play Integrity، یا reCAPTCHA Enterprise) ثبت کنید.

مرحله ۲: راه‌اندازی ارائه‌کننده اشکال‌زدایی برای توسعه محلی

برای توسعه محلی، می‌توانید App Check ارائه‌دهنده اشکال‌زدایی را راه‌اندازی کنید و همچنان App Check را برای Firebase AI Logic اجباری نگه دارید.

Swift

در اینجا نحوه استفاده از ارائه‌کننده اشکال‌زدایی هنگام اجرای برنامه در شبیه‌ساز به‌صورت تعاملی (برای مثال، درطول توسعه محلی) آورده شده است:

  1. در پروژه Xcode،‏ FirebaseAppCheck را وارد کنید و App Check را با کارخانه ارائه‌دهنده اشکال‌زدایی قبل‌از پیکربندی Firebase مقداردهی اولیه کنید.

    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct YourApp: App {
      init() {
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
        FirebaseApp.configure()
      }
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
    
  2. دریافت کردن کد اشکال‌زدایی:

    1. برنامه‌تان را در شبیه‌ساز یا در دستگاه آزمایشی‌تان راه‌اندازی کنید.

    2. کنسول Xcode را باز کنید و به‌دنبال کد تصدیق اشکال‌زدایی App Check بگردید. برای مثال:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. کد را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678).

  3. توکن اشکال‌زدایی‌تان را با App Check ثبت کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

برای جزئیات درباره ارائه‌دهنده اشکال‌زدایی (ازجمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Kotlin

نحوه استفاده از ارائه‌کننده اشکال‌زدایی هنگام اجرای برنامه در شبیه‌ساز به‌صورت تعاملی (برای مثال، درطول توسعه محلی) در زیر آمده است:

  1. در ساخت اشکال‌زدایی، App Check را برای استفاده از کارخانه ارائه‌کننده اشکال‌زدایی پیکربندی کنید:

    Firebase.initialize(context = this)
    Firebase.appCheck.installAppCheckProviderFactory(
        DebugAppCheckProviderFactory.getInstance(),
    )
  2. دریافت کردن کد اشکال‌زدایی:

    1. برنامه‌تان را در شبیه‌ساز یا دستگاه آزمایشی‌تان اجرا کنید.

    2. در گزارش‌هایتان به‌دنبال کد تصحیح App Check بگردید. برای مثال:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. کد را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678).

  3. توکن اشکال‌زدایی‌تان را با App Check ثبت کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

برای جزئیات درباره ارائه‌دهنده اشکال‌زدایی (ازجمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Java

نحوه استفاده از ارائه‌کننده اشکال‌زدایی هنگام اجرای برنامه در شبیه‌ساز به‌صورت تعاملی (برای مثال، درطول توسعه محلی) در زیر آمده است:

  1. در ساخت اشکال‌زدایی، App Check را برای استفاده از کارخانه ارائه‌کننده اشکال‌زدایی پیکربندی کنید:

    FirebaseApp.initializeApp(/*context=*/ this);
    FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
    firebaseAppCheck.installAppCheckProviderFactory(
            DebugAppCheckProviderFactory.getInstance());
  2. دریافت کردن کد اشکال‌زدایی:

    1. برنامه‌تان را در شبیه‌ساز یا دستگاه آزمایشی‌تان اجرا کنید.

    2. در گزارش‌هایتان به‌دنبال کد تصحیح App Check بگردید. برای مثال:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. کد را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678).

  3. توکن اشکال‌زدایی‌تان را با App Check ثبت کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

برای جزئیات درباره ارائه‌دهنده اشکال‌زدایی (ازجمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Web

در اینجا نحوه استفاده از ارائه‌دهنده اشکال‌زدایی هنگام اجرای برنامه از localhost به‌صورت تعاملی (برای مثال، درطول توسعه محلی) آورده شده است:

  1. در ساخت اشکال‌زدایی، حالت اشکال‌زدایی را با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN روی true قبل‌از مقداردهی اولیه App Check فعال کنید. برای مثال:

    self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
    initializeAppCheck(app, { /* App Check options */ });
    
  2. به‌صورت محلی از برنامه وب خود بازدید کنید و ابزارهای توسعه‌دهنده مرورگر را باز کنید. در کنسول اشکال‌زدایی، یک توکن اشکال‌زدایی خواهید دید:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    
  3. توکن اشکال‌زدایی‌تان را با App Check ثبت کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

برای جزئیات درباره ارائه‌دهنده اشکال‌زدایی (ازجمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Dart

iOS+‎

در اینجا نحوه استفاده از ارائه‌کننده اشکال‌زدایی هنگام اجرای برنامه در شبیه‌ساز به‌صورت تعاملی (برای مثال، درطول توسعه محلی) آورده شده است:

  1. App Check را با ارائه‌دهنده اشکال‌زدایی بلافاصله پس‌از مقداردهی اولیه برنامه Firebase خود فعال کنید:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set appleProvider to `AppleProvider.debug`
        appleProvider: AppleProvider.debug,
      );
      runApp(App());
    }
    
  2. ثبت گزارش اشکال‌زدایی را در پروژه Xcode خود فعال کنید:

    1. محصول > طرح > ویرایش طرح را باز کنید.
    2. اجرا را از منوِ سمت راست انتخاب کنید، سپس زبانه آرگومان‌ها را انتخاب کنید.
    3. در بخش Arguments Passed on Launch، -FIRDebugEnabled را اضافه کنید.
  3. دریافت کردن کد اشکال‌زدایی:

    1. ios/Runner.xcworkspace را با Xcode باز کنید و برنامه‌تان را در شبیه‌ساز یا در دستگاه آزمایشی‌تان اجرا کنید.

    2. کنسول Xcode را باز کنید و به‌دنبال کد تصدیق اشکال‌زدایی App Check بگردید. برای مثال:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. کد را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678).

  4. توکن اشکال‌زدایی‌تان را با App Check ثبت کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

Android

نحوه استفاده از ارائه‌کننده اشکال‌زدایی هنگام اجرای برنامه در شبیه‌ساز به‌صورت تعاملی (برای مثال، درطول توسعه محلی) در زیر آمده است:

  1. App Check را با ارائه‌دهنده اشکال‌زدایی بلافاصله پس‌از مقداردهی اولیه برنامه Firebase خود فعال کنید:

    import 'package:flutter/material.dart';
    import 'package:firebase_core/firebase_core.dart';
    
    // Import the firebase_app_check plugin
    import 'package:firebase_app_check/firebase_app_check.dart';
    
    Future<void> main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp();
      await FirebaseAppCheck.instance.activate(
        // Set androidProvider to `AndroidProvider.debug`
        androidProvider: AndroidProvider.debug,
      );
      runApp(App());
    }
    
  2. دریافت کردن کد اشکال‌زدایی:

    1. برنامه‌تان را در شبیه‌ساز یا دستگاه آزمایشی‌تان اجرا کنید.

    2. در گزارش‌هایتان به‌دنبال کد تصحیح App Check بگردید. برای مثال:

      D DebugAppCheckProvider: Enter this debug secret into the allow list
      in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
      
    3. کد را کپی کنید (برای مثال، 123a4567-b89c-12d3-e456-789012345678).

  3. توکن اشکال‌زدایی‌تان را با App Check ثبت کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

وب

نحوه استفاده از ارائه‌دهنده اشکال‌زدایی هنگام اجرای برنامه از localhost به‌صورت تعاملی (برای مثال، درطول توسعه محلی):

  1. در فایل web/index.html، حالت اشکال‌زدایی را با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN روی true فعال کنید:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. برنامه وب را به‌صورت محلی اجرا کنید و ابزارهای توسعه‌دهنده مرورگر را باز کنید. در کنسول اشکال‌زدایی، یک کد اشکال‌زدایی خواهید دید:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678".
    You will need to safelist it in the Firebase console for it to work.
    

    این کد به‌صورت محلی در مرورگرتان ذخیره می‌شود و هرگاه از برنامه‌تان در همان مرورگر و در همان دستگاه استفاده کنید، از آن استفاده خواهد شد. اگر می‌خواهید از این کد در مرورگر دیگری یا در دستگاه دیگری استفاده کنید، به‌جای true، self.FIREBASE_APPCHECK_DEBUG_TOKEN را روی رشته کد تنظیم کنید.

  3. توکن اشکال‌زدایی‌تان را با App Check ثبت کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ثبت کردن کد اشکال‌زدایی دنبال کنید.

برای جزئیات درباره ارائه‌دهنده اشکال‌زدایی (ازجمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

Unity

نحوه استفاده از ارائه‌کننده اشکال‌زدایی هنگام اجرای برنامه در شبیه‌ساز به‌صورت تعاملی (برای مثال، درطول توسعه محلی) در زیر آمده است:

  1. در کنسول Firebase، یک کد اشکال‌زدایی ایجاد کنید:

    1. در کنسول Firebase، به برگه امنیت > بررسی برنامه > برنامه‌ها بروید.

    2. برنامه‌تان را پیدا کنید، روی منوِ سرریز () کلیک کنید، و سپس مدیریت کردن کدهای اشکال‌زدایی را انتخاب کنید.

    3. دستورالعمل‌های روی صفحه را برای ایجاد کردن یک کد اشکال‌زدایی جدید دنبال کنید.

  2. در کد مقداردهی اولیه برنامه‌تان، موارد زیر را اضافه کنید:

    using Firebase.AppCheck;
    
    void InitializeFirebase() {
      // Configure the Debug Provider factory with your debug token.
      DebugAppCheckProviderFactory.Instance.SetDebugToken("YOUR_DEBUG_TOKEN");
    
      // Set App Check to use the debug provider factory
      FirebaseAppCheck.SetAppCheckProviderFactory(
        DebugAppCheckProviderFactory.Instance);
    
      // Proceed to initialize Firebase as normal
    }
    

برای جزئیات درباره ارائه‌دهنده اشکال‌زدایی (ازجمله نحوه دریافت یک توکن اشکال‌زدایی جدید)، به اسناد رسمی App Check مراجعه کنید.

مرحله ۳: راه‌اندازی App Check برای کاربران نهایی و تولید

وقتی آماده انتشار برنامه‌تان برای کاربران نهایی هستید، باید برنامه‌هایتان را ثبت کنید و یک ارائه‌دهنده گواهی تولید (مانند App Attest،‏ Play Integrity، یا reCAPTCHA Enterprise) راه‌اندازی کنید.

  1. یک ارائه‌دهنده گواهی تولید انتخاب کنید و دستورالعمل‌های پیاده‌سازی را در پیوندهای زیر دنبال کنید:

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

  2. (توصیه‌شده) با افزودن محافظت دربرابر بازپخش، محافظت را بهبود ببخشید، یعنی از هر App Check فقط یک‌بار می‌توان استفاده کرد.

با افزودن محافظت دربرابر بازپخش، محافظت را بهبود بخشید

توصیه می‌کنیم از جدیدترین نسخه‌های کیت توسعه نرم‌افزار استفاده کنید، اما مطمئن شوید که حداقل از یکی از این نسخه‌ها برای استفاده از محافظت دربرابر بازپخش استفاده می‌کنید:
پلاتفرم‌های Apple نسخه ۱۲.۲.۰+ | Android BoM نسخه ۳۴.۱۴.۰+ (App Check نسخه ۱۹.۱.۰+) | وب نسخه ۱۲.۱۴.۰+ | Flutter نسخه ۴.۱۵.۰+ (App Check نسخه ۴.۱۰.۰+) | Unity نسخه ۱۳.۱۲.۰+

به‌طور پیش‌فرض، App Check از کدهای جلسه استفاده می‌کند که زمان بقای (TTL) قابل‌پیکربندی بین ۳۰ دقیقه و ۷ روز دارند. این کدهای جلسه توسط App Check SDK ذخیره می‌شوند، همراه با درخواست‌های برنامه‌تان ارسال می‌شوند، و تا زمانی که TTL آن‌ها منقضی نشده باشد، می‌توانند دوباره استفاده شوند. استفاده از کدهای جلسه به‌عنوان محافظت پایه درنظر گرفته می‌شود.

بااین‌حال، می‌توانید با اعمال محافظت دربرابر تکرار که به‌جای آن از توکن‌های با استفاده محدود استفاده می‌کند، محافظت را فراتر از این محافظت پایه تقویت کنید. وقتی محافظت دربرابر بازپخش اعمال می‌شود، موارد زیر اتفاق می‌افتد:

  • App Check درخواست‌های ارسال‌شده به Firebase AI Logic را که از کد جلسه استفاده می‌کنند مسدود خواهد کرد. درعوض، App Check فقط زمانی درخواست به Firebase AI Logic را مجاز می‌کند که از توکن با استفاده محدود تازه ایجادشده استفاده کند.

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

  • کیت توسعه نرم‌افزار App Check برای هر درخواست یک توکن با استفاده محدود جدید تولید می‌کند. توجه داشته باشید که این فرایند می‌تواند با افزودن مقداری تأخیر و گاهی هزینه (بسته به ارائه‌دهنده گواهی شما) بر درخواست‌هایتان تأثیر بگذارد.

راه‌اندازی و اعمال محافظت دربرابر بازپخش

روی ارائه‌دهنده Gemini API کلیک کنید تا محتوا و کد مختص ارائه‌دهنده را در این صفحه ببینید.

نحوه راه‌اندازی و اعمال محافظت دربرابر بازپخش در اینجا آمده است:

  1. اگر قبلاً این کار را نکرده‌اید، App Check را با دنبال کردن دستورالعمل‌های قبلی در این صفحه راه‌اندازی کنید.

  2. استفاده از توکن‌های با استفاده محدود را فعال کنید.

    در برنامه‌تان درطول نمونه‌سازی، پارامتر useLimitedUseAppCheckTokens را روی true تنظیم کنید:

    Swift

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    let ai = FirebaseAI.firebaseAI(
      backend: .googleAI(),
      useLimitedUseAppCheckTokens: true
    )
    
    // ...
    
    

    Kotlin

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    val ai = Firebase.ai(
      backend = GenerativeBackend.googleAI(),
      useLimitedUseAppCheckTokens = true
    )
    
    // ...
    
    

    Java

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    FirebaseAI ai = FirebaseAI.getInstance(
      /* backend: */ GenerativeBackend.googleAI(),
      /* useLimitedUseAppCheckTokens: */ true
    );
    
    // ...
    
    

    Web

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens.
    const ai = getAI(firebaseApp, {
      backend: new GoogleAIBackend(),
      useLimitedUseAppCheckTokens: true
    });
    
    // ...
    
    

    Dart

    
    // ...
    
    // During instantiation, enable usage of limited-use tokens
    final ai = await FirebaseAI.googleAI(
      useLimitedUseAppCheckTokens: true,
    );
    
    // ...
    
    

    Unity

    // ...
    
    // During instantiation, enable usage of limited-use tokens
    var ai = FirebaseAI.GetInstance(
      useLimitedUseAppCheckTokens: true
    );
    
    // ...
    
  3. محافظت دربرابر بازپخش را اعمال کنید.

    1. در پایگاه کد برنامه‌تان، مطمئن شوید که استفاده از توکن‌های با استفاده محدود را فعال کرده‌اید (مرحله قبلی را ببینید).

    2. در کنسول Firebase، به امنیت > بررسی برنامه بروید.

    3. نمای سنجه‌ها را برای Firebase AI Logic ازهم باز کنید.

    4. مطمئن شوید محافظت پایه اجرا شده باشد، سپس روی ادامه کلیک کنید.

    5. برای محافظت دربرابر بازپخش، اجرانشده (فقط نظارت) یا اجراشده را انتخاب کنید.

      برای تصمیم‌گیری درباره زمان اجرای محافظت دربرابر بازپخش، موارد زیر را درنظر بگیرید:

      • اگر تعداد قابل‌توجهی از کاربران شما احتمالاً از نسخه‌های قبلی برنامه‌تان بدون فعال بودن استفاده از توکن‌های با استفاده محدود استفاده می‌کنند، توصیه می‌شود درخواست‌هایتان را پایش کنید. اگر بلافاصله محافظت دربرابر بازپخش را اعمال کنید، درخواست‌های آن کاربران مسدود خواهد شد.

      • می‌توانید به‌طور خاص سنجه تأییدنشده: توکن استفاده‌شده را پایش کنید که تعداد درخواست‌هایی است که توکنی دارند که قبلاً در درخواست قبلی استفاده شده است. این سنجه را در کنسول Firebase پایش کنید (به برگه امنیت > بررسی برنامه > میاناهای برنامه‌سازی کاربردی بروید).

        اگر بخش قابل‌توجهی از درخواست‌های اخیر در این دسته قرار دارند، می‌توانید از ایجاد اختلال برای کاربران جلوگیری کنید و منتظر بمانید تا کاربران بیشتری به نسخه‌ای از برنامه‌تان که از توکن‌های با استفاده محدود استفاده می‌کند به‌روزرسانی کنند و سپس محافظت دربرابر تکرار را اعمال کنید.

آشنایی با نحوه ادغام Firebase AI Logic با App Check

برای استفاده از کیت‌های توسعه نرم‌افزار Firebase AI Logic، میانای برنامه‌سازی کاربردی Firebase AI Logic (firebasevertexai.googleapis.com) باید در پروژه Firebase شما فعال باشد. دلیلش این است که درخواست‌های ارسالی ازسوی Firebase AI Logic کیت‌های توسعه نرم‌افزار ابتدا به سرور Firebase AI Logic ارسال می‌شود که به‌عنوان درگاه پراکسی عمل می‌کند و درستی‌سنجی Firebase App Check پیش‌از اینکه درخواست اجازه ادامه به Gemini API و دسترسی به مدل‌های Gemini را داشته باشد در آنجا انجام می‌شود.

پرسشگان و عیب‌یابی

پرسشگان و عیب‌یابی یا کدهای خطای بیشتر مربوط به Firebase AI Logic را پیدا کنید.