إضافة Cloud Firestore وAuthentication إلى تطبيقك على Google AI Studio

يمكن لوضع "الإنشاء" في Google AI Studio إعداد Cloud Firestore و Firebase Authentication ودمجهما تلقائيًا في تطبيقات الويب، ما يسهّل إنشاء تطبيقات تتضمّن مساحة تخزين بيانات دائمة وعمليات تسجيل دخول آمنة. من خلال طلب واحد وبعض النقرات فقط، يمكنك منح وكيل Google AI Studio إذن إعداد مشروع على Firebase وربط تطبيقك بهذا المشروع وإنشاء كل رموز Cloud Firestore و Authentication البرمجية مباشرةً في تطبيقك.

نظرة عامة: إضافة نظام خلفي إلى تطبيقك Google AI Studio

  1. وصف فكرتك: أنشئ تطبيقًا جديدًا في Google AI Studio واشرح ميزة تتطلّب قاعدة بيانات أو مصادقة. على سبيل المثال، يمكنك إدخال الطلب التالي: Build a shared to-do list app using Firebase as a backend.

  2. تفعيل التكامل مع Firebase: في البطاقة التي تظهر، يمكنك تخصيص الإعداد:

    • اختيار موقع جغرافي (اختياري): اختَر الموقع الجغرافي لقاعدة البيانات وتطبيقك باستخدام القائمة المنسدلة للموقع الجغرافي.
    • اختيار مشروع (اختياري): انقر على رمز الإعدادات icon ، واختَر المشروع الذي تريد استخدامه، ثم انقر على حفظ.Google Cloud
    • تأكيد اختيارك: للمتابعة، انقر على الزر تفعيل Firebase.

    بعد ذلك، يربط الوكيل تلقائيًا تطبيقك بمشروع Firebase و ينشئ رموز Cloud Firestore وAuthentication البرمجية اللازمة، بما في ذلك ملف /src/lib/firebase.ts وملف firestore.rules.

  3. النشر: بعد أن يصبح تطبيق الويب جاهزًا، استخدِم الخيار مشاركة > نشر لنشر تطبيق الويب على Cloud Run. سيتم نشر تطبيقك تلقائيًا في المشروع نفسه الذي اخترته أثناء الإعداد.

فهم الحصة المشترَكة لـ Cloud Firestore

استنادًا إلى تاريخ إنشاء تطبيقك وأهلية حسابك، قد تتم استضافة قواعد البيانات في مشروع ضمن "طبقة Google Cloud المجانية" أو مشروع عادي. ومع ذلك، في كلتا الحالتَين، يتم وضع جميع Cloud Firestore قواعد البيانات التي يوفّرها الوكيل Google AI Studio في مجموعة قواعد البيانات نفسها ضمن "الحصة المشترَكة للذكاء الاصطناعي" في مشروعك. وتشترك جميعها في الخصائص التالية:

  • الحصة المشترَكة: تشترك جميع قواعد البيانات في المجموعة في حصة استخدام (راجِع التفاصيل أدناه).
  • لا يلزم توفّر حسابCloud Billing: يمكنك إنشاء تطبيقك واختباره بدون إضافة الفوترة. راجِع التفاصيل أدناه حول إضافة الفوترة اختياريًا.
  • إعادة الضبط اليومية: إذا وصلت إلى حدّ الحصة اليومية (على سبيل المثال، 50 ألف عملية قراءة في اليوم)، ستتوقف الخدمة لجميع قواعد البيانات ضِمن المجموعة وتستأنف في اليوم التالي في منتصف الليل تقريبًا بتوقيت المحيط الهادي.

تتشارك قواعد بيانات Cloud Firestore في مجموعة الحصة المشترَكة الحدود التالية:

المقياس الحصة
البيانات المخزَّنة إجمالي 1 غيغابايت
البيانات الصادرة من الشبكة 10 غيغابايت في الشهر
وحدات الكتابة 40 ألف عملية كتابة في اليوم
وحدات القراءة 50 ألف عملية قراءة في اليوم
وحدات التعديل في الوقت الفعلي 50 ألف عملية تعديل في اليوم

(اختياري) إضافة الفوترة للحصول على حصة أكبر Cloud Firestore

إذا اكتسب تطبيقك رواجًا وكنت بحاجة إلى تجاوز الحدود المجانية لـ Cloud Firestore، يمكنك إضافة الفوترة التي ترقّي مشروعك على Firebase إلى خطة أسعار Blaze المَرِنة للدفع حسب الاستخدام.

