تنفيذ نوايا تطبيقات التنقّل

يستخدم Gemini ثلاثة أشكال مختلفة من الأهداف التي يمكن أن يتيحها تطبيق التنقّل. يمكنك تحقيق إمكانية التشغيل التفاعلي ودمج تطبيقك مع Gemini من خلال تعريف فلاتر الأهداف الموضّحة في هذه الصفحة في بيان تطبيقك. لمزيد من المعلومات عن الأهداف، يُرجى الاطّلاع على Intent.

يتوافق صف Intent لتطبيق التنقّل في Gemini مع الأهداف التالية:

  • نية التنقّل
  • النية من عملية البحث
  • نية الإجراء المخصّص

تدفّق بيانات النية

الشكل 1: تدفّق بيانات النية

المَعلمات في بيانات القصد

تتّبع بيانات Intent تنسيق معرّف الموارد المنتظم (URI) الذي يحتوي على مَعلمات استنادًا إلى Intent التي يتم تمريرها. يتم دائمًا توفير بعض المَعلمات في البيانات. وهذا يعني أنّه يمكنك توقّع أن يكون لها قيمة صريحة دائمًا. ومع ذلك، لا تتضمّن المَعلمات الاختيارية دائمًا قيمة محدّدة في البيانات. لمزيد من المعلومات، يُرجى الاطّلاع على اختبار البيانات.

الطلبات بلا إنترنت

تتوفّر صيغ بلا إنترنت لجميع الأهداف المُدرَجة في هذه الصفحة. يمكنك التمييز بينها من خلال إضافة .offline إلى مخططها. على سبيل المثال، يستخدم الغرض من التنقّل المخطط geo.offline. تشير فلاتر الأهداف هذه في البيان إلى قدرة التطبيق على تنفيذ هذه الإجراءات بلا اتصال بالإنترنت.

استخدِم نية التنقّل لتلبية طلب المستخدم بالتنقّل إلى وجهة معيّنة. يمكن أن تكون هذه الوجهة موقعًا جغرافيًا واحدًا (عنوانًا) أو مواقع جغرافية متعددة (مثل المقاهي ومحطات الوقود). تتّبع بيانات النية تنسيق معرّف موارد منتظم (URI) محدّدًا لكل نية.

تنسيق Intent

تستخدم الفئة Intent التنسيق التالي لغرض تطبيق التنقّل:

الفئة: android.intent.category.DEFAULT

الإجراء:

  • ‫Android Auto ونظام التشغيل Android Automotive: androidx.car.app.action.NAVIGATE
  • أشكال الأجهزة الأخرى: android.intent.action.NAVIGATE

النظام: geo

أمثلة:

  • geo:0,0?q=Googleplex
  • geo:0,0?q=1600+Amphitheatre+parkway&mode=b&intent=add_a_stop
  • geo:0,0?q=coffee+shop&mode=w&intent=navigation
  • geo:1.1,2.2?q=Starbucks+on+Main+Street&mode=w&intent=navigation

سلوك التطبيق المقترَح: يبدأ التنقّل إلى الموقع الجغرافي المحدّد أو يُطلب من المستخدم الاختيار من بين عدة خيارات.

فلاتر الأهداف في ملف البيان

عليك تعريف تنسيق الغرض التالي في ملف البيان الخاص بتطبيقك لكي يعرف Gemini أنّ تطبيقك الخاص بالملاحة يمكنه تلقّي أغراض الملاحة.

جميع أشكال الأجهزة باستثناء Android Auto ونظام التشغيل Android Automotive:

<intent-filter>
  <action android:name="android.intent.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

‫Android Auto ونظام التشغيل Android Automotive:

<intent-filter>
  <action android:name="androidx.car.app.action.NAVIGATE" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

المَعلمات المقدَّمة

من المتوقّع أن تتوفّر المَعلمات التالية في بيانات هدف تطبيق الملاحة المقدَّمة.

طلب البحث عن الموقع الجغرافي أو الإحداثيات الجغرافية

يحتوي كل طلب بحث يتضمّن نية التنقّل على إحدى هاتين المَعلمتَين أو كلتيهما، وذلك حسب نوع البيانات المطلوبة:

  • طلب البحث عن الموقع الجغرافي

    تشير إلى الموقع الجغرافي الذي يحاول المستخدم الانتقال إليه. استخدِم هذه البيانات لتحديد وجهة المستخدم.

    مفتاح المَعلمة: q
    القيمة: الوجهة التي بحث عنها المستخدم.

    مثال: geo:0,0?q=Golden+Gate+Bridge
    التفسير: يريد المستخدم الانتقال إلى جسر البوابة الذهبية.

  • الإحداثيات الجغرافية (خط العرض وخط الطول)

    تشير إلى إحداثيات معيّنة يستخدمها المستخدم للتنقّل.

    مفتاح المَعلمة: geo:lat,long
    القيمة: الإحداثيات التي طلب المستخدم البحث عنها.

    مثال: geo:1.1,2.2?mode=w&intent=navigation
    التفسير: يريد المستخدم الانتقال إلى الإحداثيات (1.1، 2.2).

