نقل البيانات إلى حِزم تطوير البرامج (SDK) لـ Firebase AI Logic من إصدار "إحصاءات Google" من حِزم تطوير البرامج (SDK) لـ Vertex AI in Firebase


كان اسم Firebase AI Logic وحِزم تطوير البرامج (SDK) الخاصة بالعملاء هو Vertex AI in Firebase في السابق. ولتوضيح الخدمات والميزات الموسّعة التي نقدّمها بشكل أفضل (على سبيل المثال، أصبحنا الآن نتيح استخدام Gemini Developer API!)، أعدنا تسمية خدماتنا وأعدنا تجميعها في Firebase AI Logic.

للوصول بشكل آمن إلى نماذج الذكاء الاصطناعي التوليدي من Google مباشرةً من تطبيقاتك على الأجهزة الجوّالة أو الويب، يمكنك الآن اختيار موفّر "Gemini API"، إما Vertex AI Gemini API المتاح منذ فترة طويلة أو Gemini Developer API الجديد. وهذا يعني أنّه يمكنك الآن استخدام Gemini Developer API الذي يوفّر فئة بلا تكلفة مع حدود معقولة للمعدّل والحصص.

نظرة عامة على خطوات نقل البيانات إلى حِزم تطوير البرامج (SDK) في Firebase AI Logic

  • الخطوة 1: اختَر أفضل مقدّم خدمة "Gemini API" لتطبيقك وحالات الاستخدام.

  • الخطوة 2: إعداد مشروعك على Firebase لتتمكّن من استخدام Gemini Developer API
    لا ينطبق إلا إذا كنت ستستبدل Vertex AI Gemini API بـ Gemini Developer API.

  • الخطوة 3: تعديل المكتبة المستخدَمة في تطبيقك

  • الخطوة 4: تعديل عملية التهيئة في تطبيقك

  • الخطوة 5: عدِّل الرمز حسب الميزات التي تستخدمها.

الخطوة 1: اختيار أفضل مزوّد لواجهة برمجة التطبيقات "Gemini API" لتطبيقك

من خلال عملية النقل هذه، يمكنك اختيار مقدّم خدمة "Gemini API" من بين الخيارات التالية:

  • كان بإمكان حِزم SDK القديمة التي تحمل الرقم "Vertex AI in Firebase" استخدام Vertex AI Gemini API فقط.

  • تتيح لك حِزم تطوير البرامج (SDK) الجديدة Firebase AI Logic اختيار مقدّم خدمة Gemini API الذي تريد الاتصال به مباشرةً من تطبيقك على الجهاز الجوّال أو الويب، سواء كان Gemini Developer API أو Vertex AI Gemini API.

راجِع الاختلافات بين استخدام Gemini API موفّرَي الخدمة، خاصةً من حيث الميزات المتوافقة والأسعار وحدود المعدّل. على سبيل المثال، لا يتيح Gemini Developer API توفير الملفات باستخدام عناوين URL من Cloud Storage، ولكن قد يكون خيارًا جيدًا إذا أردت الاستفادة من المستوى المجاني والحصة المعقولة.

الخطوة 2: إعداد مشروعك على Firebase لتتمكّن من استخدام Gemini Developer API

هذه الخطوة مطلوبة فقط إذا كنت تريد التبديل إلى استخدام Gemini Developer API مع حِزم تطوير البرامج (SDK) الخاصة ببرنامج Firebase AI Logic. ومع ذلك، إذا أردت مواصلة استخدام Vertex AI Gemini API، انتقِل إلى الخطوة التالية.

يُرجى العِلم أنّه لا بأس بتفعيل كلا موفِّرَي "Gemini API" في مشروعك في الوقت نفسه.

  1. في وحدة تحكّم Firebase، انتقِل إلى صفحة Firebase AI Logic.

  2. انتقِل إلى علامة التبويب الإعدادات، ثم انقر على Gemini Developer API.

  3. فعِّل ميزة Gemini Developer API.

    ستتأكّد وحدة التحكّم من تفعيل واجهات برمجة التطبيقات المطلوبة وإنشاء Geminiمفتاح واجهة برمجة تطبيقات في مشروعك على Firebase.
    يجب عدم إضافة مفتاح واجهة برمجة التطبيقات Gemini هذا إلى قاعدة رموز تطبيقك. مزيد من المعلومات

  4. يمكنك مواصلة قراءة دليل النقل هذا لتعديل المكتبة وعملية التهيئة في تطبيقك.

