الأسئلة الشائعة

تفاصيل المنتج

الشبكة وإمكانية الاتصال

البيانات

تخصيص واجهة المستخدم

التوجيه

مُحاكي

Workflows

خدمات التنقّل

تفاصيل المنتج

يجب أن يعرض تطبيقك مربّع حوار يتضمّن إشعار بنود خدمة Navigation SDK الذي يجب أن يوافق عليه كل مستخدم. يمنح مربّع الحوار هذا المستخدم فرصة الموافقة على بنود الخدمة. يتم توفير ملف نصي يتضمّن البنود مع حزمة تطوير البرامج (SDK) للتنقّل. استخدِم الطريقة NavigationApi.showTermsAndConditionsDialog لعرض مربّع الحوار الذي يحتوي على البنود.
تتوفّر تلقائيًا أي لغات متوافقة مع تطبيق "خرائط Google" للأجهزة الجوّالة في حزمة تطوير البرامج (SDK) للتنقّل. يحتوي الجهاز على لغة نظام افتراضية ولا يمكن للتطبيق تغيير هذا الإعداد؛ ومع ذلك، يمكن للتطبيق الوصول إلى أكثر من 70 لغة.

نعم. بعد بدء تشغيل LocationListener، يستمر تشغيله في الخلفية. يواصل تطبيقك تثبيت الموقع على الطريق ويحافظ على الاتجاه.

نعم. عند إنشاء مسار أو تغييره، يوفّر RouteChangeListener خطوطًا متعدّدة.

لا، لا تتطلّب حزمة Navigation SDK تثبيت تطبيق "خرائط Google" للأجهزة الجوّالة على الجهاز.
لا، لا توفّر حزمة تطوير البرامج (SDK) للتنقّل هذه الميزة في الوقت الحالي.
نعم. يتوفّر اتجاه حركة المرور ويتم عرضه تلقائيًا.
ما هي إصدارات JDK التي تتوافق مع حزمة تطوير البرامج Navigation SDK؟
تتوافق حزمة تطوير البرامج (SDK) للتنقّل مع إصدارات الدعم الطويل الأمد (LTS) من Java SE التي توفّرها Oracle بشكل نشط. يتم إدراج هذه الإصدارات على أنّها تتضمّن دعمًا مميزًا في خطة دعم Oracle Java SE.

الشبكة وإمكانية الاتصال

كيف تتعامل حزمة تطوير البرامج (SDK) للتنقّل مع الاتصال الضعيف بالشبكة؟
تخزّن حزمة تطوير البرامج (SDK) للتنقّل المسار مؤقتًا لكل رحلة. وتشمل المعلومات المخزّنة مؤقتًا معلومات المسار لمدة تتراوح بين 15 و20 دقيقة، والمسارات البديلة في حال انحراف المستخدم عن المسار. تستخدم حزمة تطوير البرامج (SDK) للتنقّل نظام تحديد المواقع العالمي (GPS) وأدوات الاستشعار في الجهاز لتحديد الموقع الجغرافي التقريبي.
كيف تتعامل حزمة تطوير البرامج (SDK) للتنقّل مع إشارات نظام تحديد المواقع العالمي (GPS) الضعيفة أو المفقودة؟

بعد بدء التنقّل وتلقّي حزمة تطوير البرامج (SDK) للتنقّل إشارة نظام تحديد المواقع العالمي (GPS) مرة واحدة على الأقل، ستعرض رسالة "جارٍ البحث عن نظام تحديد المواقع العالمي (GPS)..." في الحالات التالية:

  • إذا مرّت أكثر من 10 ثوانٍ منذ آخر مرة تلقّى فيها إشارة GPS
  • إذا تغيّر موقع التوجيه بأكثر من 500 متر منذ آخر مرة تلقّى فيها إشارة GPS

إذا لم تتلقّى حزمة تطوير البرامج (SDK) إشارة GPS لفترة طويلة، قد يتباطأ التقدّم على طول المسار، والذي يظهر في التطبيق من خلال موضع علامة الرتبة العسكرية، إلى أن يتوقف تمامًا. في هذه الحالة، سيبقى رمز السهم على الخريطة في الموقع الجغرافي الذي تشير إليه آخر إشارة لنظام تحديد المواقع العالمي (GPS). لن تخرج حزمة تطوير البرامج (SDK) تلقائيًا من وضع التنقّل نتيجة عدم تلقّي إشارة GPS. ومع ذلك، قد لا يتمكّن من تقديم إرشادات إلى أن يتلقّى إشارة مرة أخرى.

