از App Check با ارائه دهنده اشکال زدایی با Flutter استفاده کنید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
پس از اینکه برنامه خود را برای بررسی برنامه ثبت کردید، برنامه شما معمولاً در یک شبیه ساز یا از یک محیط یکپارچه سازی پیوسته (CI) اجرا نمی شود، زیرا این محیط ها به عنوان دستگاه های معتبر واجد شرایط نیستند. اگر می خواهید برنامه خود را در چنین محیطی در حین توسعه و آزمایش اجرا کنید، می توانید یک ساختار اشکال زدایی از برنامه خود ایجاد کنید که از ارائه دهنده اشکال زدایی App Check به جای ارائه دهنده گواهی واقعی استفاده می کند.
پلتفرم های اپل
برای استفاده از ارائه دهنده اشکال زدایی در حین اجرای برنامه خود در یک شبیه ساز به صورت تعاملی (مثلاً در حین توسعه)، موارد زیر را انجام دهید:
بلافاصله پس از اینکه برنامه Firebase خود را راه اندازی کردید، بررسی برنامه را با ارائه دهنده اشکال زدایی فعال کنید:
import'package:flutter/material.dart';import'package:firebase_core/firebase_core.dart';// Import the firebase_app_check pluginimport'package:firebase_app_check/firebase_app_check.dart';Future<void>main()async{WidgetsFlutterBinding.ensureInitialized();awaitFirebase.initializeApp();awaitFirebaseAppCheck.instance.activate(// Set appleProvider to `AppleProvider.debug`appleProvider:AppleProvider.debug,);runApp(App());}
ورود اشکال زدایی را در پروژه Xcode خود (نسخه 11.0 یا جدیدتر) فعال کنید:
محصول > طرح > طرح ویرایش را باز کنید.
از منوی سمت چپ Run را انتخاب کنید و سپس تب Arguments را انتخاب کنید.
در بخش Arguments Passed on Launch ، -FIRDebugEnabled اضافه کنید.
ios/Runner.xcworkspace را با Xcode باز کنید و برنامه خود را در Simulator اجرا کنید. هنگامی که Firebase سعی می کند درخواستی را به backend ارسال کند، برنامه شما یک نشانه اشکال زدایی محلی را در خروجی اشکال زدایی چاپ می کند. به عنوان مثال:
در بخش App Check کنسول Firebase ، مدیریت نشانههای اشکال زدایی را از منوی سرریز برنامه خود انتخاب کنید. سپس، رمز اشکال زدایی را که در مرحله قبل وارد کرده اید، ثبت کنید.
پس از ثبت توکن، خدمات پشتیبان Firebase آن را معتبر میپذیرند.
از آنجایی که این توکن امکان دسترسی به منابع Firebase شما را بدون دستگاه معتبر فراهم می کند، مهم است که آن را خصوصی نگه دارید. آن را به یک مخزن عمومی متعهد نکنید و اگر یک توکن ثبت شده در معرض خطر قرار گرفت، بلافاصله آن را در کنسول Firebase لغو کنید.
اندروید
برای استفاده از ارائه دهنده اشکال زدایی هنگام اجرای برنامه Flutter خود در محیط اندروید، کد زیر را در برنامه Flutter خود پیاده سازی کنید:
import'package:flutter/material.dart';import'package:firebase_core/firebase_core.dart';// Import the firebase_app_check pluginimport'package:firebase_app_check/firebase_app_check.dart';Future<void>main()async{WidgetsFlutterBinding.ensureInitialized();awaitFirebase.initializeApp();awaitFirebaseAppCheck.instance.activate(webRecaptchaSiteKey:'recaptcha-v3-site-key',// Set androidProvider to `AndroidProvider.debug`androidProvider:AndroidProvider.debug,);runApp(App());}
هنگامی که Firebase سعی می کند درخواستی را به backend ارسال کند، برنامه شما یک نشانه اشکال زدایی محلی را در خروجی اشکال زدایی چاپ می کند. به عنوان مثال:
D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
در بخش App Check کنسول Firebase ، مدیریت نشانههای اشکال زدایی را از منوی سرریز برنامه خود انتخاب کنید. سپس، رمز اشکال زدایی را که در مرحله قبل وارد کرده اید، ثبت کنید.
پس از ثبت توکن، خدمات پشتیبان Firebase آن را معتبر میپذیرند.
وب
برای استفاده از ارائه دهنده اشکال زدایی در حین اجرای برنامه خود از localhost (مثلاً در حین توسعه)، موارد زیر را انجام دهید:
در فایل web/index.html ، حالت اشکال زدایی را با تنظیم self.FIREBASE_APPCHECK_DEBUG_TOKEN روی true فعال کنید:
برنامه وب خود را به صورت محلی اجرا کنید و ابزار توسعه دهنده مرورگر را باز کنید. در کنسول اشکال زدایی، یک نشانه اشکال زدایی را خواهید دید:
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 روی رشته نشانه تنظیم کنید.
در بخش App Check کنسول Firebase ، مدیریت نشانههای اشکال زدایی را از منوی سرریز برنامه خود انتخاب کنید. سپس، رمز اشکال زدایی را که در مرحله قبل وارد کرده اید، ثبت کنید.
پس از ثبت توکن، خدمات پشتیبان Firebase آن را معتبر میپذیرند.
از آنجایی که این توکن امکان دسترسی به منابع Firebase شما را بدون دستگاه معتبر فراهم می کند، مهم است که آن را خصوصی نگه دارید. آن را به یک مخزن عمومی متعهد نکنید و اگر یک توکن ثبت شده در معرض خطر قرار گرفت، بلافاصله آن را در کنسول Firebase لغو کنید.
تاریخ آخرین بهروزرسانی 2025-08-22 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-22 بهوقت ساعت هماهنگ جهانی."],[],[],null,["After you have registered your app for App Check, your app normally won't run\nin an emulator or from a continuous integration (CI) environment, since those\nenvironments don't qualify as valid devices. If you want to run your app in such\nan environment during development and testing, you can create a debug build of\nyour app that uses the App Check debug provider instead of a real attestation\nprovider.\n| **Warning:** The debug provider allows access to your Firebase resources from unverified devices. Don't use the debug provider in production builds of your app, and don't share your debug builds with untrusted parties.\n\nApple platforms\n\nTo use the debug provider while running your app in a simulator interactively\n(during development, for example), do the following:\n\n1. Activate App Check with the debug provider right after you have initialized\n your Firebase app:\n\n import 'package:flutter/material.dart';\n import 'package:firebase_core/firebase_core.dart';\n\n // Import the firebase_app_check plugin\n import 'package:firebase_app_check/firebase_app_check.dart';\n\n Future\u003cvoid\u003e main() async {\n WidgetsFlutterBinding.ensureInitialized();\n await Firebase.initializeApp();\n await FirebaseAppCheck.instance.activate(\n // Set appleProvider to `AppleProvider.debug`\n appleProvider: AppleProvider.debug,\n );\n runApp(App());\n }\n\n2. Enable debug logging in your Xcode project (v11.0 or newer):\n\n 1. Open **Product \\\u003e Scheme \\\u003e Edit scheme**.\n 2. Select **Run** from the left menu, then select the **Arguments** tab.\n 3. In the **Arguments Passed on Launch** section, add `-FIRDebugEnabled`.\n3. Open `ios/Runner.xcworkspace` with Xcode and run your app in the Simulator.\n Your app will print a local debug token to the debug output when Firebase\n tries to send a request to the backend. For example:\n\n ```\n Firebase App Check Debug Token:\n 123a4567-b89c-12d3-e456-789012345678\n ```\n4. In the [**App Check**](//console.firebase.google.com/project/_/appcheck) section\n of the Firebase console, choose **Manage debug tokens** from your app's\n overflow menu. Then, register the debug token you logged in the previous\n step.\n\nAfter you register the token, Firebase backend services will accept it as valid.\n\nBecause this token allows access to your Firebase resources without a\nvalid device, it is crucial that you keep it private. Don't commit it to a\npublic repository, and if a registered token is ever compromised, revoke it\nimmediately in the Firebase console.\n\nAndroid\n\nTo use the debug provider while running your Flutter app in an Android environment,\nimplement the following code in your Flutter application: \n\n import 'package:flutter/material.dart';\n import 'package:firebase_core/firebase_core.dart';\n\n // Import the firebase_app_check plugin\n import 'package:firebase_app_check/firebase_app_check.dart';\n\n Future\u003cvoid\u003e main() async {\n WidgetsFlutterBinding.ensureInitialized();\n await Firebase.initializeApp();\n await FirebaseAppCheck.instance.activate(\n webRecaptchaSiteKey: 'recaptcha-v3-site-key',\n // Set androidProvider to `AndroidProvider.debug`\n androidProvider: AndroidProvider.debug,\n );\n runApp(App());\n }\n\nYour app will print a local debug token to the debug output when Firebase tries\nto send a request to the backend. For example: \n\n```\nD DebugAppCheckProvider: Enter this debug secret into the allow list in\nthe Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678\n```\n\n1. In the [**App Check**](//console.firebase.google.com/project/_/appcheck) section\n of the Firebase console, choose **Manage debug tokens** from your app's\n overflow menu. Then, register the debug token you logged in the previous\n step.\n\nAfter you register the token, Firebase backend services will accept it as valid.\n\nWeb\n\nTo use the debug provider while running your app from `localhost` (during\ndevelopment, for example), do the following:\n| **Warning:** *Do not* try to enable `localhost` debugging by adding `localhost` to reCAPTCHA's allowed domains. Doing so would allow anyone to run your app from their local machines!\n\n1. In the file `web/index.html`, enable debug mode by setting\n `self.FIREBASE_APPCHECK_DEBUG_TOKEN` to `true`:\n\n \u003cbody\u003e\n \u003cscript\u003e\n self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;\n \u003c/script\u003e\n\n ...\n\n \u003c/body\u003e\n\n2. Run your web app locally and open the browser's developer tool. In the\n debug console, you'll see a debug token:\n\n ```\n AppCheck debug token: \"123a4567-b89c-12d3-e456-789012345678\". You will\n need to safelist it in the Firebase console for it to work.\n ```\n\n This token is stored locally in your browser and will be used whenever you\n use your app in the same browser on the same machine. If you want to use the\n token in another browser or on another machine, set\n `self.FIREBASE_APPCHECK_DEBUG_TOKEN` to the token string instead of `true`.\n3. In the [**App Check**](//console.firebase.google.com/project/_/appcheck) section\n of the Firebase console, choose **Manage debug tokens** from your app's\n overflow menu. Then, register the debug token you logged in the previous\n step.\n\nAfter you register the token, Firebase backend services will accept it as valid.\n\nBecause this token allows access to your Firebase resources without a\nvalid device, it is crucial that you keep it private. Don't commit it to a\npublic repository, and if a registered token is ever compromised, revoke it\nimmediately in the Firebase console."]]