جلوگیری از سوءاستفاده از 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 ارسال می‌کند پیوست می‌شود. وقتی 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. در ساخت اشکال‌زدایی، قبل‌از مقداردهی اولیه کردن App Check، با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN روی true، حالت اشکال‌زدایی را فعال کنید. برای مثال:

    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. در بخش استدلال‌های منتقل‌شده در زمان راه‌اندازی، -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.
    

    این کد به‌صورت محلی در مرورگر شما ذخیره می‌شود و هرگاه از برنامه خود در همان مرورگر در همان ماشین استفاده کنید، از آن استفاده خواهد شد. اگر می‌خواهید از کد در مرورگر دیگر یا در ماشین دیگری استفاده کنید، 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 نسخه ۱۹.۱.۰ و بالاتر) | Web نسخه ۱۲.۱۴.۰ و بالاتر | Flutter نسخه ۴.۱۵.۰ و بالاتر (App Check نسخه ۴.۱۰.۰ و بالاتر) | Unity نسخه ۱۳.۱۲.۰ و بالاتر

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

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

  • ‫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 API (firebasevertexai.googleapis.com) باید در پروژه Firebase شما فعال باشد. دلیل این امر این است که درخواست‌های ارائه‌شده توسط کیت‌های توسعه نرم‌افزار Firebase AI Logic ابتدا به سرور Firebase AI Logic ارسال می‌شود، که به‌عنوان دروازه پراکسی عمل می‌کند و در آنجا درستی‌سنجی Firebase App Check قبل‌از اینکه درخواست اجازه یابد به Gemini API برود و به مدل‌های Gemini دسترسی پیدا کند انجام می‌شود.

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

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