هل يتوفّر وضع عدم الاتصال بالإنترنت؟
لا، لا توفّر حزمة تطوير البرامج (SDK) الخاصة بالتنقّل وضع عدم الاتصال بالإنترنت في الوقت الحالي، ولكنّها توفّر معلومات مخزّنة مؤقتًا لرحلة معيّنة.

البيانات

هل يمكنني استرداد جميع محطات التوقف/الوجهات في رحلة قبل بدء المسار؟

نعم. لاسترداد اتجاهات مسار معيّن، يمكنك استدعاء Navigator.getRouteSegments().

هل تتوفّر إرشادات المسار المفصّلة في بداية المسار؟
نعم. توفّر حزمة تطوير البرامج (SDK) للتنقّل قائمة بأجزاء المسار. بالإضافة إلى ذلك، يمكن للمستخدم التمرير عبر بطاقة الاتجاهات في العنوان لمشاهدة كل مناورة.
كيف يتم إبلاغ مستخدمي التطبيق بالوقت المقدَّر للوصول؟

اتّبِع الخطوات التالية لتقديم معلومات الوقت المقدَّر للوصول إلى مستخدمي التطبيق:

  1. استرداد الوقت والمسافة لجميع النقاط على المسار باستخدام Navigator.getTimeAndDistanceList()
  2. أعِد توجيه هذه المعلومات إلى تطبيق العميل كما تفعل مع الوقت المقدَّر لوصول السائق.
هل يمكن استخدام RoadSnappedLocationProvider للحصول على الموقع الجغرافي الحالي للمستخدم إذا لم يكن التنقّل في المقدّمة؟

نعم. يتم تشغيل RoadSnappedLocationProvider في الخلفية تلقائيًا.

هل تتيح حزمة تطوير البرامج (SDK) للتنقّل استخدام الحدود الجغرافية؟

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

يمكنك استخدام remainingTimeOrdistanceChangeListener لتقريب هذه الميزة.

  1. اضبط الحدّ الأدنى لتحديد معدّل تكرار عمليات معاودة الاتصال.
  2. تحقَّق من المسافة المتبقية إلى الوجهة.

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

هل يمكنني إيقاف الإشعارات عندما يكون تطبيق "التنقّل" في الخلفية؟

نعم. استخدِم Navigator.setHeadsUpNotificationEnabled للتحكّم في الإشعارات. تحتوي هذه الطريقة على وسيطة منطقية. يؤدي الخيار FALSE إلى إيقاف الإشعارات، بينما يؤدي الخيار TRUE إلى تفعيلها.

يتتبّع مسجّل المعاملات عمليات الاستلام والتسليم باستخدام معرّف فريد، والذي تسجّله Google لأغراض إحصاءات المنتجات. إذا كنت من عملاء خدمات التنقّل، تنصحك Google بتنفيذ NavigationTransactionRecorder لتسجيل معاملاتك.

تخصيص واجهة المستخدم

هل يمكنني ترميز أفضل خيار للمسار بالألوان؟
لا، لا يتوفّر حاليًا خيار الترميز اللوني لمسار معيّن.
هل يمكن أن تعرض حزمة تطوير البرامج (SDK) للتنقّل الوقت المتوقّع للوصول إلى الوجهة النهائية؟

نعم. استخدِم الطرق التالية:

  1. استرداد الوقت والمسافة لجميع النقاط على المسار باستخدام Navigator.getTimeAndDistanceList()
  2. يمكنك إخفاء الوقت المتوقّع للوصول إلى النقطة الحالية على المسار باستخدام NavigationFragment.setEtaCardEnabled(false).
  3. عرض الوقت المقدَّر للوصول إلى الوجهة النهائية
كيف يمكنني إخفاء تعديلات الوقت المقدَّر للوصول؟

يمكنك إيقاف بطاقات الوقت المقدّر للوصول من خلال استدعاء navigationView.setEtaCardEnabled(false).

