بکاند و حسابهای کاربری
بکاند Firebase (پایگاه داده + حسابها)
به اپلیکیشنهای ساختهشده با هوش مصنوعی پایگاه داده ابری و ورود کاربر بدهید، با پروژه رایگان Firebase خودتان
1این قابلیت به اپلیکیشن شما چه میدهد#
معمولاً اپلیکیشن ساختهشده شما دادهها را فقط روی گوشیای که اجرا میشود ذخیره میکند. روشن کردن Firebase یک پایگاه داده ابری رایگان به اپلیکیشن میدهد، پس همان دادهها از هر دستگاهی دیده میشوند و (اگر بخواهید) مردم میتوانند با ایمیل و رمز عبور ثبتنام کنند.
این مدل «کلید خودتان را بیاورید» است - اپلیکیشن با پروژه رایگان Firebase خودتان صحبت میکند. AppMint چیزی میزبانی نمیکند و هزینه اضافهای نمیگیرد. یک بار پیکربندی را جایگذاری میکنید؛ هوش مصنوعی همه کد را مینویسد.
لازم نیست چیزی بنویسید یا طراحی کنید - نه جدول، نه شِما، نه SQL. Firebase و AppMint خودشان از توضیح اپلیکیشن شما میفهمند.
2پروژه Firebase را بسازید (۵ دقیقه، رایگان)#
روی رایانه سادهتر است:
- console.firebase.google.com را باز کنید و با هر حساب Google وارد شوید.
- روی «Add project» بزنید ← هر نامی بدهید ← مدام «Continue» را بزنید ← Google Analytics را رد کنید ← «Create project». حدود ۳۰ ثانیه صبر کنید.
- در منوی سمت چپ: Databases & Storage ← Firestore ← «Create database».
- مکانی نزدیک کاربران خود انتخاب کنید (بعداً قابل تغییر نیست).
- «Start in production mode» را انتخاب کنید - نه «test mode». حالت آزمایشی بعد از ۳۰ روز منقضی میشود و اپلیکیشن شما بیصدا از کار میافتد.
- در منوی سمت چپ: Security ← Authentication ← «Get started» ← تب «Sign-in method»:
- «Email/Password» را فعال کنید (کلید اول را روشن کنید، ذخیره کنید).
- همچنین «Anonymous» را فعال کنید (به پایین اسکرول کنید، روشن کنید، ذخیره کنید) - برای اپلیکیشنهای مهمان/جدول امتیاز لازم است.
همین. شِمایی برای طراحی نیست.
3پیکربندی وب خود را کپی کنید#
هنوز در Firebase Console:
- روی ⚙️ چرخدنده (بالا سمت چپ) بزنید ← «Project settings».
- به «Your apps» اسکرول کنید ← روی آیکون </> (وب) بزنید.
- به اپلیکیشن هر نام مستعاری بدهید ← روی «Register app» بزنید («Firebase Hosting» را رد کنید).
- یک قطعه کد میبینید. فقط شیء firebaseConfig را کپی کنید - هر چیزی از { ابتدایی تا } انتهایی.
کلید API وب برای عمومی بودن است - دادههای شما با قوانین امنیتی مرحله ۶ محافظت میشوند، نه با پنهان کردن کلید.
const firebaseConfig = {
apiKey: "AIza...",
authDomain: "my-app.firebaseapp.com",
projectId: "my-app",
storageBucket: "my-app.appspot.com",
messagingSenderId: "123456789",
appId: "1:123:web:abc"
}; ← copy the { ... } part4آن را در AppMint جایگذاری کنید (یک بار)#
AI Studio را باز کنید ← Settings ← به «BACKEND - FIREBASE (OPTIONAL)» اسکرول کنید:
- firebaseConfig کپیشده را در کادر بزرگ متن جایگذاری کنید.
- کلید «Enable Firebase backend» را روشن کنید.
- روی «Save Firebase config» بزنید. باید «Saved Firebase project: <your-project-id>» را ببینید.
روی دستگاه شما رمزگذاریشده ذخیره میشود و برای هر اپلیکیشنی که میسازید دوباره استفاده میشود - فقط یک بار این کار را میکنید.
5اپلیکیشن خود را توصیف کنید - بقیه را هوش مصنوعی انجام میدهد#
فقط به زبان ساده بگویید چه میخواهید. هوش مصنوعی بر اساس درخواست شما تصمیم میگیرد صفحه ورود اضافه کند یا نه:
- «یک اپلیکیشن یادداشت که هر کاربر یادداشتهای خودش را ذخیره میکند» ← هوش مصنوعی ثبتنام/ورود و یادداشتهای خصوصی میسازد.
- «یک جدول امتیاز جهانی برای بازی ضربهای، بدون حساب کاربری» ← هوش مصنوعی از ورود مهمان بیصدا، امتیازهای عمومی و بدون رابط ورود استفاده میکند.
- «یک تابلوی اعلانات مشترک که همه میتوانند در آن پست بگذارند» ← هوش مصنوعی از ورود مهمان استفاده میکند، بدون رابط ورود.
اگر دستگاه آفلاین باشد یا پیکربندی نباشد، اپلیکیشن خودکار به ذخیرهسازی فقط روی گوشی برمیگردد تا هرگز خراب نشود.
6قوانین امنیتی را اعمال کنید (الزامی)#
بدون این مرحله، اپلیکیشن هنگام خواندن یا نوشتن خطای «permission denied» میگیرد. هوش مصنوعی قوانین را برای شما مینویسد؛ شما فقط جایگذاری میکنید.
- بعد از ساخت اپلیکیشن، نمای Code را باز کنید (یا پروژه دانلودشده را از حالت فشرده خارج کنید) و فایل 'firestore.rules' را پیدا کنید. روی آن بزنید و کل متن را کپی کنید.
- در Firebase Console: Databases & Storage ← Firestore ← تب «Rules» ← روی «Edit rules» بزنید ← آنچه هست را پاک کنید ← قوانین هوش مصنوعی را جایگذاری کنید ← روی «Publish» بزنید.
این کار را برای هر اپلیکیشن یک بار انجام دهید. قوانین متناسب با اپلیکیشن شما هستند - به کاربران اجازه میدهند فقط دادههای خودشان را بنویسند، در حالی که جدولهای امتیاز برای همه قابل خواندن میمانند.
7بررسی کنید که کار میکند#
بررسی سریع بعد از نصب APK:
- اپلیکیشن را روی گوشی باز کنید و یک کار انجام دهید که باید داده ذخیره کند (ساخت یادداشت، ثبت امتیاز و غیره).
- در Firebase Console: Databases & Storage ← Firestore ← تب «Data» ← باید یک مجموعه جدید (مثلاً 'notes' یا 'scores') با دادهای که وارد کردید ببینید.
- Security ← Authentication ← تب «Users» ← اگر اپلیکیشن شما ورود دارد، حساب شما باید اینجا ظاهر شود.
اگر چیزی نمایش داده نشد: ۳ علت رایج را در مرحله بعد بررسی کنید.
8اگر چیزی کار نکرد#
رایجترین خطاها:
- «permission-denied» یا ذخیره نشدن داده ← مرحله ۶ (انتشار قوانین) را فراموش کردهاید.
- «auth/operation-not-allowed» در ثبتنام/ورود ← در مرحله ۲ ایمیل/رمز عبور را فعال نکردهاید.
- «auth/operation-not-allowed» برای اپلیکیشنهای مهمان/جدول امتیاز ← در مرحله ۲ Anonymous را فعال نکردهاید.
- «auth/operation-not-allowed» برای ورود با Google ← Google را فعال نکردهاید و اثر انگشت SHA-256 را جایگذاری نکردهاید (مرحله «Add Google Sign-In» را در ادامه ببینید).
- پیکربندی جایگذاریشده رد شد («Couldn't find a { ... } config object») ← کل بلوک { ... } را با آکولادها جایگذاری کنید، نه فقط داخل آن را.
روشهای ورود پشتیبانیشده در اپلیکیشنهای ساختهشده: ایمیل/رمز عبور، Anonymous (مهمان)، Google Sign-In (از طریق Credential Manager بومی) و تلفن/پیامک (از طریق reCAPTCHA). ورود با Facebook پشتیبانی میشود: Facebook App ID و Client Token را در مرحله Integrate جادوگر وارد کنید (ورود در یک تب مرورگر باز میشود). ورود با Apple/Twitter هنوز پشتیبانی نمیشود - به پنجرههای OAuth نیاز دارند که Google داخل Android WebView مسدود میکند.
9افزودن Google Sign-In (اختیاری)#
اپلیکیشنهای ساختهشده میتوانند از Google Sign-In از طریق Credential Manager بومی اندروید استفاده کنند - داخل WebView کار میکند (برخلاف پنجرههای OAuth). راهاندازی یکباره برای هر اپلیکیشن:
- Firebase Console ← Security ← Authentication ← تب «Sign-in method» ← «Google» را فعال کنید. ذخیره کنید.
- Firebase Console ← ⚙ Project settings ← «Your apps» ← اگر هنوز اپلیکیشن Android ثبتنشده دارید، روی «Add app» بزنید ← Android ← نام بسته خود را وارد کنید (همان که در AppMint استفاده میکنید).
- یک بار اپلیکیشن خود را در AppMint بسازید. فایل دانلودشده '<appname>_signkey_info.txt' را باز کنید - در بالای آن اثر انگشتهای SHA-1 و SHA-256 را میبینید.
- به Firebase Console برگردید ← ⚙ Project settings ← Your apps ← اپلیکیشن Android ← «Add fingerprint» ← SHA-1 را جایگذاری کنید، سپس دوباره «Add fingerprint» برای SHA-256. روی «Save» بزنید. Google Sign-In مقدار SHA-1 را بررسی میکند: با فقط SHA-256 با خطای «No credentials available» شکست میخورد. (این کار را فقط یک بار برای هر اپلیکیشن انجام میدهید - همان کلید امضا برای هر ساخت بعدی استفاده میشود.)
- در Google Play منتشر میکنید؟ Play اپلیکیشن شما را با کلید خودش دوباره امضا میکند، پس نصب از Play اثر انگشت متفاوتی دارد. Play Console ← اپلیکیشن شما ← Test and release ← App integrity ← SHA-1 و SHA-256 را زیر «App signing key certificate» کپی کنید و هر دو را به همان اپلیکیشن Android در Firebase اضافه کنید. اگر این کار را نکنید، ورود از APK کار میکند اما برای همه کسانی که از Play نصب میکنند شکست میخورد.
- Firebase Console ← ⚙ Project settings ← General ← به «Your apps» اسکرول کنید ← بخش Web SDK را پیدا کنید ← «Web client ID» را کپی کنید (با .apps.googleusercontent.com تمام میشود).
- تنظیمات AppMint را باز کنید ← در «GOOGLE SIGN-IN - OAUTH WEB CLIENT ID» جایگذاری کنید. ذخیره کنید.
- اپلیکیشن خود را دوباره بسازید. Google Sign-In حالا کار میکند.
10افزودن ورود با تلفن / پیامک (اختیاری)#
ورود با تلفن از Firebase Web SDK و reCAPTCHA استفاده میکند (داخل WebView کار میکند). کاربر شماره تلفنش را وارد میکند، روی تأیید «I'm not a robot» میزند، کد پیامکی دریافت میکند و آن را وارد میکند.
راهاندازی:
- Firebase Console ← Security ← Authentication ← تب «Sign-in method» ← «Phone» را فعال کنید. ذخیره کنید.
- به SHA نیازی نیست (ما از تأیید reCAPTCHA استفاده میکنیم، نه Play Integrity).
- کافی است در توضیح اپلیکیشن خود ورود با تلفن را از هوش مصنوعی بخواهید (مثلاً «کاربران با شماره تلفن وارد میشوند»).
⚠️ صورتحساب: ارسال پیامک تأیید واقعی اکنون به طرح Blaze (پرداخت بهازای مصرف) نیاز دارد - طرح رایگان Spark دیگر سهمیه رایگان پیامک ندارد. در Firebase Console ← ⚙ Project settings ← Usage and billing ارتقا دهید. در Blaze، Firebase Authentication تا ۳٬۰۰۰ پیامک تأیید در روز مجاز میکند؛ قیمت پیامک بسته به کشور فرق میکند.
💡 برای آزمایش بدون صورتحساب یا پیامک واقعی: Authentication ← Settings ← «Phone numbers for testing» به شما اجازه میدهد یک شماره و کد آزمایشی ثابت اضافه کنید (هیچ پیامکی ارسال نمیشود).
11هزینه - چه انتظاری داشته باشید#
طرح رایگان «Spark» Firebase بیشتر اپلیکیشنهای سرگرمی را پوشش میدهد. سهمیه رایگان روزانه:
- ۵۰٬۰۰۰ خواندن سند
- ۲۰٬۰۰۰ نوشتن
- ۲۰٬۰۰۰ حذف
- ۱ گیبیبایت فضای ذخیرهسازی کل
- ۱۰ گیبیبایت در ماه ترافیک خروجی شبکه
برای مرجع: یک اپلیکیشن یادداشت کوچک با ۱۰۰ کاربر فعال روزانه حدود ۵٬۰۰۰ خواندن دارد. یک جدول امتیاز بازی پرطرفدار میتواند در یک ساعت از ۵۰ هزار خواندن بگذرد.
⚠️ یک هشدار بودجه تنظیم کنید: Google Cloud Console ← Billing ← Budgets & alerts ← «Alert me at $1» را تنظیم کنید. ایمن میمانید و Firebase همان لحظهای که مصرف هزینهای ایجاد کند به شما ایمیل میزند.