المعلمات الاختيارية

يتم توضيح المَعلمات الاختيارية المقدَّمة في بيانات الغرض من تطبيق الملاحة في هذا القسم.

النية

تُحدِّد هذه السمة الغرض من بحث المستخدم. إذا لم يتم ضبط هذه المَعلمة، سيتم اعتبار نية المستخدم التلقائية على أنّها navigation.

مفتاح المَعلمة: intent
القيم المحتملة:

  • navigation [القيمة التلقائية]: تستبدل الوجهة وتبدأ التنقّل. استخدِم هذه الميزة لطلبات البحث مثل الانتقال إلى x.
  • add_a_stop: يضيف المحطة كوجهة تالية مع الوجهات السابقة. استخدِم هذه الطريقة لطلبات البحث مثل إضافة محطة في x.
  • directions: يعرض اتجاهات المسار بدون بدء التنقّل. استخدِم هذه الميزة لطلبات البحث مثل الاتجاهات إلى x.

مثال: geo:47.61594547836694,-122.20373173098756?q=575+Bellevue+Square,+Bellevue,+WA+98004&intent=add_a_stop التفسير: يريد المستخدم إضافة محطة توقّف إلى Bellevue Square في مدينة بلفيو، بالإحداثيات الحالية [47.6, -122.2].

تجنب

تحدّد هذه السمة الأمور الواجب تجنُّبها أثناء التنقّل.

مفتاح المَعلمة: avoid
القيم المحتملة:

  • f - عبّارات
  • h - طرق سريعة
  • t - رسوم عبور

مثال: geo:0,0?q=googleplex&avoid=tf
التفسير: يريد المستخدم الانتقال إلى Googleplex مع تجنُّب الطرق التي تتضمّن رسومًا وعبّارات.

وضع السفر

تمثّل هذه السمة وسيلة النقل المحدّدة في طلب البحث من قِبل المستخدم.

مفتاح المَعلمة: mode
القيم المحتملة:

  • b - دراجة
  • d - القيادة
  • x - سيارة أجرة
  • l - درّاجة نارية
  • r - نقل عام
  • w - مشي

مثال: geo:0,0?q=Googleplex&mode=r
التفسير: يريد المستخدم الانتقال إلى Googleplex باستخدام وسائل النقل العام.

Entry

تُستخدَم لتسجيل مصدر الإدخال.

القيم المحتملة: assistant

مثال: geo:47.61594547836694,-122.20373173098756?entry=assistant

النية من عملية البحث

استخدِم النية من عملية البحث للبحث عن طلب بحث وعرض نتائج متعددة على طول المسار أثناء القيادة.

تنسيق Intent

تستخدم الفئة Intent التنسيق التالي لطلبات البحث:

الفئة: android.intent.category.DEFAULT

الإجراء: android.intent.action.VIEW

النظام: geo

مثال: geo:0,0?q=restaurants+nearby

سلوك التطبيق المقترَح: فتح قائمة بالمواقع الجغرافية التي تتطابق مع طلب بحث المستخدم

فلاتر الأهداف في ملف البيان

يُرجى تعريف تنسيق الغرض التالي في ملف البيان الخاص بتطبيقك لكي يعرف Gemini أنّ تطبيقك الخاص بالملاحة يمكنه تلقّي أغراض البحث:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo" />
</intent-filter>

المَعلمات المقدَّمة

من المتوقّع أن تتوفّر المَعلمات التالية في بيانات النية من عملية البحث المقدَّمة.

طلب الموقع الجغرافي

طلب البحث عن موقع جغرافي هو الموقع الجغرافي الذي يبحث عنه المستخدم أثناء القيادة. قد يكون هذا الطلب غير دقيق أو على طول مسار تنقّل نشط.

مفتاح المَعلمة: q
القيمة: عبارة البحث التي أدخلها المستخدم، والتي يمكن أن تكون نوع موقع جغرافي، مثل مقهى أو كلية، ولكن يمكن أن تتضمّن أيضًا أدوات تحديد الكمية، مثل -بالقرب مني أو -مع أفضل تقييم.

مثال: geo:0,0?q=restaurants+nearby
التفسير: يريد المستخدم البحث عن مطاعم قريبة.

نية الإجراء المخصّص

استخدِم نية مخصّصة لإجراءات مخصّصة، مثل الإبلاغ عن الحوادث وإنهاء التنقّل. يتم تحديد نوع الإجراء الرئيسي من خلال مَعلمة طلب البحث act. يمكنك ضبط مَعلَمات إضافية حسب نوع الإجراء.

تنسيق Intent

تستخدِم الفئة Intent التنسيق التالي لغرض الإجراء المخصّص:

الفئة: android.intent.category.DEFAULT

الإجراء: android.intent.action.VIEW

النظام: geo.action

مثال: geo.action:?act=report&accident_type=major

فلاتر الأهداف في ملف البيان

عليك تعريف تنسيق الغرض التالي في ملف البيان الخاص بتطبيقك لإعلام Gemini بأنّ تطبيقك المخصّص للملاحة يمكنه تلقّي أغراض إجراءات مخصّصة.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT"/>
  <data android:scheme="geo.action" />