ما هي تخصيصات واجهة المستخدم المتاحة لبطاقات الرأس والتذييل؟

استخدِم StylingOptions لضبط نمط لون الخلفية. لإخفاء أو إظهار الرأس والتذييل، استخدِم دالتي العضو setHeaderEnabled وsetFooterEnabled في NavigationFragment.

التوجيه

هل يمكنني توفير مسار محدّد للمستخدم أو إزالة المسارات البديلة؟
لا، يتم تلقائيًا توفير مسارات متعددة، وتكون الأولوية للمسار الأسرع. يمكنك التأثير في المسار التلقائي من خلال إضافة إعدادات مفضّلة، مثل "تجنُّب الطرق السريعة ورسوم العبور"، إلى طلبك. تؤثر إضافة النقاط على المسار أيضًا في المسار.
هل يمكنني عرض تصنيف مختلف للوجهة لمستخدم التطبيق عن الموقع الجغرافي التلقائي للوجهة؟

نعم. أنشئ Marker بعنوان مخصّص للوجهة وخط العرض/خط الطول. تعرض Navigation SDK العنوان المخصّص والإحداثيات على NavigationMap.

هل يمكنني استخدام حزمة Navigation SDK لتتبُّع الانحرافات عن مسار محدّد؟

نعم. استخدِم Navigator.setRouteChangedListener لتلقّي إشعارات عند تغيير مسار أو اقتراح مسار جديد:

  1. سجِّل مستمعًا يتحقّق من موضع الجهاز على طول المسار باستخدام طريقة Navigator.setRouteChangedListener.
  2. أضِف الرمز إلى معالج أحداث عمليات الاستدعاء، onRouteChanged:
    • أرسِل رسالة إلى مستخدم التطبيق تتضمّن معلومات محدّثة عن الوقت المقدَّر للوصول والمسافة.
    • تتبُّع الموقع الجغرافي للجهاز
    • [اختياري] أضِف ميزات أخرى يتطلبها تطبيقك للتعامل معها عندما يكون المستخدم خارج المسار المحدّد.
هل يمكن للمستخدم الخروج من التنقّل بدون إكمال المسار؟

نعم. استدعِ طريقة Navigator.stopGuidance لإيقاف التنقّل.

هل تتيح "حزمة تطوير البرامج للتنقّل" تحديد المسارات والتنقّل للشاحنات والمركبات الكبيرة؟

نعم. باستخدام ميزة "توجيه المركبات الكبيرة" (LVR)، يمكنك تمرير رموز المسارات المميّزة الخاصة بالشاحنات التي تم إنشاؤها بواسطة Routes API أو Route Optimization API إلى حزمة تطوير البرامج (SDK) الخاصة بالتنقّل. توفّر حزمة تطوير البرامج (SDK) اتجاهات مفصّلة مع وسائل شرح للمسار (الارتفاع والوزن والمواد الخطرة والقيود المفروضة على الشاحنات) وتحافظ على الملف الشخصي المادي للمركبة أثناء إعادة التوجيه الديناميكية. لمعرفة التفاصيل، يُرجى الاطّلاع على المقالة التنقّل في مسارات المركبات الكبيرة.

مُحاكي

هل تتيح المحاكاة تغيير المسار؟

نعم. يمكنك استدعاء simulateLocationsAlongNewRoute لمحاكاة رحلة تتضمّن تغييرًا في المسار. تتجاهل طريقة simulateLocationsAlongExistingRoute التغييرات التي تطرأ على المسار الحالي.

Workflows

كيف يمكنني إغلاق الإشعار بعد إغلاق نشاط يحتوي على جزء تنقّل؟

يظل إشعار التنقّل مرئيًا أثناء التنقّل، عند إغلاق النشاط. عند وصول المركبة إلى الوجهة، تتوقف عملية التنقّل ويختفي الإشعار.

للتعامل مع النقرات على الإشعار، استخدِم Navigator.startGuidance(intent resumeIntent). يتم تنشيط resume intent عندما ينقر مستخدم التطبيق على الإشعار. عادةً ما يتم استدعاء Navigator.startguidance(getIntent()) من النشاط الرئيسي، والذي يستدعي النشاط عندما ينقر مستخدم التطبيق على الإشعار.