ربما سبق لك إضافة الفوترة إلى مشروعك لأسباب مختلفة، مثل استخدام Nano Banana. في هذه الحالة، يكون مشروعك ضمن خطة أسعار Blaze، ويمكنك الانتقال مباشرةً إلى خطوة ترقية قاعدة البيانات.

الخطوة 1: إضافة الفوترة (إذا لم يسبق لك إجراء ذلك)

يمكنك إعداد الفوترة مباشرةً ضِمن Google AI Studio.

  1. في Google AI Studio، انتقِل إلى صفحة المشاريع.
  2. انقر على إعداد الفوترة بجانب المشروع الذي تريد ترقيته.
  3. اتّبِع التعليمات التي تظهر على الشاشة لاختيار بلدك والموافقة على البنود وإضافة طريقة دفع أو اختيار حساب فوترة حالي. قد يُطلب منك أيضًا دفعة مسبقة (لا تُطبَّق على استخدام خدمات Firebase و Google Cloud).

الخطوة 2: ترقية قاعدة البيانات

حتى بعد إضافة الفوترة، تظل قواعد بيانات Cloud Firestore التي ينشئها وكيل Google AI Studio في مجموعة الحصة المشترَكة. لتفعيل التوسيع المدفوع الكامل لقاعدة بيانات معيّنة، عليك نقلها يدويًا خارج المجموعة باستخدام أمر curl.

  • PROJECT_ID : رقم تعريف مشروع Firebase يمكنك العثور على هذا المعرّف في صفحة الإعدادات > عام في وحدة تحكّم Firebase

  • DATABASE_ID : رقم تعريف قاعدة بيانات Cloud Firestore، الذي سيتطابق مع رقم تعريف تطبيقك المصغّر يمكنك العثور على رقم تعريف قاعدة البيانات هذا في وحدة تحكّم Firebase من خلال الانتقال إلى صفحة قواعد البيانات ومساحة التخزين > Firestore، ثم البحث في عمود الاسم.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID?updateMask=free_tier_limited" \
    -d '{"free_tier_limited": false}'
    

التحقّق من ترقية قاعدة البيانات

من المفترض أن يسري التغيير لإيقاف الحصة المشترَكة وتفعيل الفوترة بنظام الدفع حسب الاستخدام لقاعدة البيانات في غضون بضع دقائق. يمكنك التحقّق من التغيير باستخدام أحد الخيارَين التاليَين:

  • اختبار تطبيقك (يُنصح به): الطريقة الأكثر موثوقية لتأكيد الترقية هي استخدام تطبيقك. نفِّذ عمليات Cloud Firestore التي كانت تصل سابقًا إلى الحدود اليومية المجانية (على سبيل المثال، تجاوز عتبات Cloud Firestore Enterprise edition البالغة 50 ألف وحدة قراءة أو 40 ألف وحدة كتابة). من المفترض أن تنجح هذه العمليات الآن بدون أخطاء RESOURCE_EXHAUSTED.

  • التحقّق من حالة قاعدة البيانات من خلال واجهة برمجة التطبيقات: يمكنك استخدام طلب GET في curl لجلب التفاصيل الحالية لقاعدة البيانات:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/DATABASE_ID"
    

    افحص استجابة JSON. تتم ترقية قاعدة البيانات بنجاح ولا تعود محدودة إذا كان الحقل freeTierLimited غير متوفّر في الاستجابة.

    فهم الفرق بين freeTier وfreeTierLimited: من المحتمل أن يظلّ يظهر "freeTier": true في استجابة GET. هذا الحقل منفصل عن إعداد freeTierLimited الذي غيّرته. "freeTier": true مرتبط بـ مصدر قاعدة البيانات وإمكانية استخدام الطبقة المجانية. لا يعني ذلك أنّ الحدود اليومية لا تزال مفروضة بعد ضبط freeTierLimited على false. يتم الإشارة إلى إيقاف الحدود بنجاح من خلال عدم توفّر freeTierLimited في استجابة GET.

إذا كان تطبيقك لا يزال يواجه أخطاء في الحدّ اليومي بعد الانتظار لعدة دقائق، وكان طلب GET يُظهر أنّ الحقل freeTierLimited غير متوفّر بالفعل، تأكَّد من أنّ حساب الفوترة الخاص بمشروعك في حالة جيدة.

إنشاء Security Rules

ينشئ وكيل Google AI Studio تلقائيًا Firebase Security Rules استنادًا إلى منطق تطبيقك. تم تصميم Security Rules لتكون "رفضًا تلقائيًا"، ما يعني أنّه لا يمكن للمستخدمين النهائيين لتطبيقك الوصول إلا إلى البيانات التي يملكونها.

