اهداف برنامه ناوبری را پیاده سازی کنید

Google Assistant از سه قالب مختلف هدف استفاده می کند که برنامه ناوبری شما می تواند پشتیبانی کند. می‌توانید با اعلام فیلترهای هدف به تفصیل در این صفحه در مانیفست برنامه خود، به قابلیت همکاری دست پیدا کنید و برنامه و دستیار Google خود را ادغام کنید. برای کسب اطلاعات بیشتر در مورد Intent، به Intent مراجعه کنید.

کلاس Intent برنامه پیمایش دستیار از اهداف زیر پشتیبانی می کند:

  • هدف ناوبری
  • هدف جستجو
  • قصد اقدام سفارشی

جریان داده هدف

شکل 1. جریان داده هدف.

پارامترها در داده های هدف

داده‌های Intent از یک فرمت URI پیروی می‌کنند که شامل پارامترهایی بر اساس هدفی است که شما ارسال می‌کنید. برخی از پارامترها همیشه در داده ها ارائه می شوند. این بدان معناست که شما می توانید انتظار داشته باشید که آنها همیشه یک مقدار صریح داشته باشند. با این حال، پارامترهای اختیاری همیشه مقداری در داده‌ها ندارند. برای اطلاعات بیشتر، به تست داده مراجعه کنید.

اهداف آفلاین

تمام اهداف فهرست شده در این صفحه انواع آفلاین خود را در دسترس دارند. شما می توانید آنها را با اضافه کردن .offline به طرح آنها متمایز کنید. به عنوان مثال، هدف ناوبری از طرح geo.offline استفاده می کند. این فیلترهای هدف در مانیفست نشان دهنده توانایی برنامه برای پشتیبانی آفلاین از این اقدامات است.

از یک هدف ناوبری برای انجام درخواست کاربر برای پیمایش به یک مقصد خاص استفاده کنید. این مقصد می تواند یک مکان واحد (آدرس) یا چندین مکان (به عنوان مثال، کافی شاپ ها و پمپ بنزین ها) باشد. داده های Intent از یک فرمت URI که برای هر intent مشخص شده است پیروی می کند.

قالب قصد

کلاس Intent از فرمت زیر برای هدف برنامه ناوبری استفاده می کند:

دسته: android.intent.category.DEFAULT

اقدام:

  • Android Auto و Android Automotive OS: 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

رفتار پیشنهادی برنامه: پیمایش به مکان مشخص شده شروع می شود یا از کاربر خواسته می شود از بین گزینه های متعدد انتخاب کند.

فیلترهای قصد آشکار

قالب هدف زیر را در فایل مانیفست برنامه خود اعلام کنید تا دستیار Google بداند که برنامه پیمایش شما می تواند اهداف پیمایش را دریافت کند.

همه عوامل شکل به جز Android Auto و Android Automotive OS:

<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 OS:

<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 اضافه کند. [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 حرکت کند.

ورود

برای ثبت منبع ورودی استفاده می شود.

مقادیر ممکن: دستیار

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

هدف جستجو

از یک هدف جستجو برای جستجوی یک درخواست و نمایش نتایج متعدد در طول مسیر در حین رانندگی استفاده کنید.

قالب قصد

کلاس Intent از فرمت زیر برای اهداف جستجو استفاده می کند:

دسته: android.intent.category.DEFAULT

اکشن: android.intent.action.VIEW

طرح: geo

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

رفتار پیشنهادی برنامه: فهرستی از مکان‌های متناسب با درخواست کاربر را باز کنید.

فیلترهای قصد آشکار

قالب intent زیر را در فایل مانیفست برنامه خود اعلام کنید تا دستیار Google بداند که برنامه پیمایش شما می تواند اهداف جستجو را دریافت کند:

<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 query تعریف می شود. بسته به نوع عمل می توانید پارامترهای اضافی را تنظیم کنید.

قالب قصد

کلاس Intent از فرمت زیر برای intent اقدام سفارشی استفاده می کند:

دسته: android.intent.category.DEFAULT

اکشن: android.intent.action.VIEW

طرح: geo.action

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

فیلترهای قصد آشکار

قالب هدف زیر را در فایل مانیفست برنامه خود اعلام کنید تا به دستیار Google اطلاع دهید که برنامه پیمایش شما می‌تواند اهداف اقدام سفارشی را دریافت کند.

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

پارامترهای ارائه شده

انتظار می رود پارامترهای زیر در داده های هدف اقدام سفارشی ارائه شده در دسترس باشند:

نوع عمل

نوع اقدام سفارشی را که کاربر می خواهد انجام دهد را مشخص می کند.

کلید پارامتر: 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 را پشتیبانی کند.

مقادیر ممکن

جدول مقادیر احتمالی را فهرست می‌کند که دستیار Google می‌تواند به عنوان عملکردی که کاربر در تلاش است در برنامه ناوبری انجام دهد انجام دهد.

ارزش توضیحات کلیدهای پارامتر اختیاری مقادیر پارامتر اختیاری
allow_ferries ترجیح مسیر را تغییر دهید تا کشتی‌ها مجاز باشند.
allow_highways اولویت مسیر را تغییر دهید تا بزرگراه‌ها مجاز باشند.
allow_tolls برای مجاز کردن عوارض، اولویت مسیر را تغییر دهید.
apply_electric_vehicle_connector_filter فقط مکان‌های شارژ EV را نشان دهید که با کانکتور خودرو مطابقت دارند.
apply_electric_vehicle_fast_charging_filter فقط مکان‌های شارژ EV را نشان دهید که شارژرهای سریع هستند.
apply_electric_vehicle_payment_filter فقط مکان‌های شارژ EV را نشان دهید که نیاز به پرداخت دارند.
avoid_ferries برای اجتناب از کشتی، اولویت مسیر را تغییر دهید.
avoid_highways ترجیح مسیر را تغییر دهید تا از بزرگراه‌ها اجتناب کنید.
avoid_tolls برای جلوگیری از عوارض، اولویت مسیر را تغییر دهید.
clear_search_results نتایج جستجو را روی نقشه پاک کنید.
distance_to_destination نشان دادن فاصله تا مقصد
distance_to_next_turn فاصله تا پیچ بعدی را نشان دهید.
eta ETA را به مقصد نشان دهید.
exit_navigation خروج یا لغو ناوبری.
follow_mode نمای نقشه را به حالت دنبال کردن تغییر دهید.
go_back به عملکرد نقشه قبلی برگردید.
hide_satellite برای پنهان کردن اطلاعات ماهواره، تنظیمات نقشه را تغییر دهید.
hide_traffic برای پنهان کردن اطلاعات ترافیک، تنظیمات نقشه را تغییر دهید.
mute راهنمای صوتی را بی صدا کنید.
query_current_road نشان دهید جاده فعلی کاربر در کدام جاده است.
query_destination نشان دهید مقصد چیست.
query_next_turn نشان دهید نوبت بعدی چیست.
remove_electric_vehicle_connector_filter فیلتر مکان‌های شارژ EV را که با کانکتور خودرو مطابقت دارند حذف کنید.
remove_electric_vehicle_fast_charging_filter فیلتر را برای مکان‌های شارژ EV که شارژرهای سریع هستند حذف کنید.
remove_electric_vehicle_payment_filter فیلتر را برای مکان‌های شارژ EV که نیاز به پرداخت دارند حذف کنید.
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
resume_navigation از سرگیری ناوبری
route_overview نمایش نمای کلی مسیر
show_alternates نمایش مسیرهای جایگزین
show_directions_list نمایش دستورالعمل های گام به گام
show_satellite نمایش اطلاعات ماهواره بر روی نقشه
show_traffic نمایش ترافیک روی نقشه
time_to_destination ETA را به مقصد نشان دهید.
time_to_next_turn ETA را به نوبت بعدی نشان دهید.
unmute لغو نادیده گرفتن راهنمایی صوتی.