الخطوة 3: تعديل المكتبة المستخدَمة في تطبيقك

عدِّل قاعدة رموز تطبيقك لاستخدام مكتبة Firebase AI Logic.

Swift

  1. في Xcode، بعد فتح مشروع تطبيقك، حدِّث حزمة Firebase إلى الإصدار 11.13.0 أو إصدار أحدث باستخدام أحد الخيارَين التاليَين:

    • الخيار 1: تحديث جميع الحِزم: انتقِل إلى ملف > الحِزم > التحديث إلى أحدث إصدارات الحِزم.

    • الخيار 2: تعديل Firebase بشكل فردي: انتقِل إلى حزمة Firebase في القسم المسمّى Package Dependencies (توابع الحزمة). انقر بزر الماوس الأيمن على حزمة Firebase، ثم اختَر تعديل الحزمة.

  2. تأكَّد من أنّ حزمة Firebase تعرض الآن الإصدار 11.13.0 أو إصدارًا أحدث. إذا لم يكن كذلك، تأكَّد من أنّ متطلبات الحزمة المحدّدة تسمح بالتحديث إلى الإصدار 11.13.0 أو إصدار أحدث.

  3. اختَر هدف تطبيقك في "محرّر المشاريع"، ثم انتقِل إلى قسم الأُطر والمكتبات والمحتوى المضمّن.

  4. أضِف المكتبة الجديدة: انقر على الزر +، ثم أضِف FirebaseAI من حزمة Firebase.

  5. بعد الانتهاء من نقل بيانات تطبيقك (راجِع الأقسام المتبقية في هذا الدليل)، احرص على إزالة المكتبة القديمة:
    اختَر FirebaseVertexAI، ثم اضغط على الزر .

Kotlin

  1. في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، استبدِل الاعتمادات القديمة (حسب الاقتضاء) بما يلي.

    يُرجى العِلم أنّه قد يكون من الأسهل نقل قاعدة رموز تطبيقك (راجِع الأقسام المتبقية في هذا الدليل) قبل حذف التبعية القديمة.

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.16.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. مزامنة مشروع Android مع ملفات Gradle

يُرجى العِلم أنّه في حال اختيار عدم استخدام Firebase Android BoM، ما عليك سوى إضافة التبعية الخاصة بمكتبة firebase-ai وقبول أحدث إصدار يقترحه Android Studio.

Java

  1. في ملف Gradle للوحدة (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle)، استبدِل الاعتمادات القديمة (حسب الاقتضاء) بما يلي.

    يُرجى العِلم أنّه قد يكون من الأسهل نقل قاعدة رموز تطبيقك (راجِع الأقسام المتبقية في هذا الدليل) قبل حذف التبعية القديمة.

    // BEFORE
    dependencies {
      implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
      implementation("com.google.firebase:firebase-vertexai")
      // OR if not using the BoM
      implementation("com.google.firebase:firebase-vertexai:16.x.y")
    }
    
    
    // AFTER
    dependencies {
      // Import the BoM for the Firebase platform
      implementation(platform("com.google.firebase:firebase-bom:33.16.0"))
    
      // Add the dependency for the Firebase AI Logic library
      // When using the BoM, you don't specify versions in Firebase library dependencies
      implementation("com.google.firebase:firebase-ai")
    }
  2. مزامنة مشروع Android مع ملفات Gradle

يُرجى العِلم أنّه في حال اختيار عدم استخدام Firebase Android BoM، ما عليك سوى إضافة التبعية الخاصة بمكتبة firebase-ai وقبول أحدث إصدار يقترحه Android Studio.

Web

  1. احصل على أحدث إصدار من حزمة تطوير البرامج (SDK) لخدمة Firebase JS على الويب باستخدام npm:

    npm i firebase@latest

    أو

    yarn add firebase@latest
  2. في أي مكان استوردت فيه المكتبة، عدِّل عبارات الاستيراد لاستخدام firebase/ai بدلاً من ذلك.

    يُرجى العِلم أنّه قد يكون من الأسهل نقل قاعدة رموز تطبيقك (راجِع الأقسام المتبقية في هذا الدليل) قبل حذف عمليات الاستيراد القديمة.

    // BEFORE
    import { initializeApp } from "firebase/app";
    import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
    
    
    // AFTER
    import { initializeApp } from "firebase/app";
    import { getAI, getGenerativeModel } from "firebase/ai";