يُرجى العِلم أنّه إذا عدّلت Security Rules يدويًا مباشرةً في Firebase وحدة التحكّم، لن يعلم وكيل Google AI Studio بالتغييرات، وسيتم استبدالها أثناء التكرارات اللاحقة للتطبيق. ننصحك باستخدام وكيل Google AI Studio لتعديل Firebase Security Rules لضمان الاحتفاظ بالتغييرات ومواءمتها مع منطق تطبيقك.

استخدام مشروع حالي

عند تفعيل التكامل مع Firebase لأول مرة، يمكنك اختياريًا اختيار مشروع حالي Google Cloud تملكه:

  1. في البطاقة التي تظهر، انقر على رمز الإعدادات icon .
  2. اختَر مشروعك، ثم انقر على حفظ.

أثناء تكرار تطبيقك، يمكنك أيضًا توجيه الوكيل لاستخدام مشروع مختلف باستخدام طلب مثل:

Add Firestore to this app using project PROJECT_ID.

عند اختيار مشروع، تحدث الإجراءات التالية:

  • سيتم توفير قاعدة بيانات جديدة على Cloud Firestore في هذا المشروع باستخدام الحصة المشترَكة.
  • Firebase Authentication باستخدام ميزة "تسجيل الدخول باستخدام حساب Google" سيتم إعداده.
  • سيتم منح حساب الخدمة إذن الوصول إلى قاعدة البيانات Cloud Firestore الخاصة بك. للسماح بوصول المشرف من Google AI Studio، سيتم منح حساب خدمة جديد باسم ais-sandbox@PROJECT_ID.iam.gservice.com إذن الوصول إلى قاعدة بيانات Cloud Firestore. يرتبط هذا الحساب بـ تطبيقاتك Google AI Studioفقط.
  • القيود: إذا كان مشروع Firebase يتضمّن Cloud Firestore قاعدة بيانات، لن يتمكّن الوكيل من إضافة قاعدة بيانات أخرى. عليك اختيار مشروع مختلف أو إنشاء مشروع جديد فارغ لاستخدامه.

استخدام وحدة التحكّم Firebase

يمكنك الاطّلاع على بيانات تطبيقك وإعداداته في وحدة تحكّم Firebase. إليك كيفية الوصول إلى مشروع Firebase المرتبط بـ Google AI Studio:

  1. انتقِل إلى وحدة التحكّم Firebase و اختَر المشروع الذي يحمل تصنيف AI Studio.

  2. من لوحة التنقّل اليمنى، استكشِف الخدمات المفعَّلة في مشروعك:

    • للاطّلاع على بيانات Cloud Firestore المخزَّنة وتعديلها، انتقِل إلى قواعد البيانات ومساحة التخزين > Firestore.
    • للاطّلاع على إعدادات وبيانات Authentication أو ضبطها، انتقِل إلى الأمان > المصادقة.

تحديد المشاكل وحلّها والأسئلة الشائعة

يمكنك العثور على إجابات عن الأسئلة الشائعة والتعرّف على كيفية حلّ المشاكل عند دمج Firebase مع تطبيقك Google AI Studio.

كيف يتم اختيار مشروع Google Cloud / Firebase والموقع الجغرافي؟

عند طلب نظام خلفي على Firebase لتطبيق، يمكنك اختياريًا اختيار موقع جغرافي ومشروع في البطاقة التي تظهر:

  • اختيار موقع جغرافي (اختياري): اختَر الموقع الجغرافي لقاعدة البيانات وتطبيقك باستخدام القائمة المنسدلة للموقع الجغرافي.
  • اختيار مشروع (اختياري): انقر على رمز الإعدادات icon , واختَر الـ Google Cloud مشروع الذي تريد استخدامه، ثم انقر على حفظ.

يُرجى مراعاة ما يلي:

  • موقع قاعدة البيانات دائم: بعد اختيار موقع جغرافي لقاعدة البيانات، لا يمكنك تغييره لهذا المشروع. سيتم استخدام هذا الخيار كإعداد تلقائي لخدمات النظام الخلفي الأخرى.
  • اتساق المشروع: لضمان تكامل سلس، Google AI Studio يستخدم تلقائيًا المشروع نفسه لكلٍّ من النظام الخلفي وعملية النشر. لا يمكنك استخدام مشاريع مختلفة لخدمات مختلفة ضِمن التطبيق نفسه.

ما هي طرق المصادقة المتاحة؟

