دليل التحسين

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

يشرح هذا الدليل عدة استراتيجيات لتحسين استخدام واجهات برمجة التطبيقات API في "خرائط Google" من حيث الأمان والأداء والاستهلاك.

الأمان

مراجعة أفضل ممارسات الأمان

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

استخدام مفاتيح واجهة برمجة التطبيقات للوصول إلى Maps API

مفاتيح واجهة برمجة التطبيقات هي طريقة المصادقة المفضلة للوصول إلى واجهات برمجة تطبيقات Google Maps API. إنّ استخدام معرّفات العملاء لا يزال متاحًا في الوقت الحالي، لكنّ مفاتيح واجهة برمجة التطبيقات تتوافق مع عناصر تحكّم أكثر دقة ويمكن ضبطها للعمل مع عناوين ويب محدّدة وعناوين IP وحزم SDK للأجهزة الجوّالة (Android وiOS). للحصول على معلومات حول إنشاء مفتاح واجهة برمجة تطبيقات وتأمينه، انتقِل إلى صفحة "استخدام مفتاح واجهة برمجة تطبيقات" لكل واجهة برمجة تطبيقات أو حزمة تطوير برامج (SDK). (على سبيل المثال، بالنسبة إلى واجهة برمجة تطبيقات JavaScript للخرائط، انتقِل إلى صفحتها عن استخدام مفتاح واجهة برمجة تطبيقات).

الأداء

استخدام الترجيع الأسي للتعامل مع الأخطاء

إذا كانت تطبيقاتك تواجه أخطاء من المحاولات الزائدة لاستدعاء واجهة برمجة تطبيقات خلال فترة زمنية قصيرة، مثل أخطاء QPS، يمكنك استخدام التراجع الأسي للسماح بمعالجة الطلبات.

تُعدّ عملية التراجع الأسي أكثر فائدةً بالنسبة إلى الأخطاء في الخمسينيات. لمزيد من المعلومات، يمكنك الاطّلاع على التعامل مع رموز حالة عرض HTTP.

وتحديدًا، يمكنك تعديل سرعة طلبات البحث. في الرمز، أضِف فترة انتظار مدتها S ثانية بين طلبات البحث. إذا كان طلب البحث لا يزال يؤدي إلى حدوث خطأ في QPS، يمكنك مضاعفة فترة الانتظار ثم إرسال طلب بحث آخر. تابع ضبط فترة الانتظار حتى يعود طلب البحث بدون خطأ.

إرسال طلبات تفاعل المستخدم عند الطلب

يجب إرسال الطلبات إلى واجهات برمجة التطبيقات التي تشمل تفاعل المستخدم فقط عند الطلب. وهذا يعني أنّ المستخدم النهائي سينفّذ إجراءً (مثل on-click) لبدء طلب البيانات من واجهة برمجة التطبيقات، ثم استخدام النتائج لتحميل خريطة أو ضبط وجهة، أو عرض معلومات مناسبة. يؤدي استخدام نهج عند الطلب إلى تجنب الطلبات غير الضرورية لواجهات برمجة التطبيقات، ما يقلل من استهلاك واجهة برمجة التطبيقات.

تجنب عرض محتوى يظهر على سطح الفيديو أثناء تحريك الخريطة

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

تجنّب العمليات المكثفة في Draw طريقة

وكقاعدة عامة، من الأفضل تجنّب استخدام العمليات التي لا تتطلّب رسمًا مكثّفًا وتتطلّب استخدام طريقة Draw(). على سبيل المثال، تجنَّب ما يلي في رمز الطريقة Draw():

  • طلبات البحث التي تعرض كمية كبيرة من المحتوى
  • تم إجراء الكثير من التغييرات على البيانات المعروضة.
  • معالجة العديد من عناصر نموذج كائن المستند (DOM).

ويمكن أن تؤدي هذه العمليات إلى بطء الأداء وتقديم تأخر أو تقطُّع مرئي عند عرض الخريطة.

استخدام الصور النقطية للعلامات

استخدِم الصور النقطية، مثل الصور بتنسيق PNG .أو JPG.، عند إضافة علامات لتحديد موقع على الخريطة. تجنَّب استخدام صور موجّهة يمكن تغيير حجمها (SVG)، لأنّ عرض صور SVG يمكن أن يتأخّر في الرسم عند إعادة رسم الخريطة.

تحسين العلامات

يؤدي التحسين إلى تحسين الأداء من خلال عرض العديد من العلامات كعنصر ثابت واحد. ويُفيد ذلك في الحالات التي يكون فيها عدد كبير من العلامات مطلوبًا. ستحدّد واجهة برمجة تطبيقات JavaScript للخرائط تلقائيًا ما إذا كان سيتم تحسين محدّد الموقع أم لا. عندما يكون هناك عدد كبير من العلامات، ستحاول واجهة برمجة تطبيقات JavaScript للخرائط عرض العلامات مع التحسين. لا يمكن تحسين بعض "العلامات". في بعض الحالات، قد تحتاج واجهة برمجة تطبيقات JavaScript للخرائط إلى عرض "العلامات" بدون تحسين. يمكنك إيقاف العرض المحسَّن لملفات GIF المتحركة أو ملفات PNG، أو عند عرض كل علامة كعنصر DOM منفصل.