Dart

  1. عدِّل ملف pubspec.yaml لاستخدام حزمة firebase_ai من خلال تنفيذ الأمر التالي من دليل مشروع Flutter:

    flutter pub add firebase_ai
  2. أعِد إنشاء مشروع Flutter باتّباع الخطوات التالية:

    flutter run
  3. بعد الانتهاء من نقل تطبيقك (راجِع الأقسام المتبقية في هذا الدليل)، احرص على حذف الحزمة القديمة باتّباع الخطوات التالية:

    flutter pub remove firebase_vertexai

Unity

لم يكن الدعم متاحًا في Unity من "Vertex AI in Firebase".

تعرَّف على كيفية بدء استخدام Firebase AI Logic حزمة تطوير البرامج (SDK) في Unity.

الخطوة 4: تعديل عملية الإعداد في تطبيقك

انقر على مزوّد Gemini API لعرض المحتوى والرمز الخاصين بالمزوّد على هذه الصفحة.

عدِّل طريقة بدء الخدمة لمقدّم خدمة واجهة برمجة التطبيقات الذي اخترته وأنشئ مثيلاً من GenerativeModel.

Swift


import FirebaseAI

// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())

// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.5-flash")

Kotlin


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
                        .generativeModel("gemini-2.5-flash")

Java


// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
        .generativeModel("gemini-2.5-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web


import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";

// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
  // ...
};

// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);

// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.5-flash" });

Dart


import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
      FirebaseAI.googleAI().generativeModel(model: 'gemini-2.5-flash');

Unity

لم يكن دعم Unity متاحًا من "Vertex AI in Firebase".

تعرَّف على كيفية بدء استخدام Firebase AI Logic حزمة تطوير البرامج (SDK) في Unity.

يُرجى العِلم أنّه استنادًا إلى الميزة التي تستخدمها، قد لا تتمكّن دائمًا من إنشاء GenerativeModel.

الخطوة 5: تعديل الرمز البرمجي حسب الميزات التي تستخدمها

توضّح هذه الخطوة التغييرات التي قد تكون مطلوبة استنادًا إلى الميزات التي تستخدمها.

  • إذا كنت تستخدم عناوين URL Cloud Storage و وبدّلتها لاستخدام Gemini Developer API في عملية نقل البيانات هذه، عليك تعديل طلباتك المتعددة الوسائط لتضمين الملفات كبيانات مضمّنة (أو استخدام عناوين URL على YouTube للفيديوهات).

  • راجِع القوائم التالية لمعرفة أي تغييرات قد تحتاج إلى إجرائها في الرمز البرمجي لاستيعاب حزمة تطوير البرامج (SDK) التي تتضمّن Firebase AI Logic.

Swift

ما مِن تغييرات إضافية.

Kotlin

  • Live API

    • تمت إزالة القيمة UNSPECIFIED لفئة التعداد ResponseModality. بدلاً من ذلك، استخدِم null.

Java

  • Live API

    • تمت إزالة القيمة UNSPECIFIED لفئة التعداد ResponseModality. بدلاً من ذلك، استخدِم null.
  • تم تغيير طرق إنشاء Java المختلفة لتعرض الآن بشكل صحيح مثيلاً لفئتها بدلاً من void.

Web

التغييرات مطلوبة فقط إذا كنت ستستخدم Gemini Developer API (بدلاً من Vertex AI Gemini API):

  • إعدادات الأمان

    • تمت إزالة استخدامات SafetySetting.method غير المتوافق.
  • البيانات المضمّنة

    • تمت إزالة استخدامات InlineDataPart.videoMetadata غير المتوافق.

Dart

ما مِن تغييرات إضافية.

Unity

لم يكن دعم Unity متاحًا من "Vertex AI in Firebase".

تعرَّف على كيفية بدء استخدام Firebase AI Logic حزمة تطوير البرامج (SDK) في Unity.


تقديم ملاحظات حول تجربتك مع Firebase AI Logic