يُعدّ وكيل Google AI Studio ميزة "تسجيل الدخول باستخدام حساب Google" عندما تطلب إعداد Authentication أو شاشة تسجيل دخول. إليك كيفية إضافة طرق تسجيل دخول إضافية إلى تطبيقك:

  1. في وحدة تحكّم Firebase، انتقِل إلى صفحة الأمان > المصادقة > طريقة تسجيل الدخول، واضبط أي طرق تسجيل دخول مطلوبة.

  2. ارجِع إلى Google AI Studio واطلب من وكيل Google AI Studio المساعدة في تعديل قاعدة الرموز البرمجية باستخدام طريقة تسجيل الدخول الجديدة.

هل يمكنني إنشاء تطبيق للأجهزة الجوّالة (مثل Android أو iOS) باستخدام Google AI Studio؟

في الوقت الحالي، لا يمكن لوكيل Google AI Studio إنشاء تطبيقات ويب إلا. يمكنك الاطّلاع على مزيد من المعلومات حول الميزات المتاحة في Google AI Studio مستندات وكيل.

يُرجى العِلم أنّه يمكن الوصول إلى التطبيقات التي تم إنشاؤها باستخدام Google AI Studio كتطبيقات ويب للأجهزة الجوّالة من المتصفّحات المثبَّتة على الأجهزة الجوّالة، تمامًا مثل جميع تطبيقات الويب.

ما هو ملف firebase-blueprint.json؟

هذا ملف وسيط يستخدمه وكيل Google AI Studio لفهم قاعدة الرموز البرمجية لتطبيقك. لا تعدِّل هذا الملف يدويًا، لأنّ ذلك قد يؤدي إلى إنشاء الوكيل لرموز برمجية غير صحيحة أو غير آمنة Security Rules.

ماذا عليّ أن أفعل إذا ظهر لي الخطأ "تم تجاوز الحصة"؟

يعني الوصول إلى حدّ الحصة في Cloud Firestore أنّ تطبيقك قد وصل إلى الحدّ الأقصى للاستخدام اليومي لمجموعة الحصة المشترَكة في قاعدة بيانات Cloud Firestore. هناك طريقتان لحلّ هذه المشكلة:

  • الخيار 1: الانتظار: تتم إعادة ضبط الحصص يوميًا في منتصف الليل تقريبًا بتوقيت المحيط الهادي.
  • الخيار 2: الترقية: يمكنك الترقية إلى خطة أسعار Blaze المَرِنة للدفع حسب الاستخدام.
    • إذا أعدّ وكيل Google AI Studio خدمة Cloud Firestore لك، عليك بعد ذلك استخدام أمر curl الموضّح في إضافة الفوترة للحصول على حصة أكبر في Cloud Firestore لنقل قاعدة البيانات إلى حالة مدفوعة عادية. إذا أعددت Cloud Firestore يدويًا، لن يكون من الضروري تشغيل أمر curl.

ماذا عليّ أن أفعل إذا ظهر لي الخطأ "الأذونات غير متوفّرة أو غير كافية"؟

يحدث هذا الخطأ عندما يحاول تطبيقك قراءة البيانات أو كتابتها في قاعدة بيانات Cloud Firestore، ولكن يتم رفض الطلب من خلال Security Rules. يشير ذلك إلى أنّ Security Rules لا تسمح بالعملية التي تمّت محاولتها استنادًا إلى حالة المصادقة الحالية أو مسار البيانات. انقر على الز0}إصلاح الخطأ لتوجيه وكيل Google AI Studio لمحاولة تصحيح Security Rules.

ماذا يحدث للنظام الخلفي على Firebase عند حذف تطبيقي في Google AI Studio؟

لا يؤدي حذف تطبيقك في Google AI Studio تلقائيًا إلى حذف مشروع Firebase المرتبط أو قاعدة بيانات Cloud Firestore أو إعدادات Firebase Authentication.

إذا أضفت نظامًا خلفيًا على Firebase، عليك الانتقال يدويًا إلى Firebase وحدة التحكّم وحذف المشروع أو تنظيف الموارد الفردية (مثل Cloud Firestore مثال قاعدة البيانات و Authentication مزوّدي الخدمة) لضمان إزالة جميع البيانات و الإعدادات.

هل يمكن لوكيل Google AI Studio حذف البيانات أو تعديلها في قاعدة بيانات Cloud Firestore؟