إنشاء مجموعات لإدارة عرض العلامات

للمساعدة في إدارة عرض العلامات لتحديد المواقع على الخريطة، يمكنك إنشاء مجموعة علامات باستخدام مكتبة مجموعة العلامات. تتضمّن مكتبة مجموعة أداة التحديد خيارات لـ:

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

الاستهلاك

لتخطيط ميزانيتك والتحكّم في تكاليفك، عليك تنفيذ ما يلي:

  • حدِّد تنبيهًا للميزانية لتتبُّع مدى تزايد تكاليفك تجاه مبلغ معيّن. لا يؤدي ضبط ميزانية إلى تقييد استخدام واجهة برمجة التطبيقات، وإنما ينبّهك فقط عندما تقترب التكاليف من المبلغ المحدّد.
  • الحدّ من الاستخدام اليومي لواجهة برمجة التطبيقات لإدارة تكاليفك في واجهات برمجة التطبيقات القابلة للفوترة من خلال وضع حدود على الطلبات في اليوم، يمكنك تقييد التكاليف. استخدِم معادلة بسيطة لتحديد الحدّ الأقصى اليومي، استنادًا إلى المبلغ الذي تريد إنفاقه: (التكلفة الشهرية/السعر لكل )/30 = الحدّ الأقصى لعدد الطلبات في اليوم (لواجهة برمجة تطبيقات واحدة). وقد يستخدم تنفيذك المحدّد واجهات برمجة تطبيقات متعددة قابلة للفوترة، لذا عدِّل المعادلة حسب الحاجة. يتم إصدار رصيد واجهة برمجة تطبيقات خرائط Google بقيمة 200 دولار أمريكي كل شهر، لذا يجب أخذ ذلك في الاعتبار في حساباتك.
  • يمكنك استخدام مشاريع متعددة لعزل استخدامك وتحديد أولوياته وتتبّعه. على سبيل المثال، لنفترض أنك تستخدم بانتظام واجهات برمجة تطبيقات على "منصة خرائط Google" في اختباراتك. ومن خلال إنشاء مشروع منفصل للاختبارات باستخدام حصصه ومفاتيح واجهة برمجة التطبيقات، يمكنك إجراء اختبار دقيق مع الحماية من الإنفاق المفاجئ.

إدارة الاستهلاك في "خرائط Google"

يُعدّ استخدام خريطة واحدة لكل صفحة طريقة جيدة لتحسين عرض الخرائط، لأن المستخدمين يتفاعلون بشكل عام مع خريطة واحدة فقط في كل مرة. يمكن لتطبيقك معالجة الخريطة لعرض مجموعات بيانات مختلفة، بناءً على تفاعل العميل واحتياجاته.

استخدام الصور الثابتة

تبلغ تكلفة الطلبات التي تستخدم الصور الديناميكية (الخرائط الديناميكية والتجوّل الافتراضي الديناميكي) أكثر من الخرائط الثابتة والتجوّل الافتراضي الثابت. إذا لم تتوقع تفاعل المستخدم مع الخريطة أو التجوّل الافتراضي (التكبير أو التصغير)، يمكنك استخدام الإصدارات الثابتة من واجهات برمجة التطبيقات هذه.

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

استخدام واجهة برمجة التطبيقات لتضمين الخرائط

يمكنك استخدام واجهة برمجة التطبيقات لتضمين الخرائط مجانًا لإضافة خريطة باستخدام محدّد موقع واحد، أو خريطة ديناميكية. يمكن استخدام Maps Include API للتطبيقات التي لا تتطلب محدِّدًا واحدًا ولا تخصيصًا للخريطة. يتم إصدار فواتير لطلبات "تضمين خرائط Google" باستخدام وضع الاتجاهات أو وضع العرض أو وضع البحث (اطّلع على جدول التسعير للحصول على التفاصيل).

استخدام حِزم تطوير البرامج (SDK) للخرائط على الأجهزة الجوّالة للتطبيقات المتوافقة مع الأجهزة الجوّالة

بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، يمكنك استخدام حزمة تطوير البرامج (SDK) للخرائط لنظام التشغيل Android أو حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS عند عرض خريطة. يمكن استخدام Maps Static API أو Maps JavaScript API عند استبعاد المتطلبات باستخدام حِزم تطوير البرامج (SDK) للأجهزة الجوّالة.

إدارة الاستهلاك في المسارات

الحد من نقاط واجهة برمجة تطبيقات الاتجاهات