خدمات التنقّل

ما هي أوجه الاختلاف في استخدام حزمة تطوير البرامج (SDK) للتنقّل لعملاء "خدمات التنقّل"؟

تقدّم خدمات التنقّل في "منصة خرائط Google" مجموعة من واجهات برمجة التطبيقات وحزم تطوير البرامج (SDK) للمساعدة في تلبية احتياجات المؤسسات في مجال النقل والخدمات اللوجستية. بالنسبة إلى عملاء "خدمات التنقّل"، يتم عادةً استخدام حزمة تطوير البرامج (SDK) للتنقّل مع الخدمات ذات الصلة لتحسين المسار والإرسال وتتبُّع المهام وإحصاءات الأسطول وغير ذلك. تختلف أيضًا طريقة فوترة حزمة تطوير البرامج (SDK) للتنقّل لعملاء "خدمات التنقّل". لمزيد من المعلومات، يُرجى الاطّلاع على مستندات Mobility Services.

تتوفّر منتجات التنقّل حاليًا لعملاء محدّدين فقط. يُرجى التواصل مع ممثل المبيعات للحصول على مزيد من المعلومات.

كيف يمكنني معرفة ما إذا كنتُ من عملاء "خدمات التنقّل"؟
إذا لم تكن متأكدًا مما إذا كنت تستخدم حاليًا حزمة تطوير البرامج (SDK) للتنقّل كعميل في "خدمات التنقّل"، ابحث عن طلب ReportBillableEvent في الرمز البرمجي. يجب ألا يستدعي طريقة ReportBillableEvent سوى عملاء Mobility Services.

كيف يتم تحصيل رسوم "حزمة تطوير البرامج للتنقّل" من عملاء "خدمات التنقّل"؟
بالنسبة إلى عملاء "خدمات التنقّل"، تعتمد الفوترة والأسعار في Navigation SDK على اتفاقية الخدمة المبرمة مع "منصة خرائط Google". للحصول على معلومات حول التحقّق من فوترة عملية تنفيذ Mobility Services بشكل صحيح، يُرجى الاطّلاع على التحقّق من الفوترة. لمزيد من المعلومات حول فوترة "خدمات التنقّل"، يُرجى التواصل مع ممثل المبيعات.

ما هي واجهات برمجة التطبيقات في Navigation SDK التي يجب أن يستخدمها عملاء "خدمات التنقّل" فقط؟

هناك العديد من واجهات برمجة التطبيقات في Navigation SDK المخصّصة للاستخدام فقط من قِبل عملاء خدمات التنقّل، والذين تحصّل Google رسومًا منهم على أساس كل معاملة. إذا لم تكن من عملاء Mobility Services، لن تؤدي الطرق التالية أي وظيفة:

إذا كنت أحد عملاء "خدمات التنقّل"، هل يمكنني أيضًا استخدام حزمة Navigation SDK غير مخصّصة لـ "خدمات التنقّل"؟

نعم، يمكن لعملاء "خدمات التنقّل" استخدام كلّ من عمليات تنفيذ "خدمات التنقّل" وغير "خدمات التنقّل" في حزمة Navigation SDK. ومع ذلك، يمكنك استخدام نوع تنفيذ واحد فقط في التطبيق في كل مرة. عليك أيضًا إنشاء مشروع جديد على Google Cloud وحساب فوترة ومفتاح واجهة برمجة تطبيقات، بشكل منفصل عن تلك التي تستخدمها مع عملية تنفيذ "خدمات التنقّل". لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على إعداد حزمة تطوير البرامج (SDK) الخاصة بالتنقّل.

لمزيد من المعلومات حول استخدام Navigation SDK بدون تنفيذ خدمات التنقّل، بما في ذلك نقل تطبيق من نوع تنفيذ إلى آخر، يُرجى التواصل مع ممثل حساب Google.

ملاحظة: إذا لم تكن من عملاء "خدمات التنقّل" حاليًا وكنت مهتمًا بمعرفة المزيد عن مجموعة واجهات برمجة التطبيقات وحِزم تطوير البرامج (SDK) في "خدمات التنقّل"، يُرجى التواصل مع فريق مبيعات "منصة خرائط Google".