يصف هذا الدليل عدة إستراتيجيات لتحسين استخدام واجهات API لخرائط Google من حيث الأمان والأداء والاستهلاك.
الأمان
مراجعة أفضل ممارسات الأمان
مفاتيح واجهة برمجة التطبيقات هي بيانات الاعتماد التي تركز على المشروع والتي تستحق الاحتياطات نفسها كأرقام تعريف المستخدم وكلمات المرور. راجِع أفضل ممارسات أمان واجهة برمجة التطبيقات لحماية المفاتيح من الاستخدام غير المقصود، ما قد يؤدي إلى استخدام غير مُهمّ للحصة وتحصيل رسوم غير متوقّعة من حسابك.
استخدام مفاتيح واجهة برمجة التطبيقات للوصول إلى واجهات API للخرائط
تعد مفاتيح واجهة برمجة التطبيقات هي طريقة المصادقة المفضلة للوصول إلى واجهات برمجة التطبيقات لخرائط Google. على الرغم من أن استخدام معرّفات العملاء لا يزال متاحًا في الوقت الحالي، فإن مفاتيح واجهة برمجة التطبيقات تدعم عناصر تحكم الأمان الأكثر دقة ويمكن ضبطها للعمل مع عناوين ويب وعناوين IP وحزم SDK للجوّال (Android وiOS). للحصول على معلومات حول إنشاء مفتاح واجهة برمجة تطبيقات وتأمينه، انتقل إلى صفحة "استخدام مفتاح واجهة برمجة تطبيقات" لكل واجهة برمجة تطبيقات أو حزمة SDK. (على سبيل المثال، بالنسبة إلى واجهة برمجة تطبيقات جافا سكريبت للخرائط، يمكنك الانتقال إلى صفحتها عن استخدام مفتاح واجهة برمجة التطبيقات).
الأداء
استخدام التراجع الأسي للتعامل مع الأخطاء
إذا واجهت تطبيقاتك أخطاء من المحاولات الزائدة للاتصال بواجهة برمجة تطبيقات خلال فترة زمنية قصيرة، مثل أخطاء QPS، يمكنك استخدام التراجع الأسي للسماح بمعالجة الطلبات.
يكون التراجع الأسي أكثر فائدة بالنسبة إلى الأخطاء في العقد الأول من القرن الحادي والعشرين. لمزيد من المعلومات، اطلع على التعامل مع رموز حالة عرض HTTP.
على وجه التحديد، اضبط سرعة طلبات البحث. في الرمز، أضِف فترة انتظار مدتها S
ثانية بين طلبات البحث. إذا استمر طلب البحث في الوصول إلى خطأ في QPS، فضع فترة الانتظار ثم أرسل طلب بحث آخر. تابع
ضبط فترة الانتظار حتى يعود طلب البحث بدون خطأ.
إرسال طلبات تفاعل المستخدم عند الطلب
يجب إرسال الطلبات إلى واجهات برمجة التطبيقات التي تشمل تفاعل المستخدم فقط عند الطلب.
وهذا يعني انتظار المستخدم لتنفيذ إجراء (مثل on-click
)
لبدء طلب واجهة برمجة التطبيقات، ثم استخدام النتائج لتحميل خريطة، أو تعيين
وجهة، أو عرض المعلومات المناسبة. يؤدي استخدام أسلوب عند الطلب إلى تجنب الطلبات غير الضرورية لواجهات برمجة التطبيقات، مما يقلل من استهلاك واجهة برمجة التطبيقات.
تجنب عرض محتوى يظهر على سطح الفيديو أثناء تحرك الخريطة
تجنَّب استخدام Draw()
لعرض محتوى مخصّص يظهر على سطح الخريطة في الوقت نفسه الذي يُحتمَل أن يحرك فيه المستخدم الخريطة. نظرًا لأنه تتم إعادة رسم الخريطة في كل مرة
يتحرك فيها المستخدم على الخريطة، فإن وضع محتوى متراكب على الخريطة في نفس الوقت يمكن أن يتسبب في حدوث تأخير أو تلعثم مرئي. أضف أو أزل محتوى التراكب من الخريطة بعد توقف المستخدم عن التحريك أو التكبير/التصغير.
تجنُّب العمليات المكثفة لطريقتين (Draw
)
وكقاعدة عامة، من الأفضل تجنُّب عمليات الرسم غير المُكثِّفة للأداء بطريقة Draw()
. على سبيل المثال، تجنّب
ما يلي في رمز طريقة Draw()
:
- طلبات البحث التي تعرض مقدارًا كبيرًا من المحتوى.
- تم إجراء العديد من التغييرات على البيانات التي يتم عرضها.
- معالجة العديد من عناصر نموذج كائن المستند (DOM)
ويمكن أن تؤدي هذه العمليات إلى إبطاء الأداء، فضلاً عن حدوث تباطؤ بصري أو تذبذب مرئي عند عرض الخريطة.
استخدام الصور النقطية للعلامات
استخدم الصور النقطية، مثل الصور بتنسيق PNG .أو JPG.، عند إضافة علامات لتحديد موقع على الخريطة. تجنب استخدام صور رسومات موجّهة يمكن تغيير حجمها (SVG)، لأن عرض صور SVG يمكن أن يتسبب في حدوث تأخير عند إعادة رسم الخريطة.
تحسين العلامات
تعمل عملية التحسين على تحسين الأداء من خلال عرض العديد من المحددات كعنصر ثابت واحد. وهذا مفيد في الحالات التي يكون فيها عدد كبير من العلامات مطلوبًا. ستحدد واجهة برمجة تطبيقات JavaScript للخرائط تلقائيًا ما إذا كان سيتم تحسين محدّد الموقع أم لا. عندما يكون هناك عدد كبير من العلامات، ستحاول واجهة برمجة تطبيقات جافا سكريبت للخرائط عرض العلامات مع التحسين. لا يمكن تحسين جميع العلامات، وفي بعض الحالات، قد تحتاج واجهة برمجة تطبيقات JavaScript للخرائط إلى عرض محدّدات المواقع بدون تحسين. يمكنك إيقاف العرض المحسَّن لملفات GIF أو PNG ذات الصور المتحركة، أو عندما يجب عرض كل علامة كعنصر DOM منفصل.
إنشاء مجموعات لإدارة عرض محدِّد الموقع
للمساعدة في إدارة عرض العلامات لتحديد المواقع على الخريطة، يمكنك إنشاء مجموعة علامات باستخدام مكتبة مجموعة العلامات. تحتوي مكتبة مجموعة العلامات على خيارات لما يلي:
- حجم الشبكة، لتحديد عدد العلامات لتجميعها معًا في مجموعة.
- الحد الأقصى للتكبير/التصغير، لتحديد الحد الأقصى للتكبير/التصغير الذي يتم عرض المجموعة به.
- مسارات الصور، لاستخدامها في صور الرسومات كرموز المحددات.
الاستهلاك
لتخطيط ميزانيتك والتحكم في تكاليفك، نفذ ما يلي:
- تعيين تنبيه الميزانية
لتتبع كيفية تزايد تكاليفك نحو مبلغ معين. لا يؤدي تعيين ميزانية إلى تقييد استخدام واجهة برمجة التطبيقات، فهو ينبهك عندما تقترب التكاليف من المبلغ المحدد لك.
- تحديد الاستخدام اليومي لواجهة برمجة التطبيقات لإدارة تكاليف واجهات برمجة التطبيقات القابلة للفوترة. من خلال وضع حد أقصى للطلبات في اليوم، يمكنك تحديد تكاليفك. استخدم معادلة بسيطة لتحديد الحد الأقصى اليومي، اعتمادًا على المبلغ الذي تريد إنفاقه: (التكلفة الشهرية/السعر لكل منهما)/30 = الحد الأقصى للطلبات في اليوم الواحد (لواجهة برمجة تطبيقات واحدة). قد يستخدم تنفيذك المحدد واجهات برمجة تطبيقات متعددة قابلة للفوترة، لذا عدِّل المعادلة حسب الحاجة. يتوفر رصيد بقيمة 200 دولار أمريكي في واجهات برمجة التطبيقات لخرائط Google شهريًا، لذا يجب أخذ ذلك في الاعتبار عند إجراء الحسابات.
- استخدم عدة مشاريع لعزل استخدامك ومنحه وتتبعه. على سبيل المثال، لنفترض أنك تستخدم بانتظام واجهات برمجة التطبيقات في "منصة خرائط Google" في اختباراتك. من خلال إنشاء مشروع منفصل للاختبار - مع حصصه الخاصة ومفاتيح واجهة برمجة التطبيقات - يمكنك الاختبار بشكلٍ دقيق مع الحماية من المفاجئة.
إدارة الاستهلاك في "خرائط Google"
يعد استخدام خريطة واحدة لكل صفحة طريقة جيدة لتحسين عرض الخرائط، حيث يتفاعل المستخدمون بشكل عام مع خريطة واحدة فقط في كل مرة. يمكن لتطبيقك معالجة الخريطة لعرض مجموعات بيانات مختلفة، بناءً على تفاعل العملاء واحتياجاتهم.
استخدام الصور الثابتة
تكون الطلبات التي تستخدم الصور الديناميكية (الخرائط الديناميكية والتجوّل الافتراضي الديناميكي) أكثر تكلفة من "الخرائط الثابتة" و"التجوّل الافتراضي". إذا كنت لا تتوقع تفاعل المستخدم مع الخريطة أو التجوّل الافتراضي (التكبير أو التصغير)، فاستخدم الإصدارات الثابتة من واجهات برمجة التطبيقات هذه.
الصور المصغرة - خرائط وصور صغيرة جدًا - تُعد استخدامًا جيدًا آخر للخرائط الثابتة والتجوّل الافتراضي الثابتة. ويتم تحرير فواتير لهذه العناصر بسعر أقل ووفقًا لتفاعل المستخدم (عند النقر)، ويمكن توجيه المستخدمين إلى إصدار ديناميكي لتجربة خرائط Google الكاملة.
استخدام واجهة برمجة التطبيقات لتضمين الخرائط
يمكنك استخدام واجهة برمجة التطبيقات لتضمين الخرائط لإضافة خريطة باستخدام علامة واحدة، أو خريطة ديناميكية، مجانًا. يمكنك استخدام واجهة برمجة التطبيقات لتضمين الخرائط للتطبيقات التي تتطلب علامة واحدة ولا يلزم تخصيص الخريطة. سيتم إصدار فواتير لطلبات واجهة برمجة التطبيقات لتضمين الخرائط باستخدام وضع الاتجاهات، أو وضع العرض، أو وضع البحث (راجع جدول التسعير للحصول على التفاصيل).
استخدام حزم SDK لخرائط الجوّال لتطبيقات الجوّال
بالنسبة إلى التطبيقات المتوافقة مع الأجهزة الجوّالة، يمكنك استخدام "حِزمة تطوير البرامج" (SDK) للخرائط في نظام التشغيل Android أو "SDK للخرائط" لنظام التشغيل iOS عند عرض خريطة. يمكنك استخدام واجهة برمجة تطبيقات الخرائط الثابتة أو واجهة برمجة تطبيقات جافا سكريبت للخرائط عندما يتم استبعاد المتطلبات باستخدام حزم SDK للجوّال.
إدارة الاستهلاك في المسارات
الحد من نقاط طريق واجهة برمجة التطبيقات للاتجاهات
عند الإمكان، يجب ألا يزيد عدد إدخالات المستخدم في طلب البحث عن 10 نقاط مسار كحد أقصى. يتم إصدار فاتورة للطلبات التي تحتوي على أكثر من 10 نقاط طريق بسعر أعلى.
استخدام تحسين واجهة برمجة تطبيقات الاتجاهات لتحقيق التوجيه الأمثل
تتم فوترة الطلبات التي تستخدم وسيط تحسين نقطة الطريق بمعدل أعلى. لمزيد من المعلومات، يُرجى الاطِّلاع على تحسين نقاط الطرق.
تعمل وسيطة التحسين على ترتيب نقاط الطريق لضمان التوجيه الأمثل، أي أن الانتقال من النقطة (أ) إلى النقطة (هـ) يكون تجربة أفضل عند التحسين (أ-ب-ج-د-ي) في مقابل التسلسل العشوائي لمسار غير محسَّن (مثل أ-د-ب-ي-ي).
استخدام نماذج الزيارات في الوقت الفعلي في واجهة برمجة التطبيقات للاتجاهات وواجهة برمجة التطبيقات لمصفوفة المسافات
يتم إصدار فواتير لطلبات واجهة برمجة التطبيقات للاتجاهات وواجهة برمجة التطبيقات لمصفوفة المسافات التي تتضمن نماذج حركة المرور في الوقت الفعلي بمعدل أعلى.
تم تفعيل نماذج حركة المرور في الوقت الفعلي من خلال ضبط وقت المغادرة على now
.
إذا تم حذف نماذج حركة المرور من أحد الطلبات، تستند النتائج فقط إلى عوامل فعلية، مثل الطرق والمسافة وحدود السرعة.
استخدام "المسار الذي تم قطعه" و"أقرب طريق" عندما تكون بيانات نظام تحديد المواقع العالمي (GPS) غير دقيقة
يتم تضمين عناصر واجهة برمجة التطبيقات للطرق على الخرائط، والمسارات التي تم قطعها وأقرب طريق، في الطبقة المتقدمة ويتم تحصيل الرسوم منها بمعدل أعلى. استخدم هذه الميزات حيث تكون بيانات نظام تحديد المواقع العالمي (GPS) غير دقيقة، ويمكن أن تساعد واجهة برمجة التطبيقات للطرق في تحديد الطريق الصحيحة. حدود السرعة هي ميزة أخرى في واجهة برمجة تطبيقات الطرق، وهي متوفرة فقط لعملاء تتبع الأصول.
مواقع حدود سرعة أخذ العينات في فواصل زمنية من 5 إلى 15 دقيقة
لتقليل عدد المكالمات إلى خدمة واجهة برمجة التطبيقات للطرق على الخرائط بهدف تقليل حجم المكالمات، ألق نظرة على مواقع مواد العرض في فترات زمنية تتراوح من 5 إلى 15 دقيقة. وتعتمد القيمة الدقيقة على سرعة انتقال مادة العرض. إذا كانت مادة العرض ثابتة، فسيصبح نموذج موقع واحد كافيًا. ليست هناك حاجة لإجراء مكالمات متعددة.
لتقليل وقت الاستجابة الإجمالي، يجب الاتصال بخدمة "حدّ السرعة" بعد تجميع بعض البيانات بدلاً من طلب البيانات من واجهة برمجة التطبيقات في كل مرة يتم فيها تلقّي الموقع الجغرافي لمادة عرض الأجهزة الجوّالة.
إدارة الاستهلاك في الأماكن
تحسين عمليات تنفيذ الإكمال التلقائي للأماكن
لتحسين تكلفة استخدام ميزة الإكمال التلقائي للأماكن:
استخدام أقنعة الحقول في أدوات الإكمال التلقائي من JavaScript وAndroid وiOS لعرض حقول بيانات الأماكن التي تحتاج إليها فقط.
تحديد خيارات الفوترة على حالة الاستخدام. تبعًا لما إذا كان التنفيذ يستخدم جلسات Autcomplete أم لا، سيتم تحصيل رسوم منك إما من خلال رموز التخزين التعريفي من خلال الإكمال التلقائي - لكل طلب أو الإكمال التلقائي - لكل جلسة.
للحصول على مزيد من المعلومات والإرشادات عن تحديد الخيار المناسب لحالة استخدامك، اطلع على أفضل ممارسات تحسين تكلفة الإكمال التلقائي للأماكن.
عرض بيانات حقول معينة في تفاصيل المكان وطلبات بحث المكان
يمكنك تخصيص تفاصيل المكان وطلبات بحث الأماكن لعرض بيانات لحقول معينة مستخدمة في تطبيقك. يتم تقسيم هذه الحقول إلى فئات: أساسي، وجهة اتصال، والغلاف الجوي. ستتلقى الطلبات التي لا تحدِّد أي حقول بيانات عن جميع الحقول.
تستند الفوترة لطلبات تفاصيل المكان إلى أنواع ومبالغ البيانات المطلوبة. أما الطلبات التي لا تحدد أي حقول، فسيتم تحرير فواتير لها بالسعر الكامل. لمزيد من المعلومات، راجع تفاصيل المكان وبحث الأماكن.
خفض التكاليف باستخدام واجهة برمجة تطبيقات الترميز الجغرافي
إذا كان تطبيقك يعالج عناوين يكتبها المستخدم، تكون العناوين غامضة أحيانًا (غير كاملة أو بها أخطاء إملائية أو بتنسيق غير صحيح). افصِل بين العناوين باستخدام ميزة "الإكمال التلقائي" ثم استخدِم أرقام تعريف الأماكن للحصول على المواقع الجغرافية للأماكن.
ولكن إذا كان لديك عنوان محدد (أو قريب منه)، فيمكنك تقليل التكاليف باستخدام الترميز الجغرافي بدلاً من الإكمال التلقائي. لمزيد من التفاصيل، راجع أفضل ممارسات الترميز الجغرافي.
آلية عمل حصص "منصة خرائط Google"
تفرض جميع واجهات برمجة التطبيقات قيودًا على عدد المكالمات التي يمكن لكل عميل إجراؤها. وتتم تهيئة هذه الحصص على أساس كل دقيقة. بعد بلوغ حصة المكالمات لواجهة برمجة تطبيقات معينة خلال دقيقة، لن يتم قبول المكالمات المستقبلية حتى اللحظة التالية.
يتم احتساب الطلبات والطلبات الناجحة التي تتسبب في حدوث أخطاء بالخادم فقط ضمن الحصة. ولا يتم احتساب الطلبات التي لا تجتاز المصادقة ضمن الحصة.
ويتم تنفيذ العديد من واجهات برمجة التطبيقات للخرائط في الثانية بالإضافة إلى تنفيذ الحصة في الدقيقة. لا تضمن عملية التنفيذ في الثانية استخدامًا منتظمًا على مدار الدقيقة بأكملها، ولن تمنعك من الوصول إلى حصة الاستخدام لتلك الدقيقة. ويمنعك ذلك من استهلاك حصتك بالكامل في أول ثانية أو اثنتين من أي دقيقة، ويحميك من انقطاع الخدمة في حال حدوث ارتفاع مفاجئ في معدّل الاستخدام. للتعامل مع الاختلافات في إجراءات التنفيذ هذه، عليك التخطيط لاستخدام حصتك من حيث المتطلبات من خلال حساب متوسط استخدام QPM عبر QPS.
إنّ واجهات برمجة التطبيقات في "منصّة Google للتسويق" التي تتضمّن إجراء التنفيذ هذا لكل ثانية هي: واجهة برمجة التطبيقات للاتجاهات وواجهة برمجة التطبيقات لمصفوفة المسافات وواجهة برمجة تطبيقات Elevation وواجهة برمجة تطبيقات الترميز الجغرافي وواجهة برمجة تطبيقات الأماكن وواجهة برمجة تطبيقات الطرق.
تقدير تكاليف أي منتج لواجهة برمجة تطبيقات "منصّة Google للتسويق" استنادًا إلى إجمالي حجم الطلبات