عند الإمكان، يجب إدخال 10 نقاط كحد أقصى في طلب البحث كحد أقصى. يتم إصدار فواتير للطلبات التي تحتوي على أكثر من 10 نقاط مسار.

استخدام تحسين واجهة برمجة تطبيقات الاتجاهات للحصول على التوجيه الأمثل

ويتم تحصيل الرسوم من الطلبات التي تستخدم وسيطة تحسين نقاط الطريق بمعدل أعلى. ولمزيد من المعلومات، يُرجى الاطّلاع على تحسين نقاط الطرق.

ترتِّب وسيطة التحسين نقاط المسار لضمان التوجيه الأمثل، ما يعني أن الانتقال من A إلى E هو تجربة أفضل عند التحسين (A-B-C-D-E) مقابل التسلسل العشوائي لمسار غير محسّن (مثل A-D-B-C-E).

استخدام نماذج الزيارات في الوقت الفعلي في واجهة برمجة التطبيقات الاتجاهات وواجهة برمجة التطبيقات لمصفوفة المسافة

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

إذا تم حذف نماذج الزيارات من طلب، تستند النتائج فقط إلى عوامل خارجية: الطرق والمسافة وحدود السرعة.

استخدام المسار الذي تم قطعه والأقرب إلى الطريق عندما تكون بيانات نظام تحديد المواقع العالمي (GPS) دقيقة

يتم تضمين ميزات واجهة برمجة التطبيقات للطرق، والمسارات التي تم قطعها، وأقرب طريق، في الدرجة المتقدمة ويتم تحصيل رسومها بسعر أعلى. يمكنك استخدام هذه الميزات حيث تكون بيانات نظام تحديد المواقع العالمي (GPS) غير دقيقة، ويمكن أن تساعدك واجهة برمجة التطبيقات للطرق على تحديد الطريق الصحيح. لا تتوفر حدود السرعة، وهي ميزة أخرى في Roads API، إلا لعملاء "تتبُّع الأصول".

تقلّل حدود سرعة أخذ العينات من 5 إلى 15 دقيقة

لتقليل عدد المكالمات إلى واجهة برمجة التطبيقات للطرق السريعة في "خرائط Google" يمكنك أخذ عيّنات من المواقع الجغرافية لمواد العرض خلال فترات تتراوح بين 5 و15 دقيقة. وتعتمد القيمة الدقيقة على سرعة نقل مادة العرض. إذا كانت مادة العرض ثابتة، يكفي توفير عيّنة واحدة في الموقع الجغرافي. لست بحاجة إلى إجراء مكالمات متعددة.

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

إدارة الاستهلاك في الأماكن

تحسين عمليات تنفيذ الإكمال التلقائي للأماكن

لتحسين تكلفة استخدام الإكمال التلقائي للأماكن:

  • يمكنك استخدام أقنعة الحقل في أدوات JavaScript وAndroid وiOS للإكمال التلقائي لعرض حقول بيانات الأماكن التي تحتاج إليها فقط.

  • يعتمد اختيار خيارات الفوترة على حالة الاستخدام. استنادًا إلى ما إذا كانت عملية التنفيذ تستخدِم جلسات Autcomplete أم لا، سيتم تحصيل رسوم منك مقابل رموز التخزين التعريفي الإكمال التلقائي لكل طلب أو الإكمال التلقائي - لكل جلسة.

لمزيد من المعلومات والإرشادات بشأن تحديد الخيار المناسب لحالة استخدامك، يُرجى الاطّلاع على أفضل ممارسات تحسين الإكمال التلقائي للأماكن.

عرض بيانات حقول محددة في تفاصيل المكان وطلبات بحث المكان

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

تستند الفوترة لطلبات تفاصيل المكان إلى أنواع وكميات البيانات المطلوبة. وسيتم تحصيل الرسوم من الطلبات التي لا تحدّد أي حقول بالسعر الكامل. لمزيد من المعلومات، يمكنك الاطّلاع على تفاصيل المكان والبحث عن الأماكن.

تقليل التكاليف باستخدام واجهة برمجة تطبيقات الترميز الجغرافي

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

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

آلية عمل حصص "منصة خرائط Google"

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

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

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

واجهات برمجة تطبيقات "منصة Google للتسويق" التي تتضمّن إجراء التنفيذ هذا لكل ثانية هي واجهة برمجة تطبيقات الاتجاهات وواجهة برمجة التطبيقات لمصفوفة المسافة وواجهة برمجة تطبيقات الارتفاع وواجهة برمجة التطبيقات للترميز الجغرافي وواجهة برمجة تطبيقات الأماكن وواجهة برمجة التطبيقات للطرق.

تقدير التكاليف لأي منتج من واجهات برمجة التطبيقات في "منصة Google للتسويق"، استنادًا إلى إجمالي حجم الطلبات