تعزيز تفاعل المستخدمين من خلال ميزة "إنشاء الصور باستخدام الذكاء الاصطناعي"
مدّة القراءة: 5 دقائق
يمكن أن تؤدي إضافة صور مخصّصة إلى تطبيقك إلى تحسين تجربة المستخدم وتخصيصها بشكل كبير وتعزيز تفاعل المستخدمين. يستكشف هذا المنشور ميزتَين جديدتَين لإنشاء الصور باستخدام Firebase AI Logic: ميزات تعديل الصور المتخصّصة في Imagen، والمتوفّرة حاليًا في إصدار حصرية، والإصدار المتاح للجمهور العام من Gemini 2.5 Flash Image (المعروف أيضًا باسم "Nano Banana")، والمصمّم لإنشاء الصور حسب السياق أو المحادثة.
تعزيز تفاعل المستخدمين من خلال الصور التي يتم إنشاؤها عبر Firebase AI Logic
يمكن استخدام نماذج إنشاء الصور لإنشاء صور رمزية مخصّصة لملفات المستخدمين الشخصية أو لدمج مواد عرض مرئية مخصّصة مباشرةً في مسارات الشاشة الرئيسية.
على سبيل المثال، يوفّر Imagen ميزات تعديل جديدة (في معاينة المطوّر). يمكنك الآن رسم قناع واستخدام ميزة "الرسم الداخلي" لإنشاء وحدات بكسل داخل المنطقة التي يغطيها القناع. بالإضافة إلى ذلك، تتوفّر ميزة "التوسيع الذكي" لإنشاء وحدات بكسل خارج القناع.
يتيح لك نموذج Imagen استخدام ميزة "إضافة عناصر"، ما يتيح لك إنشاء جزء من الصورة فقط.
في المقابل، يمكن لنموذج Gemini 2.5 Flash Image (المعروف أيضًا باسم Nano Banana) استخدام المعرفة الموسّعة بالعالم الواقعي والقدرات الاستدلالية لنماذج Gemini من أجل إنشاء صور ذات صلة بالسياق، ما يجعله مثاليًا لإنشاء رسومات توضيحية ديناميكية تتوافق مع تجربة التطبيق الحالية للمستخدم.
استخدِم Gemini 2.5 Flash Image لإنشاء صور توضيحية ديناميكية ذات صلة بسياق تطبيقك.
أخيرًا، تتيح إمكانية تعديل الصور بشكل تفاعلي ومتكرّر للمستخدمين تعديل صورة باستخدام لغة طبيعية.
استخدام Gemini 2.5 Flash Image لتعديل صورة باستخدام لغة طبيعية
عند البدء في دمج الذكاء الاصطناعي في تطبيقك، من المهم التعرّف على أمان الذكاء الاصطناعي. من المهم بشكل خاص تقييم المخاطر الأمنية لتطبيقك، والنظر في إجراء تعديلات للحد من مخاطر السلامة، وإجراء اختبارات السلامة المناسبة لحالة الاستخدام الخاصة بك، وطلب ملاحظات المستخدمين ومراقبة المحتوى.
Imagen أو Gemini: الخيار لك
يكمن الفرق بين Gemini 2.5 Flash Image (المعروف أيضًا باسم Nano Banana) وImagen في تركيزهما الأساسي وإمكاناتهما المتقدّمة. Gemini 2.5 Flash Image هو نموذج لإنشاء الصور ضمن عائلة Gemini الأكبر، ويتميّز بقدرته على تعديل الصور من خلال المحادثات، والحفاظ على السياق واتساق العناصر في عدة نُسخ، والاستفادة من "المعرفة بالعالم الواقعي والاستدلال" لإنشاء مرئيات ذات صلة بالسياق أو تضمين مرئيات دقيقة ضمن تسلسلات نصية طويلة.
Imagen هو نموذج Google المتخصّص في إنشاء الصور، وهو مصمّم لتوفير تحكّم إبداعي أكبر، ومتخصّص في إنشاء صور واقعية للغاية وتفاصيل فنية وأنماط معيّنة، كما يوفّر عناصر تحكّم واضحة لتحديد نسبة العرض إلى الارتفاع أو تنسيق الصورة التي يتم إنشاؤها.
| Gemini 2.5 Flash Images (Nano Banana 🍌) | Imagen |
🌎 معرفة شاملة وقدرات استدلالية لإنشاء صور أكثر صلة بالسياق 💬 تعديل الصور من خلال المحادثة مع الحفاظ على السياق 📖 تضمين عناصر مرئية دقيقة ضمن تسلسلات نصية طويلة | 📐 تحديد نسبة العرض إلى الارتفاع أو تنسيق الصور التي يتم إنشاؤها
🖌️إتاحة التعديل المستنِد إلى القناع لإضافة عناصر داخل الصورة أو خارجها
🎚️ تحكّم أكبر في تفاصيل الصورة التي يتم إنشاؤها (الجودة والتفاصيل الفنية والأنماط المحدّدة) |
لنتعرّف على كيفية استخدامها في تطبيقك.
إضافة أجزاء إلى الصورة باستخدام Imagen
قبل بضعة أشهر، طرحنا ميزات تعديل جديدة في Imagen. على الرغم من أنّ Imagen جاهز الآن لإنشاء الصور، إلا أنّ ميزات التعديل لا تزال في مرحلة معاينة المطوّر.
تشمل ميزات تعديل الصور في Imagen ميزتَي إضافة عناصر وتوسيع الصور، وهما ميزتان لتعديل الصور استنادًا إلى القناع. تتيح هذه الميزة الجديدة للمستخدمين تعديل مناطق معيّنة في الصورة بدون إعادة إنشاء الصورة بأكملها. يعني ذلك أنّه يمكنك الحفاظ على أفضل أجزاء الصورة وتعديل ما تريد تغييره فقط.
استخدام ميزات تعديل الصور في Imagen لإجراء تغييرات دقيقة ومستهدَفة في الصورة وضمان سلامة بقية الصورة
يتم إجراء هذه التغييرات مع الحفاظ على العناصر الأساسية للصورة الأصلية وسلامتها بشكل عام، وتعديل المنطقة المحدّدة في القناع فقط.
لتنفيذ ميزة "إضافة عناصر إلى الصور" باستخدام Imagen، عليك أولاً إعداد imagen-3.0-capability-001 نموذج Imagen معيّن يتيح ميزات التعديل:
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val editingModel =
Firebase.ai(backend = GenerativeBackend.vertexAI()).imagenModel(
"imagen-3.0-capability-001",
generationConfig = ImagenGenerationConfig(
numberOfImages = 1,
aspectRatio = ImagenAspectRatio.SQUARE_1x1,
imageFormat = ImagenImageFormat.jpeg(compressionQuality = 75),
),
)بعد ذلك، حدِّد دالة inpainting:
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val prompt = "remove the pancakes and make it an omelet instead"
suspend fun inpaintImageWithMask(sourceImage: Bitmap, maskImage: Bitmap, prompt: String, editSteps: Int = 50): Bitmap {
val imageResponse = editingModel.editImage(
referenceImages = listOf(
ImagenRawImage(sourceImage.toImagenInlineImage()),
ImagenRawMask(maskImage.toImagenInlineImage()),
),
prompt = prompt,
config = ImagenEditingConfig(
editMode = ImagenEditMode.INPAINT_INSERTION,
editSteps = editSteps,
),
)
return imageResponse.images.first().asBitmap()
}يجب تقديم كل من sourceImage وmaskImage وطلب للتعديل وعدد خطوات التعديل التي سيتم تنفيذها.
يمكنك الاطّلاع على طريقة عملها في نموذج تعديل الصور باستخدام Imagen في كتالوج نماذج الذكاء الاصطناعي في Android.
يتيح نموذج Imagen أيضًا استخدام ميزة توسيع نطاق الصور التي تتيح لك السماح للنموذج بإنشاء وحدات بكسل خارج القناع. يمكنك أيضًا استخدام ميزات تخصيص الصور في Imagen لتغيير نمط صورة أو تعديل موضوع فيها. يمكنك الاطّلاع على مزيد من المعلومات في مستندات مطوّري برامج Android.
إنشاء الصور من خلال المحادثات مع Gemini 2.5 Flash Image
إحدى طرق تعديل الصور باستخدام Gemini 2.5 Flash Image هي استخدام إمكانات المحادثة المتعدّدة الجولات في النموذج.
أولاً، عليك إعداد النموذج:
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "gemini-2.5-flash-image",
// Configure the model to respond with text and images (required)
generationConfig = generationConfig {
responseModalities = listOf(ResponseModality.TEXT,
ResponseModality.IMAGE)
}
)
لتحقيق نتيجة مشابهة لطريقة Imagen المستندة إلى القناع والموضّحة أعلاه، يمكننا استخدام واجهة برمجة التطبيقات chat لبدء محادثة مع Gemini 2.5 Flash Image.
// Copyright 2025 Google LLC.
// SPDX-License-Identifier: Apache-2.0
// Initialize the chat
val chat = model.startChat()
// Load a bitmap
val source = ImageDecoder.createSource(context.contentResolver, uri)
val bitmap = ImageDecoder.decodeBitmap(source)
// Create the initial prompt instructing the model to edit the image
val prompt = content {
image(bitmap)
text("remove the pancakes and add an omelet")
}
// To generate an initial response, send a user message with the image and text prompt
var response = chat.sendMessage(prompt)
// Inspect the returned image
var generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
// Follow up requests do not need to specify the image again
response = chat.sendMessage("Now, center the omelet in the pan")
generatedImageAsBitmap = response
.candidates.first().content.parts.filterIsInstance<ImagePart>().firstOrNull()?.image
يمكنك الاطّلاع على نموذج Gemini Image Chat في كتالوج Android AI Sample وقراءة المزيد عنه في مستندات Android.
الخاتمة
يوفّر كل من Imagen وGemini 2.5 Flash Image إمكانات فعّالة، ما يتيح لك اختيار نموذج إنشاء الصور المثالي لتخصيص تطبيقك وتعزيز تفاعل المستخدمين، استنادًا إلى حالة الاستخدام المحدّدة.
-
أخبار المنتجاتإذا كنت من مطوّري برامج Android الذين يتطلّعون إلى تنفيذ ميزات مبتكرة تستخدم الذكاء الاصطناعي في تطبيقاتهم، فقد أطلقنا مؤخرًا تحديثات جديدة فعّالة.
Thomas Ezan • مدّة القراءة: دقيقتان -
أخبار المنتجاتاليوم، نوسّع مجموعة نماذج Gemini 3 من خلال إطلاق Gemini 3 Flash، وهو نموذج ذكاء اصطناعي متقدّم مصمَّم للعمل بسرعة وبتكلفة بسيطة.
Thomas Ezan • مدّة القراءة: دقيقتان -
أخبار المنتجاتبما أنّ Unity تشغّل أكثر من نصف جميع الألعاب على الأجهزة الجوّالة في جميع أنحاء العالم، فإنّ الانطباعات الأولى مهمة. بالنسبة إلى مطوّري الألعاب، تُعدّ تجربة الإعداد السلسة والموثوقة للاعبين ضرورية لتعزيز معدّل الاحتفاظ باللاعبين من اليوم الأول وزيادة تفاعلهم على المدى الطويل.
Michelle Martin • مدّة القراءة: دقيقة واحدة
يمكنك الحصول على آخر الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.