عامل تست برنامه، یک عامل تولید، مدیریت و اجرای موارد آزمایشی است که توسط Gemini در Firebase پشتیبانی میشود. شما اهداف آزمایشی را به زبان طبیعی تعریف میکنید و عامل از هوش مصنوعی برای درک و پیمایش برنامه شما، شبیهسازی تعاملات کاربر و ارائه نتایج دقیق آزمایش استفاده میکند.
چگونه عامل تست برنامه از دادههای شما استفاده میکند
عامل تست برنامه توسط Gemini در Firebase ارائه میشود و تحت همان شرایط اداره میشود. برای اطلاعات بیشتر در مورد نحوه استفاده Gemini در Firebase از دادههای شما، به بخش «نحوه استفاده Gemini در Firebase از دادههای شما» مراجعه کنید.
قبل از اینکه شروع کنی
اگر هنوز برنامه خود را در Firebase ثبت نکردهاید، آن را ثبت کنید .
اگر از هیچ محصول Firebase دیگری استفاده نمیکنید، فقط باید یک پروژه ایجاد کنید و برنامه خود را ثبت کنید. نیازی به اضافه کردن SDK به برنامه خود ندارید. با این حال، اگر تصمیم دارید در آینده از محصولات دیگری استفاده کنید، حتماً تمام مراحل Add Firebase را با استفاده از کنسول Firebase انجام دهید.
یک مورد آزمایشی ایجاد کنید
برای اجرای تستهای هدایتشده توسط هوش مصنوعی، عامل تست برنامه از موارد تست زبان طبیعی شما برای اجرای تستها روی برنامهتان استفاده میکند.
هر مورد آزمایشی به مراحلی تقسیم میشود که به ترتیب اجرا میشوند. مراحل به شما این امکان را میدهند که مورد آزمایشی خود را به فازهایی تقسیم کنید که هر کدام ادعای خاص خود را دارند. عامل ممکن است در هر مرحله اقدامات زیادی انجام دهد.
دو راه برای ایجاد یک نمونه آزمایشی وجود دارد: استفاده از یک فایل YAML یا استفاده از کنسول Firebase. فایلهای YAML به شما امکان میدهند خودتان موارد آزمایشی را مدیریت کنید، معمولاً در یک مخزن کد منبع نسخهبندی شده. از طرف دیگر، کنسول Firebase میتواند موارد آزمایشی شما را از راه دور به همراه دادههای توزیع برنامه شما ذخیره کند.
استفاده از فایلهای YAML
مثال زیر یک فایل YAML را نشان میدهد که دو مورد آزمایشی را تعریف میکند:
tests:
- displayName: Login as guest
id: login-as-guest
steps:
- goal: Log in as a guest
finalScreenAssertion: The home screen is visible
- displayName: View biography card birth date
prerequisiteTestCaseId: login-as-guest
steps:
- goal: Open the article on "Bob Dylan"
hint: Use the search function to find it
finalScreenAssertion: >-
The article is opened and the title "Bob Dylan" is visible.
- goal: Find Bob Dylan's birthday in the article
hint: >-
Look for the "Born" section in the infobox on the right side of the page.
finalScreenAssertion: >-
The text "May 24, 1941" is visible on the screen.
شما میتوانید گروههایی از تستها را در یک فایل واحد سازماندهی کنید و این مجموعههای تست را در چندین فایل از هم جدا کنید. میتوانید با اضافه کردن یک شناسه به تست و سپس ارجاع به آن شناسه با استفاده از prerequisiteTestCaseId ، یک Test Case پیشنیاز اضافه کنید.
استفاده از کنسول App Distribution
از طرف دیگر، میتوانید موارد آزمایشی خود را در کنسول Firebase ایجاد و مدیریت کنید. برای ایجاد یک مورد آزمایشی، صفحه App Distribution کنسول Firebase را باز کنید و مراحل زیر را انجام دهید:
- در تب Test Cases ، روی New test case کلیک کنید. اگر نمیخواهید Test Case خودتان را ایجاد کنید، میتوانید Test Case نمونه ارائه شده را تغییر دهید یا از آن استفاده کنید.
- در پنجرهی محاورهای «افزودن مورد آزمایشی» ، نامی برای مورد آزمایشی تعیین کنید. این نام برای شناسایی آزمون استفاده میشود، اما توسط عامل نادیده گرفته میشود.
- (اختیاری) یک مورد آزمون پیشنیاز را انتخاب کنید که شامل مراحل راهاندازی برای اجرا قبل از آزمون اصلی باشد. اگر آزمون پیشنیاز با شکست مواجه شود، کل آزمون به عنوان یک شکست علامتگذاری میشود. مراحل و نتایج حاصل از آزمونهای پیشنیاز و اصلی با هم در نتایج آزمون نشان داده میشوند.
- با کلیک روی دکمه «افزودن یک مرحله دیگر» ، میتوانید آزمایش خود را به چند مرحله تقسیم کنید.
- به هر مرحله یک هدف (Goal) بدهید که توصیف میکند عامل تست برنامه (App Testing agent) در طول آن مرحله چه کاری باید انجام دهد.
- (اختیاری) یک راهنما ( Hint) اضافه کنید تا اطلاعات بیشتری ارائه دهد و به عامل تست برنامه کمک کند تا برنامه شما را در آن مرحله درک و هدایت کند.
- عبارت «صحنه نهایی» را اضافه کنید تا به عامل تست برنامه کمک کند تا زمان اتمام موفقیتآمیز مرحله را تشخیص دهد. این عبارت فقط باید به آنچه در صفحه نمایش قابل مشاهده است، اشاره کند.
- پس از اتمام سفارشیسازی آزمون، روی ذخیره کلیک کنید.
نمونه مورد آزمون
در ادامه مثالی از نحوه ایجاد یک مورد آزمایشی با استفاده از App Testing agent ارائه شده است:
عنوان آزمون | بارگذاری صفحه اصلی |
هدف | بارگذاری صفحه اصلی |
نکته | از هر صفحهی ورود به سیستم عبور کنید. پنجرههای بازشو را رد کنید. وارد سیستم نشوید. |
ادعای نهایی صفحه | صفحه اصلی برنامه روی صفحه قابل مشاهده است، همه تصاویر بارگذاری شدهاند و هیچ خطایی نمایش داده نمیشود. |
یک آزمون اجرا کنید
نحوه اجرای تستهای شما بستگی به نحوه ایجاد و مدیریت موارد تست شما دارد. اگر موارد تست را با استفاده از فایلهای YAML تعریف کنید، آن تستها را با استفاده از Firebase CLI اجرا خواهید کرد. اگر موارد تست خود را در کنسول App Distribution ایجاد کنید، آنها را از کنسول یا از طریق یکی از ابزارهای App Distribution CLI اجرا خواهید کرد.
استفاده از فایلهای YAML
موارد آزمایشی تعریفشده در فایلهای YAML را میتوان با استفاده از Firebase CLI اجرا کرد.
- آخرین نسخه Firebase CLI را نصب یا بهروزرسانی کنید. توصیه میکنیم فایل باینری مستقل مربوط به CLI مخصوص سیستم عامل خود را دانلود کنید.
- وارد سیستم شوید و بررسی کنید که آیا میتوانید به پروژههای خود دسترسی داشته باشید یا خیر. توجه داشته باشید که اگر از Firebase CLI در یک محیط CI استفاده میکنید، میتوانید با یک حساب کاربری سرویس یا با استفاده از login:ci نیز احراز هویت کنید.
دستور
apptesting:executeاجرا کنید. برای مثال:firebase apptesting:execute \ --app=1:1234567890:android:0a1b2c3d4e5f67890 \ --test-dir=./mytests \ ./app/build/outputs/apk/debug/app-debug.apk
| apptesting:execute [options] [/path/to/app/binary] | |
|---|---|
--app | الزامی: شناسه برنامه Firebase شما. میتوانید شناسه برنامه را در کنسول Firebase ، در صفحه تنظیمات عمومی پیدا کنید. |
--test-dir | مسیر به دایرکتوری که حاوی فایلهای YAML مورد آزمایشی است. این دستور به صورت بازگشتی در این دایرکتوری جستجو میکند، بنابراین فایلها میتوانند به صورت اختیاری در زیردایرکتوریها سازماندهی شوند. در صورت عدم تنظیم، "./tests" به طور پیشفرض استفاده میشود. |
--test-devices یا--test-devices-file | دستگاههای آزمایشی که میخواهید توزیع کنید، به ویژگی App Testing agent ساخته میشوند. شما میتوانید دستگاههای تست را به صورت لیستی از دستگاههای تست که با نقطه ویرگول از هم جدا شدهاند، مشخص کنید: --test-devices "model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"یا میتوانید مسیر یک فایل متنی ساده حاوی لیستی از دستگاههای آزمایشی که با نقطه ویرگول از هم جدا شدهاند را مشخص کنید: --test-devices-file "/path/to/test-devices.txt"شما میتوانید مدلهای دستگاههای موجود را با استفاده از gcloud CLI جستجو کنید. |
--test-non-blocking | در صورت تنظیم، دستور به جای انتظار برای تکمیل تستها، آنها را شروع کرده و بلافاصله برمیگرداند. |
--test-file-pattern | یک الگوی عبارت منظم . فقط تستهای موجود در فایلهایی که با این الگو مطابقت دارند، اجرا خواهند شد. |
--test-name-pattern | یک الگوی عبارت منظم . فقط تستهایی با نامهای نمایشی که با این الگو مطابقت دارند، اجرا خواهند شد. |
/path/to/app/binary | اختیاری: مسیر فایل باینری برنامه شما. در صورت حذف، عامل از آخرین نسخه آپلود شده در App Distribution برای برنامه مشخص شده استفاده خواهد کرد. |
استفاده از کنسول App Distribution
برای اجرای موارد آزمایشی ذخیره شده در App Distribution، میتوانید از کنسول Firebase ، Firebase CLI یا افزونههای Gradle یا fastlane مربوط به App Distribution استفاده کنید.
عامل تست برنامه به شما امکان میدهد با کلیک بر روی دکمه اجرای تستها از صفحه Releases یا Test Cases ، تستهای هدایتشده توسط هوش مصنوعی را در کنسول اجرا کنید. این کار صفحه سفارشیسازی عامل تست برنامه را باز میکند، جایی که میتوانید یک یا چند مورد از تستهای موجود خود را برای اجرا توسط عامل انتخاب کنید. همچنین میتوانید دستگاههایی را که میخواهید روی آنها تست کنید و اینکه آیا اعتبارنامه ورود ارائه دهید یا خیر، انتخاب کنید. توجه داشته باشید که اجرا از کنسول فقط از تستهایی پشتیبانی میکند که با استفاده از کنسول ایجاد شدهاند.
وقتی یک اجرای آزمایشی موفقیتآمیز باشد، عامل تست برنامه، اقدامات انجام شده برای هر دستگاه را ذخیره میکند. این اقدامات میتوانند در طول اجرای آزمایشی آینده برای بهبود تکرارپذیری آزمایش، دوباره اجرا شوند. وقتی از اقدامات دوباره اجرا شده استفاده میشود، عامل همچنان از هوش مصنوعی برای تأیید موفقیتآمیز بودن اقدامات استفاده میکند و از هرگونه بیانیه نهایی روی صفحه که شما تعریف کردهاید، استفاده میکند. اگر آزمایشی هنگام استفاده از اقدامات دوباره اجرا شده با شکست مواجه شود، عامل تست برنامه برای همه اقدامات به استفاده از هوش مصنوعی روی میآورد.
همچنین میتوانید با تغییر نوع تست، یک تست خزش تصادفی (Random crawl test) اجرا کنید. تستهای خزش تصادفی از ویژگی تستر خودکار (Automated Tester) استفاده میکنند.
برای استفاده از ویژگی App Testing agent باید حداقل یک دستگاه آزمایشی و یک شناسه مورد آزمایشی مشخص کنید. شناسههای مورد آزمایشی را میتوان در صفحه Test Cases کنسول Firebase یافت و دانلود کرد. برای اطلاعات بیشتر در مورد شروع کار با Firebase CLI و روشهای مختلف پیکربندی توزیع خود، به Distribute Android apps to testers using the Firebase CLI مراجعه کنید.
دستور appdistribution:distribute برای آپلود برنامه خود اجرا کنید و از پارامترهای زیر برای پیکربندی توزیع خود با ویژگی App Testing agent استفاده کنید:
| appdistribution: گزینههای توزیع | |
|---|---|
--test-devices یا--test-devices-file | دستگاههای آزمایشی که میخواهید توزیع کنید، به ویژگی App Testing agent ساخته میشوند. شما میتوانید دستگاههای تست را به صورت لیستی از دستگاههای تست که با نقطه ویرگول از هم جدا شدهاند، مشخص کنید: --test-devices "model=tokay,version=36,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"یا میتوانید مسیر یک فایل متنی ساده حاوی لیستی از دستگاههای آزمایشی که با نقطه ویرگول از هم جدا شدهاند را مشخص کنید: --test-devices-file "/path/to/test-devices.txt"شما میتوانید مدلهای دستگاههای موجود را با استفاده از gcloud CLI جستجو کنید. |
--test-username | نام کاربری برای ورود خودکار که در طول آزمونها استفاده میشود. |
--test-password یا--test-password-file | رمز عبور برای ورود خودکار که در طول آزمونها استفاده میشود. یا میتوانید مسیر یک فایل متنی ساده حاوی رمز عبور را مشخص کنید: --test-password-file "/path/to/test-password.txt" |
--test-non-blocking | تستها را به صورت ناهمگام اجرا کنید. برای مشاهده نتایج تست خودکار، به کنسول Firebase مراجعه کنید. |
--test-case-ids یا--test-case-ids-file | فهرستی از شناسههای موارد آزمون که با کاما از هم جدا شدهاند برای اجرای آزمونهای خودکار مبتنی بر هوش مصنوعی: --test-case-ids "load-app,play-the-first-level"یا میتوانید مسیر یک فایل متنی ساده حاوی لیستی از شناسههای موارد آزمایشی که با کاما یا خط جدید از هم جدا شدهاند را مشخص کنید: --test-case-ids-file "/path/to/test-case-ids.txt" |
برای استفاده از ویژگی App Testing agent باید حداقل یک دستگاه تست و یک شناسه مورد تست مشخص کنید. شناسههای مورد تست را میتوان در صفحه Test Cases کنسول Firebase یافت و دانلود کرد. برای اطلاعات بیشتر در مورد شروع کار با Gradle و روشهای مختلف پیکربندی توزیع خود، به Distribute Android apps to testers using Gradle مراجعه کنید.
شما میتوانید App Distribution با اضافه کردن حداقل یک بخش firebaseAppDistribution پیکربندی کنید و از پارامترهای زیر برای پیکربندی توزیع به ویژگی App Testing agent استفاده کنید:
| پارامترهای ساخت App Distribution | |
|---|---|
testDevices یاtestDevicesFile | دستگاههای آزمایشی که میخواهید توزیع کنید، به ویژگی App Testing agent ساخته میشوند. شما میتوانید دستگاههای آزمایشی را به صورت فهرستی از مشخصات دستگاه که با نقطه ویرگول از هم جدا شدهاند، مشخص کنید. testDevices="model=tokay, version=36, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"یا میتوانید مسیر فایلی را مشخص کنید که حاوی لیستی از مشخصات دستگاه است که با نقطه ویرگول از هم جدا شدهاند: testDevicesFile="/path/to/testDevices.txt"شما میتوانید مدلهای دستگاههای موجود را با استفاده از gcloud CLI جستجو کنید. |
testUsername | نام کاربری برای ورود خودکار که در طول آزمونها استفاده میشود. |
testPassword یاtestPasswordFile | رمز عبور برای ورود خودکار که در طول آزمونها استفاده میشود. یا میتوانید مسیر یک فایل متنی ساده حاوی رمز عبور را مشخص کنید: testPasswordFile="/path/to/testPassword.txt" |
testNonBlocking | تستها را به صورت ناهمگام اجرا کنید. برای نتایج تست خودکار به کنسول FIrebase مراجعه کنید. |
testCases یاtestCasesFile | فهرستی از شناسههای موارد آزمون که با کاما از هم جدا شدهاند برای اجرای آزمونهای خودکار مبتنی بر هوش مصنوعی: testCases: "load-app,play-the-first-level"یا میتوانید مسیر یک فایل متنی ساده حاوی لیستی از شناسههای موارد آزمایشی که با کاما یا خط جدید از هم جدا شدهاند را مشخص کنید: testCasesFile: "/path/to/test-case-ids.txt" |
برای استفاده از ویژگی App Testing agent، باید حداقل یک دستگاه تست و یک شناسه مورد تست مشخص کنید. شناسههای مورد تست را میتوان در صفحه Test Cases کنسول Firebase یافت و دانلود کرد. برای اطلاعات بیشتر در مورد شروع کار با fastlane و روشهای مختلف پیکربندی توزیع خود، به Distribute Android apps to testers using fastlane مراجعه کنید.
در مسیر ./fastlane/Fastfile ، یک بلوک firebase_app_distribution اضافه کنید. از پارامترهای زیر برای پیکربندی توزیع خود با ویژگی App Testing agent استفاده کنید:
| پارامترهای firebase_app_distribution | |
|---|---|
test_devices یاtest_devices_file | دستگاههای آزمایشی که میخواهید برای ویژگی App Testing agent ایجاد کنید. میتوانید دستگاههای آزمایشی را به صورت لیستی از دستگاههای آزمایشی که با نقطه ویرگول از هم جدا شدهاند، مشخص کنید: test_devices: "model=tokay, version=36, locale=en, orientation=portrait;model=b0q, version=33, locale=en, orientation=portrait"یا میتوانید مسیر یک فایل متنی ساده حاوی لیستی از دستگاههای آزمایشی که با نقطه ویرگول از هم جدا شدهاند را مشخص کنید: test_devices_file: "/path/to/test-devices.txt"شما میتوانید مدلهای دستگاههای موجود را با استفاده از gcloud CLI جستجو کنید. |
test_username | نام کاربری برای ورود خودکار که در طول آزمونها استفاده میشود. |
test_password یاtest_password_file | رمز عبور برای ورود خودکار که در طول آزمونها استفاده میشود. یا میتوانید مسیر یک فایل متنی ساده حاوی رمز عبور را مشخص کنید: test_password_file: "/path/to/test-password.txt" |
test_non_blocking | تستها را به صورت ناهمگام اجرا کنید. برای مشاهده نتایج تست خودکار، به کنسول Firebase مراجعه کنید. |
test_case_ids یاtest_case_ids_file | فهرستی از شناسههای موارد آزمون که با کاما از هم جدا شدهاند برای اجرای آزمونهای خودکار مبتنی بر هوش مصنوعی: test_case_ids: "load-app,play-the-first-level"یا میتوانید مسیر یک فایل متنی ساده حاوی لیستی از شناسههای موارد آزمایشی که با کاما یا خط جدید از هم جدا شدهاند را مشخص کنید: test_case_ids_file: "/path/to/test-case-ids.txt" |
وارد کردن و صادر کردن موارد آزمایشی با فایلهای YAML
وارد کردن موارد آزمایشی از فایلهای YAML زمانی مفید است که میخواهید موارد آزمایشی را خارج از کنسول Firebase مدیریت کنید. همچنین میتواند برای خروجی گرفتن از موارد آزمایشی برای جابجایی آنها بین پروژهها مفید باشد. میتوانید از یک LLM برای اصلاح موارد آزمایشی موجود یا ایجاد موارد آزمایشی جدید استفاده کنید. میتوانید موارد آزمایشی را از صفحه موارد آزمایشی در کنسول Firebase یا به صورت برنامهنویسی با استفاده از Firebase CLI وارد و صادر کنید. برای مثالی از یک مورد آزمایشی YAML، به ایجاد یک مورد آزمایشی YAML مراجعه کنید.
نتایج آزمون خود را مشاهده کنید
شما میتوانید نتایج آزمایشهای خود را از صفحه انتشارها در تب App Testing agent مربوط به یک انتشار مشاهده کنید. دکمه View details پنجره نتایج آزمایش را باز میکند و هرگونه مشکل، اسکرینشات از برنامه و اقداماتی که Gemini در طول آزمایش انجام داده است را به شما نشان میدهد.
اگر یک تست شامل اقدامات تکرارشونده باشد، میتوانید اجرای تست هدایتشده توسط هوش مصنوعی اصلی را مشاهده کنید یا حافظه پنهان را پاک کنید.
برای کسب اطلاعات بیشتر در مورد نتایج آزمایش خود، از جدول زیر استفاده کنید:
| آیکون | نام | توضیحات |
|---|---|---|
| جرقه | اکشن هوش مصنوعی | نشان میدهد که عامل تست برنامه از Gemini برای تصمیمگیری در مورد انجام یک اقدام یا پایان دادن به مرحله استفاده کرده است. |
| پخش مجدد | عمل بازپخش شده | نشان میدهد که عامل تست برنامه، عملی را از یک اجرای موفق قبلی تست، دوباره اجرا کرده است. |
| جرقه | ادعای هوش مصنوعی | نشان میدهد که عامل تست برنامه، پس از بازپخش اقدامات انجام شده از اجرای موفق قبلی همان تست، از Gemini برای اعتبارسنجی یک ادعای نهایی روی صفحه نمایش استفاده کرده است. |
نتایج آزمایش خود را اشکالزدایی کنید
اگر نتایج آزمایش شما با آنچه انتظار داشتید متفاوت است، میتوانید با استفاده از گزینه نمایش نمای عامل در زیر مشاهده جزئیات در صفحه نتایج آزمایش، آزمایش خود را اشکالزدایی کنید. نمای عامل عناصر روی صفحه را که عامل تست برنامه هنگام استفاده از اطلاعات دسترسی برنامه قادر به تشخیص آنها بوده است، به شما نشان میدهد. اگر میخواهید نگاه دقیقتری به آنچه عامل دیده است بیندازید، میتوانید آن اطلاعات را از منوی سرریز عملیات دانلود کنید.
همچنین میتوانید از دکمهی «مشاهدهی مصنوعات» در صفحهی نتایج آزمایش استفاده کنید تا تمام ویدیوها، گزارشها و سایر مصنوعات ابری مربوط به نتایج آزمایش خود را مشاهده کنید.
مشکلات و محدودیتهای شناختهشده
پیشنمایش App Testing agent محدودیتهای شناختهشدهای دارد:
- از آنجا که عامل تست برنامه از هوش مصنوعی مولد برای آزمایش برنامه شما استفاده میکند، گاهی اوقات اقدامات متفاوتی انجام میدهد در حالی که همچنان از همان دستورالعملها پیروی میکند.
- عامل تست برنامه فقط از اقدامات زیر پشتیبانی میکند: ضربه زدن، وارد کردن متن، کشیدن انگشت به بالا/پایین/چپ/راست، فشار طولانی، کشیدن و رها کردن، بازگشت و انتظار.
- عامل تست برنامه در اجرای تستهایی که فقط شامل یک مرحله هستند و برای انجام آنها به اقدامات زیادی نیاز است، مشکل دارد. این عامل زمانی عملکرد بهتری دارد که وظایف پیچیده به چندین مرحله کوتاهتر تقسیم شوند.
- گاهی اوقات، عامل تست برنامه برای نمایش سایر عناصر خارج از صفحه، اسکرول نمیکند. این اتفاق بیشتر زمانی میافتد که هیچ نشانه بصری از قابلیت اسکرول وجود نداشته باشد. به عنوان یک راه حل، میتوان از فیلد "نکات" برای پیشنهاد اسکرول کردن استفاده کرد.
- عامل تست برنامه گاهی اوقات در شمارش مشکل دارد، برای مثال انجام یک عمل به تعداد دفعات مشخص.
- اگر
FLAG_SECUREفعال باشد، عامل تست برنامه نمیتواند برنامه شما را پیمایش کند. به جای اسکرینشات از برنامه شما، فقط یک صفحه خالی مشاهده خواهد کرد.
سهمیههای آزمون
در طول پیشنمایش، آزمونهای هدایتشده توسط هوش مصنوعی بدون هیچ هزینهای و در محدوده سهمیهای ارائه میشوند. محدودیت سهمیه پیشفرض، ۲۰۰ آزمون در ماه، برای هر پروژه Firebase است.
توجه داشته باشید که اگر تصمیم دارید چندین مورد آزمایشی یا یک مورد آزمایشی را روی چندین دستگاه اجرا کنید، این به عنوان چندین تست حساب میشود. به عنوان مثال، اگر 2 مورد آزمایشی را روی 2 دستگاه اجرا کنید، در مجموع 4 تست حساب میشود.
برای افزایش سهمیه خود بالاتر از حد پیشفرض، با پشتیبانی Firebase تماس بگیرید و مورد استفاده خود را شرح دهید.