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

تنصح Google باتّباع أفضل الممارسات هذه عند إدارة تطبيقك وتشغيله.

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

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

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

هناك نوعان من قيود مفاتيح واجهة برمجة التطبيقات، ويمكنك استخدامهما معًا في الوقت نفسه.

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

اقتراحات بشأن فرض قيود على مفتاح واجهة برمجة التطبيقات

ننصحك بتعيين مفاتيح واجهة برمجة تطبيقات منفصلة في الحالات التالية.

السيناريوالإجراء المقترَح
تستدعي خوادم اللعبة الخلفية واجهة برمجة التطبيقات Playable Locations API لاسترداد المواقع الجغرافية للتشغيل. ضبط مفتاح مع قيدَين:
  • تقييد واجهة برمجة التطبيقات: السماح بالطلبات إلى واجهة برمجة التطبيقات للمواقع القابلة للتشغيل فقط
  • قيود التطبيق: السماح بالمكالمات الصادرة من عناوين IP لخادم اللعبة الخلفية فقط.
يستدعي إصدار Android من تطبيقك حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Unity لاسترداد البيانات الجغرافية. يمكنك إعداد مفتاح يتضمّن قيودًا متعلقة بالتطبيق للسماح بالمكالمات من إصدار Android فقط لتطبيقك.
يستدعي إصدار iOS من تطبيقك حزمة تطوير البرامج (SDK) للخرائط الخاصة بواجهة برمجة التطبيقات Unity API لاسترداد البيانات الجغرافية. يمكنك إعداد مفتاح يتضمّن قيودًا متعلقة بالتطبيق للسماح بالمكالمات من إصدار iOS فقط لتطبيقك.

لمزيد من المعلومات، يُرجى الاطّلاع على أفضل ممارسات أمان واجهة برمجة التطبيقات.

لإعداد قيود مفتاح واجهة برمجة التطبيقات

  1. انتقِل إلى لوحة بيانات الاعتماد في Google Cloud Console.
  2. اختَر مفتاح واجهة برمجة التطبيقات الذي تريد ضبط قيود عليه. ستظهر صفحة سمة مفتاح واجهة برمجة التطبيقات.
  3. ضمن قيود التطبيق، اختَر علامة التبويب قيود التطبيقات، ثم اختَر أحد أنواع قيود التطبيقات الأربعة.
    نوع التقييد الوصف
    مُحيلو HTTP قبول الطلبات من قائمة المواقع الإلكترونية التي تقدّمها
    عناوين IP يمكنك قبول الطلبات من قائمة عناوين IP التي تقدّمها لخادم الويب.
    تطبيقات Android يمكنك إضافة اسم الحزمة وبصمة شهادة التوقيع SHA-1 لتقييد الاستخدام على تطبيق Android.
    تطبيقات iOS اقبل الطلبات الواردة من تطبيق iOS باستخدام معرّف الحزمة الذي تقدّمه.
  4. ضِمن قيود واجهة برمجة التطبيقات، اختَر علامة التبويب قيود واجهة برمجة التطبيقات ثم اختَر واجهة برمجة التطبيقات التي تريد تقييد مفتاح واجهة برمجة التطبيقات بها.
  5. انقر على Save (حفظ).

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

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

استخدِم مفاتيح منفصلة لكل تطبيق، ما يتيح لك تبديل أي مفتاح بسهولة بدون التأثير في التطبيقات الأخرى.

اقتراحات حول أمان خادم اللعبة

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

للتخفيف من حدة هذا الموقف، تطلب Google تنفيذ عملية الرجوع الأسي الثنائي على خادم اللعبة. إنه نهج منهجي لتباعد محاولات الاتصال لديك. وعلى وجه التحديد، يمكنك تنفيذ خوارزمية تنتظر N ثانية بعد محاولة إعادة الاتصال الفاشلة وقبل المحاولة مرة أخرى. وإذا فشلت المحاولة التالية، ستمضاعفة خوارزميتك لفترة الانتظار ثم تعيد المحاولة. وإذا لم تنجح المحاولة التالية، ستضاعف الخوارزمية فترة الانتظار مرة أخرى، ثم تعيد المحاولة. تستمر في مضاعفة فترة الانتظار بعد كل محاولة - حتى تنجح محاولتك الأخيرة.

التعامل مع رموز حالة إرجاع HTTP

يجب تنفيذ الرقود الأسي الثنائي لبعض رموز إرجاع HTTP، ولكن ليس كلها.

موسيقى القرن الـ 40
هذه هي أخطاء العميل التي لا يمكن استردادها بشكل عام، لذا لن تنجح إعادة محاولة إرسال الطلبات التي تعذّر تنفيذها والتي تؤدي إلى ظهور رموز الخطأ هذه. من المفترض أن تلاحظ هذه الأنواع من الأخطاء أثناء الاختبار.
429
يحدث هذا الخطأ بسبب نفاد الموارد، ويحدث عند بدء نفاد حصة واجهة برمجة التطبيقات. للاطّلاع على حدود عدد الطلبات في الثانية (QPS) الخاص بواجهة برمجة التطبيقات لمشروعك، انتقِل إلى حصص واجهات Google APIs.
موسيقى العقد الأول من القرن الـ 56
في ما يلي الأخطاء من جانب الخادم، وهي أنواع الأخطاء التي يكون الانحياز الطردي فيها أكثر إفادة.