مدير مجموعة منتجات
تتيح لك منصة التطبيقات المرتبطة الجديدة دمج خدمات تطبيقك مباشرةً في Gemini و"وضع AI" في "بحث Google" ونظام Android Intelligence. تقدّم هذه الجلسة دليلاً عمليًا للبدء. باستخدام أمثلة على الرموز البرمجية والتعلّم من دراسات حالة واقعية، سنستعرض مراحل تطوير التطبيق: إنشاء تطبيقك المتصل الأول واختباره ونشره للوصول إلى المستخدمين ضمن مهام سير العمل المستندة إلى الذكاء الاصطناعي.
مع نهاية هذه الجلسة، سيكون بإمكانكم:
destructiveHint عليها، ما يساعد Gemini في طلب تأكيد صريح عندما تعدّل الإجراءات البيانات أو تحذفها.النص
مرحبًا بكم.
اسمي "مي" وأنا مسؤولة المنتجات في "منصة التطبيقات المرتبطة بـ Gemini".
لاحقًا، ستتعرّفون أيضًا على "كيت"، وهي مهندسة في فريق DevRel.
ستأتي إلى هنا.
لذا، يسرّنا اليوم أن نناقش معكم كيفية توسيع نطاق تطبيقكم ليشمل بعض منتجاتنا الأكثر رواجًا التي تستخدم الذكاء الاصطناعي الوكيل، مثل Gemini و"بحث Google".
سنشرح لك كيف ولماذا تكون التطبيقات المرتبطة مفيدة ورائعة للمستخدمين.
والأفضل من ذلك، سنوضّح لك ما يتطلّبه إنشاء نموذج.
لنبدأ الدرس.
أعلم أنّ الكثير منّا قد لاحظ حدوث تغيير هائل في منظومة التطبيقات المتكاملة.
إنّ طريقة استخدام الأشخاص لأجهزتهم والبحث عن إجابات وإنجاز المهام لا تتطوّر فحسب،
لقد تغيّر بشكل جذري.
لم يعُد المستخدمون يفتحون المتصفّحات وينقرون على الروابط.
بل يتحدثون مباشرةً مع مساعدين مثل Gemini.
يطرحون على Gemini أسئلة معقّدة ويبحثون عن إجابات باستخدام وسائط متعددة على "بحث Google".
ويتوقّعون من أجهزة Android أن تفهم ما يقولونه وأن تعرف ما يريدون إنجازه.
فكِّر في بعض عمليات سير العمل التي يمكنك تنفيذها في أي يوم.
لنفترض أنّك طلبت من Gemini مساعدتك في استلهام بعض الأفكار لقضاء عطلة نهاية أسبوع ممتعة مع الأصدقاء في مكان معيّن وفي وقت معيّن.
أما النماذج الحالية، فيمكنها معالجة هذه الخطة في ثوانٍ.
إنّه رائع.
صورك منظّمة:
وماذا بعد ذلك؟
ينتهي.
يواجه المستخدم عقبة ويُترك معلّقًا هناك مع خطة فقط ولم يتم تأكيد أي شيء.
يعرف النموذج ما يجب فعله، ولكن ليس لديه اليدان لتنفيذه.
لذلك، عليك نسخ المعلومات من المحادثة مع Gemini ولصقها في تطبيق آخر.
في بعض الأحيان، إذا كنت تستخدم جهازًا جوّالاً، يصبح الأمر صعبًا للغاية.
بعد ذلك، عليك تذكُّر كل هذه المعلومات وكتابتها.
هذه القفزة المعرفية وهذا الاحتكاك يكسران السحر تمامًا.
وماذا يعني ذلك لكم جميعًا؟
ويعني ذلك أنّ لديك طلبًا من مستخدمين لديهم نية قوية بالشراء، ولكنّهم عالقون في فقاعة محادثة بدلاً من جذب مستخدمين نشطين ومتفاعلين إلى تطبيقك.
لهذا السبب، تُعدّ التطبيقات المرتبطة ثورة في عالم الإعلانات، لأنّها تساعدنا في الوصول إلى المستخدمين في المكان المناسب.
وفي الوقت الحالي، يقضون الكثير من الوقت في التحدّث مع مساعدين مثل Gemini.
عندما يعبّر المستخدم عن نيّة حقيقية لاتّخاذ إجراء، تكون هذه لحظة مهمة للغاية في رحلته.
ولا يتصفّحون المحتوى بشكل سلبي.
لديهم شيء صريح يريدون إنجازه الآن.
من خلال تفعيل عمليات الدمج بين التطبيقات وهذه النماذج التوليدية، يمكن للمساعدين مثل Gemini الانتقال من الإجابة عن الأسئلة إلى إنجاز المهام.
عندما يطلب المستخدم قائمة مهام ذات أولوية، أو يبحث عن سيارة لاستئجارها لرحلة قادمة، أو يريد شراء البقالة لوصفة عثر عليها للتو، لن يظهر تطبيقك في أسفل الصفحة كرابط ثابت.
يمكنك المساعدة في إضفاء السحر وتنفيذ هذا الإجراء في ذلك الوقت وفي ذلك المكان.
أريد أن أوضّح أمرًا مهمًا، لأنّني أعلم أنّ كل مطوّر وقائد منتج يفكّر في هذا الأمر، وهو أنّ التطبيقات المرتبطة لا تهدف إلى إخفاء تطبيقك.
علامتك التجارية ومنطق نشاطك التجاري وعلاقاتك الموثوقة وتجارب واجهة المستخدم المخصّصة، كلّها ملك لك.
تتيح التطبيقات المرتبطة دمج خدماتك في واجهة برمجة تطبيقات مستندة إلى الذكاء الاصطناعي الوكيل، ما يتيح لمنتجات Google المستندة إلى الذكاء الاصطناعي الوكيل توجيه المستخدمين الذين لديهم نية قوية بالشراء مباشرةً إلى منتجك بسلاسة.
لذلك، يسرّني اليوم الإعلان رسميًا عن إطلاق "منصة التطبيقات المرتبطة".
في السابق، كان الوصول إلى المستخدمين على منتجات Google المختلفة يتطلّب عملية دمج مختلفة لكل منتج.
إذا أردت إجراءً أو اختصارًا لتطبيق Android، عليك إنشاء أحدهما.
إضافة أخرى لدمج "بحث Google"
لكننا نريد أن نجعل الأمور سهلة ورائعة بالنسبة إليك قدر الإمكان.
لذلك، وحّدنا عملية الإعداد لنوفّر لك نقطة دخول واحدة لإطلاق تطبيقك على منتجات Google المتعددة المستندة إلى الذكاء الاصطناعي الوكيل.
الآن، يمكنك إنشاء وظائف تطبيقك مرة واحدة باستخدام مخططات تعريفية عادية، وبذلك تظهر في اثنين من منتجاتنا الرئيسية، وهما Gemini و"بحث Google".
وستتوفّر قريبًا المزيد من المنتجات.
لنتحدّث عن مدى الوصول هذا وما يعنيه لك.
ليس من الضروري إنشاء مكوّنات إضافية مخصّصة متعددة، وإدارة أربع وحدات تحكّم مختلفة للمطوّرين، وصيانة عمليات مصادقة مختلفة للوصول إلى مستخدمي Google على Android وGemini و"بحث Google".
من خلال منصتنا الموحّدة، يمكنك إنشاء تعريفات الأدوات وتسجيلها مرة واحدة.
يمكنك اختيار منتجات Google التي تريدها، وسنوفّر لك زر تشغيل واحدًا في "وحدة التحكّم الشاملة من Google" الجديدة.
عند نشرها، تصبح إمكاناتك قابلة للاكتشاف من قِبل أي مستخدم عند استخدام Gemini أو "بحث Google".
سواء كان المستخدمون يكتبون في Gemini على أجهزة الكمبيوتر المحمول، أو يطرحون سلسلة من طلبات البحث على "بحث Google" على الويب، أو يستخدمون ميزات المساعد على Android، سيكون لديهم خيار استخدام تطبيقك في الوقت المناسب لهم، وفي المكان الذي يتواجدون فيه.
لذلك، سنفتح منصتنا على مراحل، بدءًا من النسخة الحصرية.
أؤكّد لكم أنّ الفريق بأكمله يعمل بجدّ لإتاحة جميع الميزات لأكبر عدد ممكن من المستخدمين في أسرع وقت ممكن.
في هذه المرحلة من النسخة الحصرية، نتيح المنصة للمطوّرين في الولايات المتحدة فقط.
يمكنك الاشتراك من خلال نموذج للحصول على إذن الوصول، ويمكنك العثور عليه في دليل المطوّرين على developers.google.com/connected-apps، أو إذا كنت مطوّرًا على Play، يمكنك أيضًا العثور عليه في الصفحة الرئيسية في Google Play Console.
السؤال التالي هو: ما مدى صعوبة إنشاء أحد هذه النماذج؟
إذا كان لديك REST API أو Android intents، فهذه بداية جيدة.
نحن نعتمد على مفاهيم مألوفة لدى المطوّرين.
تتكامل منصتنا مع بروتوكول Model Context Protocol أو معيار MCP من خلال بروتوكولات MCP المستندة إلى الخادم وبروتوكولات MCP المخصّصة لنظام Android.
ولتحسين تجربتك وتسهيلها، سنطلق اليوم ميزة جديدة كليًا في Gemini باسم "وضع مطور البرامج"، وهي متاحة الآن لجميع المستخدمين في الولايات المتحدة.
يتيح لك ذلك تجربة تطبيقك داخل Gemini، والحصول على ملاحظات فورية حول حالات الخطأ ووقت الاستجابة وردود النموذج.
وقريبًا، سيكون بإمكانكم إنشاء مجموعات تقييم خاصة بكم والحصول على بطاقات نتائج ومقاييس مرجعية لجودة الأداء.
سيكون الأمر رائعًا.
بغض النظر عن مستوى وصولك إلى المنصة، يمكنك دائمًا تجربة تطبيقك في "وضع مطور البرامج".
أنا متأكد من أنّكم متشوّقون لمعرفة المزيد من التفاصيل، وستصعد "كيت" إلى المسرح بعدي مباشرةً لتشرح لكم كل ذلك في غضون بضع دقائق.
لذا، أولاً، أحتاج إلى التحدث إليكم عن شيء يزداد أهمية طوال الوقت: ثقة المستخدم.
عندما نتحدث عن اتخاذ الوكلاء إجراءات نيابةً عن شخص ما، يكون السؤال الأول غالبًا: "كيف نضمن بقاء المستخدم متحكّمًا في الإجراءات؟"
إليك بعض المفاهيم البسيطة التي نعتمدها في هذا الصدد.
أولاً، تتناسب عمليات التأكيد مع مستوى المخاطر.
لن نعرض نافذة منبثقة قبل كل طلب أداة.
يجب أن يكون البحث عن شيء ما، والتحقق من توفر القائمة، وتتبع الطلب، أمرًا سلسًا.
ولكن عندما يكون للإجراء عواقب حقيقية، مثل تعديل ملف مشترك أو إكمال حجز أو حذف ملف لا يمكن للمستخدم استعادته بسهولة، يهدف النموذج إلى طلب موافقة صريحة من المستخدم قبل تنفيذ الإجراء.
ثانيًا، يتم عرض البيانات الحسّاسة، وليس إخفاؤها.
لذلك، تم تصميم منتجاتنا للتحقّق من المعلومات الشخصية التي قد تتم مشاركتها مع تطبيقك.
إذا تم رصد أي معلومات حساسة، سنعرض للمستخدم ما تتم مشاركته بالضبط، لكي يقرر ما إذا كان يريد المتابعة في تطبيقك أم لا في تلك اللحظة.
ثالثًا، عندما نطلب، نكون محدّدين.
لا نكتفي بطرح سؤال غامض مثل "هل أنت متأكد؟"، بل نوضّح التطبيق الذي يطلب الإذن وما يتم إرساله أو تغييره فعليًا.
بهذه الطريقة، يساعد التأكيد المستخدم على اتخاذ القرار حقًا بدلاً من مجرد كونه شيئًا ينقر عليه بشكل عشوائي.
وبما أنّ لا أحد يريد رحلة مليئة برسائل التأكيد، سيتمكّن المستخدمون من التحكّم أكثر في عدد المرات التي يُطلب منهم فيها تأكيد الإجراءات.
في تطبيق Gemini، على سبيل المثال، يمكن للمستخدمين اختيار السماح بالإجراء طوال الوقت أو لا، وذلك لكل تطبيق وحتى لكل إجراء.
بالنسبة إليك، يعني ذلك أنّه عليك تصنيف أدواتك بصدق.
حدِّد ما هو للقراءة فقط، وما الذي يتغيّر، وما الذي يحذف البيانات.
وتساعد هذه الإشارات منتجاتنا في تحديد الوقت المناسب لإشراك المستخدم.
ومرة أخرى، ستوضح لك كيت بالضبط كيف في بضع دقائق فقط.
حسنًا، لنعد إلى رحلة عطلة نهاية الأسبوع التي كنا نتحدث عنها، وهي جزء التخطيط.
هل تتذكرون مدى صعوبة ذلك وتشتته؟
كانت لديك خطة رائعة لمجموعة من الأصدقاء، ولكنّك واجهت مشكلة، واضطررت إلى نسخ المحتوى ولصقه، والانتقال من تطبيق إلى آخر.
لذلك، فإنّ Viator وTicketmaster هما من شركائنا الأوائل الرائعين، وقد وجدا فرصة حقيقية في تلبية احتياجات المستخدمين في مكان تواجدهم.
قرّروا التعاون معنا وإزالة هذا الحاجز، ما يتيح للمستخدمين الذين لديهم نية قوية بالشراء الوصول إلى تطبيقهم مباشرةً من داخل Gemini.
بفضل التطبيقات المرتبطة التي أنشأها هؤلاء الشركاء، أصبحت الرحلة بأكملها أكثر سلاسة وسهولة.
لذا، لنلقِ نظرة.
يربط المستخدم التطبيقات، ويطلب من Gemini العثور على جولة طعام نهارية على Viator وبعض تذاكر الحفلات الموسيقية على Ticketmaster لمجموعة من 4 أشخاص.
يمكن لـ Gemini التعرّف على هذه الإمكانية، ويستعين بأدوات Viator وTicketmaster مباشرةً مع ملء حجم المجموعة والتواريخ والإعدادات المفضّلة المناسبة مسبقًا.
بدون مغادرة المحادثة، يسحب كلا التطبيقَين معلومات التوفّر في الوقت الفعلي ويعرضان تجارب تفاعلية غنية داخل المحادثة مباشرةً للمستخدم.
بدلاً من الوصول إلى طريق مسدود والتنقّل بين مجموعة من علامات التبويب، يتيح شركاء مثل Viator وTicketmaster للمستخدمين تنفيذ ما يحتاجون إليه فورًا، مثل استكشاف محطات جولات الطعام واختيار مقاعد الحفلات الموسيقية والانتقال بسلاسة تامة من مرحلة الاستكشاف إلى مرحلة اتخاذ الإجراء.
لذا، فإنّ عصر مشغّلات التطبيقات الثابتة قد ولّى، ليحلّ محلّه عصر التجارب الذكية والاستباقية والوكيلة.
يتفاعل المستخدمون حاليًا مع "بحث Google" وGemini لطلب المساعدة.
معًا، يمكننا مساعدتهم في تجاوز الإجابات وتقديم تجارب فعّالة ورائعة حقًا.
هذا كل ما لديّ.
سأترككم الآن مع "كيت" التي ستشرح لكم بالتفصيل كيفية إنشاء تطبيق مرتبط.
تفضَّل بالصعود.
مرحبًا بكم.
اسمي كيت، وأنا مهندسة علاقات المطوّرين، وأساعد المطوّرين مثلك في التكامل مع "منصة التطبيقات المرتبطة".
لذا، سأشرح لك كيفية اختبار تطبيقك المرتبط وإنشائه ونشره.
وكما ذكرت "مي" سابقًا، هناك طريقتان رئيسيتان للدمج مع "منصة التطبيقات المرتبطة": إما من خلال خادم MCP عن بُعد باستخدام بروتوكول MCP، أو من خلال Android MCP، حيث يمكنك إنشاء خادم MCP عن بُعد على الجهاز باستخدام مكتبة AppFunctions.
ننصح باستخدام خوادم MCP عن بُعد عند الرغبة في الدمج على مستوى أنظمة أساسية متعددة، مثل Android وiOS والويب.
تلقّينا أيضًا ملاحظات من بعض المطوّرين تفيد بأنّهم يفضّلون أحيانًا التنفيذ على الجهاز فقط عندما تكون بيانات التطبيق متاحة على الجهاز فقط.
في حالات الاستخدام هذه، ننصح باستخدام بروتوكول MCP على Android من خلال مكتبة AppFunctions Jetpack.
يُرجى الاطّلاع على الجلسة المخصّصة التي يتعمّق فيها "دان" و"سارة" في كيفية التكامل مع "منصة التطبيقات المرتبطة" من خلال AppFunctions وAndroid MCP.
لنتعرّف الآن على كيفية إنشاء خادم MCP عن بُعد.
ولنوضّح لك كيفية عمل ذلك من الناحية العملية، أنشأنا التطبيق المرتبط الرسمي AndroidDevSummit.
لذا، دعني أريك كيف يعمل.
لننتقل إلى عرض توضيحي مباشر.
لنتخيّل مثلاً أنّك طرحت السؤال التالي: "AndroidDevSummit، أريد معرفة المزيد عن جلسات الواقع الممتد".
في الوقت الحالي، يتصل Gemini بخادم MCP الذي أنشأناه لهذا التطبيق المرتبط.
ويعثر على الأداة المناسبة لاستدعائها ويستخدم بياناتها لإنشاء ردود سهلة الاستخدام.
لذا، يعثر على المعلومات حول الجلسات ذات الصلة بالواقع الممتد هنا لليوم الأول واليوم الثاني، وفي النهاية يعرض تطبيقنا المصغّر المخصّص الذي يحمل علامتنا التجارية لـ AndroidDevSummit مع روبوت Android.
ويمكنك التفاعل مع هذه الأداة مباشرةً داخل Gemini.
يمكنك الاطّلاع على الجدول الزمني، على سبيل المثال، يمكنك تبديل الموقع الجغرافي أو الفلترة حسب اليوم.
يمكنك أيضًا الفلترة حسب مواضيع مختلفة، مثلاً إذا أردت البحث عن جلسات ذات صلة بالواقع الممتد، ويمكنك أيضًا الاطّلاع على التفاصيل والمتحدّثين.
لذا، رائع!
كل شيء داخل Gemini، تجربتك المخصّصة التي تحمل علامتك التجارية، ولا يحتاج المستخدمون إلى التبديل، ولا يحتاج المستخدمون إلى الانتقال والعثور على بعض المعلومات الأخرى في تطبيق مختلف، كل شيء في مكان واحد بدون تفاعل-- بدون أي تبديل أو مغادرة التطبيق نفسه.
لذا، لنبدّل إلى "العروض التقديمية من Google".
لنتعرّف على كيفية إنشاء هذه التطبيقات المرتبطة.
لذلك، من السهل جدًا بدء خادم MCP باستخدام مكتبة FastMCP، ولكن هناك أربع أفضل ممارسات مهمة جدًا يجب اتّباعها.
أولاً، عليك تقديم تعليمات صريحة للخادم.
from mcp.server.fastmcp import FastMCP
mcp = FastMCP(
name="ADS-MCP",
instructions=(
"A Model Context Protocol server providing event "
"overview, schedules, sessions, speakers, and "
"sandbox demos for the Android Developer Summit "
),
)عند إعداد خادم MCP، احرص دائمًا على تحديد تعليمات واضحة تصف نطاق تطبيقاتك المرتبطة وإمكاناتها.
تعتمد "منصة التطبيقات المرتبطة" على هذه التعليمات لمعرفة متى يجب تفويض خادمك.
بالإضافة إلى ذلك، تتحقّق "وحدة التحكّم الشاملة من Google"، التي سأعرضها لك لاحقًا، بشكل صريح من توفّر هذه التعليمات.
ثانيًا، أضِف تعليقات توضيحية للأدوات من أجل السلامة والتحكّم.
@mcp.tool(
title="List Sessions",
annotations=ToolAnnotations(
readOnlyHint=True,
destructiveHint=False,
),
meta={ … },
)
def list_sessions( … )
…بالنسبة إلى خادم ADS، لدينا هذان التعليقان التوضيحيان.
من المهم أن يعرف النموذج ما إذا كانت الأداة مخصّصة للقراءة فقط أو لتعديل البيانات.
لذا، إذا كانت لديك أي أدوات تعدّل معلومات المستخدم أو تحذفها، استخدِم دائمًا destructiveHint لوضع علامة عليها تشير إلى أنّها يمكنها تعديل العمليات أو حذفها.
بهذه الطريقة، ستعرف "منصة التطبيقات المرتبطة" أنّ عليها عرض رسالة تأكيد للمستخدم، وأنّه يوافق على إكمال هذا الإجراء.
يمكنك أيضًا ضبط أدواتك في "وحدة التحكّم الشاملة من Google"، وسأوضّح لك ذلك لاحقًا.
وثالثًا، المخططات ذات الأنواع الصارمة وسلاسل المستندات الدلالية.
def list_sessions(
track: Optional[str] = None,
location: Optional[str] = None,
) -> List[Dict[str, Any]]:
"""Lists all sessions, optionally filtered by track
(e.g. 'Tools and performance', 'Apps Foundation',
'AI experiences', 'Android XR') or location
(e.g. 'MTV', 'Mountain View', 'London', 'LON').
"""
…يجب التعامل مع سلاسل المستندات الخاصة بالمعلَمات كجزء من الطلب.
في أداة list_sessions هذه، نوضّح القيم المتوقّعة، مثل الأدوات والأداء، أو MTV مقابل لندن للموقع الجغرافي.
أهم عامل في استدعاء الأدوات بدقة هو المخططات الواضحة والوصفية.
والأخير هو ربط البيانات الوصفية لموارد واجهة المستخدم.
@mcp.tool(
…
meta={
"ui": {
"resourceUri": "ui://ads-mcp/summit-app",
},
…
},
)
def list_sessions(…)
…لنلقِ نظرة على تعريف واجهة المستخدم في Meta.
هذه البيانات الوصفية هي الجسر الذي يوجّه Gemini لربط مخرجات الأداة مباشرةً بمورد واجهة المستخدم المخصّص هنا.
هذا يقودنا إلى عرض واجهة المستخدم.
@mcp.resource(
"ui://ads-mcp/summit-app",
name="summit-app",
mime_type="text/html",
)
def get_summit_ui() -> ResourceResult:
"""Renders the interactive ADS 2026 dashboard."""
return ResourceResult([
ResourceContent(
_build_summit_ui_html(),
mime_type="text/html",
)
])تتيح لك منصة التطبيقات المرتبطة عرض واجهات مستخدم غنية من خادم بروتوكول سياق النموذج (MCP) من خلال واجهة مستخدم تطبيقات بروتوكول سياق النموذج (MCP).
وعندما تريد مرونة كاملة لواجهة مخصّصة تعبّر عن العلامة التجارية، مثل مؤتمر Android Dev Summit، يمكنك عرض مورد واجهة مستخدم MCP.
ويمكن عرض Gemini في إطار iframe آمن ومعزول.
بعد ذلك، سأشرح لكم كيفية اختبار تطبيقكم المرتبط ونشره، مباشرةً من جهازكم المحلي إلى الإصدار العلني.
أجل
لنتعرّف الآن على كيفية تطوير التطبيق واختباره محليًا.
أثناء عملية التطوير، يمكنك بسهولة تشغيل الخادم محليًا باستخدام الأمر الأول.
./venv/bin/python server.py
npx @modelcontextprotocol/inspectorويمكنك بعد ذلك استخدام MCP Inspector لتصحيح أخطاء الخادم والاطّلاع على الأدوات المتاحة والتفاعل مع واجهة المستخدم.
هذا مجرد مثال على شكل "فاحص MCP" في مؤتمر Android Dev Summit.
وبالتالي، يمكنكم الاطّلاع على الأدوات وواجهة المستخدم واختبارها على الجهاز.
ثانيًا، عليك تفعيل خادم بروتوكول سياق النموذج (MCP) في نقطة نهاية عن بُعد، للوصول إليه والتحقّق منه أيضًا في وضع مطور البرامج في Gemini.
يمكنك استضافة نقطة نهاية MCP على أي بنية أساسية أو أي مقدّم خدمات سحابة إلكترونية.
أما إذا كنت تفضّل Google Cloud، فيمكنك استخدامها بسهولة مع Google Cloud CLI.
ما عليك سوى استخدام هذا الأمر البسيط للنشر وسيصبح تطبيقك متاحًا عن بُعد.
gcloud run deploy ads-mcp-serverالخطوة التالية هي التحقّق من نقطة النهاية العامة في "وضع مطوّر البرامج" في Gemini.
لذا، لننتقل إلى عرض توضيحي مباشر، وسأوضّح لك كيفية استخدام وضع المطوّرين عمليًا.
لذلك، من السهل العثور على وضع مطوّر البرامج، إذا انتقلت إلى الإعدادات والنقر على وضع مطوّر البرامج.
بعد ذلك، عليك اختيار التطبيق المرتبط الذي تريد اختباره.
على سبيل المثال، يمكنك إنشاء خادم جديد من خلال تقديم عنوان URL لخادم MCP هنا.
لقد أنشأتُ واحدًا للاختبار باسم ADS MCP مع نقطة النهاية الاختبارية.
وأريد فقط اختبار كيفية عمله مع Gemini من البداية إلى النهاية.
لِنطرح سؤالاً.
ADS MCP، أخبرني المزيد عن الحدث.
في الوقت الحالي، يتصل Gemini بخادم MCP، ويمكنكم أيضًا الاطّلاع على الأداة التي يتم استدعاؤها في "وضع مطور البرامج".
على سبيل المثال، بالنسبة إلى هذا الطلب المحدّد، "أريد معرفة المزيد عن الفعالية"، تم استدعاء الدالة get_summit_info.
ويمكنك أيضًا الاطّلاع على الردّ الذي تم إرساله بنجاح.
ويمكنك الاطّلاع على وقت الاستجابة.
يمكنك أيضًا الاطّلاع على جميع تفاصيل الطلبات والردود.
على سبيل المثال، بالنسبة إلى ردّنا، لدينا الكثير من المعلومات.
يمكنك أيضًا تكبيرها قليلاً ومعرفة كيف، مثلاً، تصحيح الأخطاء ربما ما هي المعلومات التي تحتاجها، واستكشاف أن كل شيء دقيق.
يمكنك أيضًا نسخه، وهو أمر مريح للغاية، إذا كنت تريد مشاركته مع زميلك في الفريق.
ويمكنك أيضًا تصدير سجلّ الأحداث بالكامل ومشاركته إذا لزم الأمر.
ما يعجبني أيضًا هو أنّه يمكنكم استكشاف الأدوات الأخرى المتاحة، ففي "وضع مطور البرامج"، يمكنكم الاطّلاع على معلومات عن القمة، وقائمة الجلسات، وأدوات أخرى.
ويمكنك أيضًا تغيير البيئة لمحاكاة سياقات مختلفة للمستخدمين.
على سبيل المثال، يمكنك تغيير الوقت أو الإعدادات المفضّلة مثل اللغات، ويمكنك أيضًا إعداد المصادقة.
هذا هو "وضع المطوّر".
ويمكنكم البدء في إنشاء خادم MCP اليوم واختباره باستخدام "وضع المطوّر"، اعتبارًا من اليوم.
وهي متاحة للجميع الآن.
ولنعد إلى الشرائح.
حسنًا
لنفترض أنّكم اختبرتم الإعلانات باستخدام "وضع المطوّر"، وكل شيء يبدو على ما يرام، ما هي الخطوة التالية؟
عليك الاشتراك للوصول إلى منصتنا، وعليك ملء نموذج إبداء الاهتمام هذا أولاً.
وهي متاحة أيضًا في مستنداتنا وفي "وحدة التحكّم الشاملة من Google".
وبعد الموافقة على طلبك، سيُتاح لك الوصول إلى "وحدة التحكّم الشاملة من Google" حيث يمكنك إعداد تطبيقك لطرحه في الإصدار العلني.
داخل وحدة التحكّم، لا يتطلّب إعداد تطبيقك سوى بضع خطوات.
أولاً، عليك إنشاء تطبيق مرتبط جديد هناك وإدخال اسم له.
بعد ذلك، ما عليك سوى اختيار الإمكانات والفئة المناسبة.
على سبيل المثال، اخترنا في هذا المثال الإنتاجية، ثم انقر على "إنشاء".
بعد ذلك، ضمن تفاصيل التطبيق، عليك تقديم بيانات عامة، مثل الاسم المعروض والرمز، بالإضافة إلى وصف موجّه للمستخدمين وإمكانات التطبيق والقيود المفروضة عليه وأمثلة على الطلبات وغيرها من البيانات.
وعند ضبط خادم MCP، عليك تقديم نقطة النهاية.
عليك إثبات ملكيتك لهذا النطاق، ويمكنك أيضًا ضبط بيانات الاعتماد لأدوات المزامنة.
يُرجى العِلم أنّ Google Console تأخذ لقطة من مخطّط MCP، لذا عليك الرجوع وإعادة النشر كلما أجريت تغييرات على المخطّط.
وبعد ذلك، يمكنك ضبط مدى توفّر تطبيقك.
يمكنك اختيار المناطق التي تريد أن يتوفّر فيها تطبيقك، واللغات، ومساحات العرض، وإعدادات الأدوات الفردية الأخرى.
من هناك، يمكنك النقر على "إرسال التغييرات" (push changes) وإرسالها إلى Gemini Stage للمراجعة.
ويمكنك أيضًا إضافة حسابات اختبارية ضمن "إدارة المختبِرين".
ويمكنك اختباره على الفور باستخدام حسابات الاختبار هذه على الويب أو الأجهزة الجوّالة أو أي مساحات اخترتها سابقًا، مثل Gemini أو "بحث Google"، ثم إرساله للمعاينة النهائية.
وعندما يصبح تطبيقك جاهزًا، يمكنك طرحه في قناة الإصدار العلني على مستوى العالم للمستخدمين أو في مناطق محدّدة من خلال النقر على زر الإرسال.
هذا كل ما في الأمر!
نحن متحمّسون لرؤية ما يمكنك إنشاؤه باستخدام "منصة التطبيقات المرتبطة"، سواء كنت تعرض إمكانات تطبيقك من خلال خادم MCP عن بُعد أو من خلال MCP على Android.
يسرّنا مساعدتك في إنشاء عمليات الدمج الرائعة هذه.
ما عليك سوى اتّباع هذه المستندات والنماذج المتاحة باستخدام هذا الرمز الشريطي.
شكرًا جزيلاً على انضمامكم إلينا اليوم.
مع أطيب التحيّات،
from mcp.server.fastmcp import FastMCP
mcp = FastMCP(
name="ADS-MCP",
instructions=(
"A Model Context Protocol server providing event "
"overview, schedules, sessions, speakers, and "
"sandbox demos for the Android Developer Summit "
),
)@mcp.tool(
title="List Sessions",
annotations=ToolAnnotations(
readOnlyHint=True,
destructiveHint=False,
),
meta={ … },
)
def list_sessions( … )
…def list_sessions(
track: Optional[str] = None,
location: Optional[str] = None,
) -> List[Dict[str, Any]]:
"""Lists all sessions, optionally filtered by track
(e.g. 'Tools and performance', 'Apps Foundation',
'AI experiences', 'Android XR') or location
(e.g. 'MTV', 'Mountain View', 'London', 'LON').
"""
…@mcp.tool(
…
meta={
"ui": {
"resourceUri": "ui://ads-mcp/summit-app",
},
…
},
)
def list_sessions(…)
…@mcp.resource(
"ui://ads-mcp/summit-app",
name="summit-app",
mime_type="text/html",
)
def get_summit_ui() -> ResourceResult:
"""Renders the interactive ADS 2026 dashboard."""
return ResourceResult([
ResourceContent(
_build_summit_ui_html(),
mime_type="text/html",
)
])./venv/bin/python server.py
npx @modelcontextprotocol/inspectorgcloud run deploy ads-mcp-server