</intent-filter>

المَعلمات المقدَّمة

من المتوقّع أن تتوفّر المَعلمات التالية في بيانات Custom Action intent المقدَّمة:

نوع الإجراء

تحدّد هذه السمة نوع الإجراء المخصّص الذي يريد المستخدم تنفيذه.

مفتاح المَعلمة: act

أمثلة:

  • geo.action:?act=report_crash&accident_type=major
    التفسير: يريد المستخدم الإبلاغ عن حادث كبير.

  • geo.action:?act=mute
    التفسير: يريد المستخدم كتم التعليمات الصوتية.

  • geo.action:?act=exit_navigation
    التفسير: يريد المستخدم الخروج من عملية التنقّل الحالية.

سلوك التطبيق المقترَح: تنفيذ الإجراء المطلوب في تطبيق الخرائط أو عرض رسالة تفيد بأنّ الإجراء غير متاح.

يوضّح الشكل التالي مثالاً على أزواج المفتاح/القيمة في طلب البحث عن الردّ:

تدفق بيانات نية الإجراء المخصّص

الشكل 2: تدفق بيانات نية الإجراء المخصّص

زوج المفتاح/القيمة:

"act": "report_crash"
"road_direction": other_side"

تحتوي كلّ إجراء مخصّص دائمًا على المَعلمة act كمفتاح. في نموذج الرمز البرمجي المذكور أعلاه، يمكن أن تتضمّن بعض الإجراءات أزواج مفتاح/قيمة إضافية. على سبيل المثال، تتيح act=report_crash استخدام المفتاحين الإضافيين التاليين: accident_type وroad_direction.

يمكن أن يتوافق المفتاح accident_type مع قيمتين، هما minor وmajor.

القيم المحتملة

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

القيمة الوصف مفاتيح المَعلمات الاختيارية قيم المَعلمات الاختيارية
allow_ferries غيِّر إعدادات المسار المفضّلة للسماح باستخدام العبّارات.
allow_highways غيِّر إعدادات المسار المفضّل للسماح باستخدام الطرق السريعة.
allow_tolls تغيير الإعدادات المفضّلة للمسار للسماح بالمرور عبر الطرق التي يتم فيها تحصيل رسوم
avoid_ferries تغيير إعدادات المسار المفضّلة لتجنُّب العبّارات
avoid_highways تغيير إعدادات المسار المفضّل لتجنُّب الطرق السريعة
avoid_tolls تغيير إعدادات المسار المفضّلة لتجنُّب رسوم العبور
distance_to_destination عرض المسافة إلى الوجهة
distance_to_next_turn عرض المسافة إلى المنعطف التالي
eta عرض الوقت المقدَّر للوصول إلى الوجهة
exit_navigation الخروج من التنقّل أو إلغاؤه
follow_mode تغيير طريقة عرض الخريطة إلى "وضع التتبُّع"
go_back الرجوع إلى إجراء على الخريطة السابق
hide_satellite غيِّر إعدادات الخريطة لإخفاء معلومات القمر الصناعي.
hide_traffic غيِّر إعدادات الخريطة لإخفاء معلومات حركة المرور.
mute أُرِيدْ كَتْمْ صَوْتِ الْإِرْشَادِ الصَّوْتِي.
query_current_road عرض الطريق الحالي الذي يسلكه المستخدم
query_destination عرض الوجهة
query_next_turn عرض المنعطف التالي
report_crash الإبلاغ عن الأعطال accident_type minor
major
road_direction this_side
other_side
report_hazard الإبلاغ عن المخاطر hazard_type animal
broken_traffic_light
construction
flooding
fog
hail
ice
missing_sign
object_on_road
pothole
roadkill
snow
vehicle
weather
road_direction this_side
other_side
location_on_road on_road
on_shoulder
report_police الإبلاغ عن نشاط للشرطة road_direction this_side
other_side
report_road_closure الإبلاغ عن حالات إغلاق الطرق road_closure_type partial
full
report_traffic الإبلاغ عن حركة المرور traffic_type moderate
heavy
standstill
road_direction this_side
other_side
route_overview عرض نظرة عامة على المسار
show_alternates عرض المسارات البديلة
show_directions_list عرض الاتّجاهات المفصّلة
show_satellite عرض معلومات القمر الصناعي على الخريطة
show_traffic عرض حركة المرور على الخريطة
time_to_destination عرض الوقت المقدَّر للوصول إلى الوجهة
time_to_next_turn عرض الوقت المقدَّر للوصول إلى المنعطف التالي
unmute إعادة صوت الإرشاد الصوتي

استرداد حالة التنقّل

للمساعدة في ضمان قدرة Gemini على تقديم معلومات دقيقة في الوقت الفعلي للمستخدم عندما يسأل عن حالة رحلته، يجب أن يوفّر تطبيقك بيانات وصفية للتنقّل باستخدام NavigationManager خدمة السيارة. للحصول على إرشادات التنفيذ، راجِع مقالة توفير البيانات الوصفية الخاصة بالتنقّل.