جلوگیری از سوءاستفاده از 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. بلافاصله پس‌از مقداردهی اولیه برنامه Firebase، App Check را با ارائه‌دهنده اشکال‌زدایی فعال کنید:

    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. بلافاصله پس‌از مقداردهی اولیه برنامه Firebase، App Check را با ارائه‌دهنده اشکال‌زدایی فعال کنید:

    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.
    

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

  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 را پیدا کنید.