تم تصميم وكيل Google AI Studio للمساعدة في توفير موارد النظام الخلفي اللازمة وإنشاء الرموز البرمجية وSecurity Rules. في حين أنّ الوكيل نفسه لا يمكنه حذف إدخالات البيانات أو تعديلها أو معالجتها مباشرةً ضِمن Cloud Firestore قاعدة البيانات، يمكنه كتابة رموز برمجية في تطبيقك مصمّمة لـ تنفيذ هذه الإجراءات. لتنفيذ مهام إدارة البيانات، مثل حذف الإدخالات، انتقِل إلى صفحة قواعد البيانات ومساحة التخزين > Firestore في وحدة تحكّم Firebase.

أنا عضو في مؤسسة تستخدم Google Cloud، هل يمكنني ربط تطبيقي في Google AI Studio بمشروع حالي ضِمن بيئة Google Cloud الخاصة بمؤسستي؟

نعم. تأكَّد من وضع مشروعك على Firebase ضِمن مجلد مؤسستك على Google Cloud Google Cloud، ثم اربط مشروعك باستخدام إحدى الطريقتَين التاليتَين:

  • أثناء التفعيل: عند تفعيل التكامل مع Firebase لأول مرة في Google AI Studio، اختَر مشروعك الحالي في البطاقة التي تظهر. انقر على رمز الإعدادات icon ، واختَر مشروعك، و ثم انقر على حفظ.
  • أثناء التكرار: إذا سبق لك تفعيل Firebase أو أردت تبديل المشاريع لاحقًا، يمكنك توجيه الوكيل لاستخدام مشروعك الحالي باستخدام طلب مثل:

      Add Firestore to this app using project PROJECT_ID.
    

لماذا لا يمكنني العثور على مستندات معيّنة في وحدة تحكّم Firebase؟

عندما يحفظ وكيل AI Studio البيانات في مسار متداخل (مثل /users/user1/messages/msg1) بدون إنشاء المستند الرئيسي (user1) أولاً، ينشئ ما يُعرف باسم المستند الرئيسي غير المتوفّر. لا تظهر هذه المستندات في وحدة تحكّم Firebase، ما قد يصعّب العثور عليها عند تصفّح قاعدة بيانات Cloud Firestore. في حين أنّ ذلك لا يؤثر في طريقة تشغيل تطبيقك، يمكنك غالبًا وصف المشكلة لوكيل AI Studio لتوجيهه إلى إنشاء المستندات الرئيسية الناقصة.

لمزيد من التفاصيل، راجِع المستندات الرئيسية غير المتوفّرة.

هل يمكنني اختيار الموقع الجغرافي لقاعدة بيانات Cloud Firestore؟

نعم. عند تفعيل التكامل مع Firebase لأول مرة في Google AI Studio، يمكنك اختيار الموقع الجغرافي لقاعدة بيانات Cloud Firestore.

يُرجى العِلم أنّ الموقع الجغرافي الذي تختاره ينطبق على جميع Cloud Firestore قواعد البيانات التي ينشئها الوكيل Google AI Studio في مشروع Firebase هذا. بعد الضبط، لا يمكن تغيير هذا الموقع الجغرافي لقواعد البيانات هذه.

كيف تستخدم Google بياناتي (على سبيل المثال، الرموز البرمجية والطلبات) في Google AI Studio؟

راجِع بنود الخدمة الإضافية الخاصة بـ Gemini API للحصول على تفاصيل حول كيفية استخدام بياناتك.

تلقّيتُ رسالة إلكترونية من Google Cloud حول "مفتاح Google API متاح للجميع لمشروعك على Google Cloud". ما هو الإجراء المطلوب اتّخاذه؟

إذا تلقّيت رسالة إلكترونية من Google Cloud حول "مفتاح Google API متاح للجميع لمشروعك على Google Cloud" وكان مفتاح واجهة برمجة التطبيقات المُدرَج في الرسالة الإلكترونية هو مفتاح واجهة برمجة التطبيقات في Firebase، تأكَّد من أنّ مفتاح واجهة برمجة التطبيقات يستوفي المتطلبات التالية ليكون آمنًا عند تضمينه في الرموز البرمجية أو ملفات الإعداد. يمكنك التحقّق ممّا يلي في صفحة واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد في وحدة التحكّم Google Cloud.

تأكَّد أيضًا من أنّك تستخدم Firebase Security Rules وApp Check كما هو مقترَح لمنتجات Firebase التي تستخدمها.

يمكنك الاطّلاع على تفاصيل حول مفاتيح واجهة برمجة التطبيقات في Firebase والعثور على قائمة بالأسئلة الشائعة في التعرّف على استخدام مفاتيح واجهة برمجة التطبيقات في Firebase وإدارتها