שיטות מומלצות לייצור

במהלך הניהול וההפעלה של האפליקציה, Google ממליצה לפעול לפי השיטות המומלצות הבאות.

אבטחה של מפתחות API

אתם זקוקים למפתח API כדי להשתמש בשירותים שלנו באינטרנט, והשימוש בו מאפשר ל-Google למדוד את השימוש שלכם. אנחנו ממליצים להגביל את מפתחות ה-API כדי למנוע שימוש לא מורשה.

סוגים של הגבלות על מפתחות API

יש שני סוגים של הגבלות על מפתחות API, ואפשר להשתמש בשניהם בו-זמנית.

סוג ההגבלההגבלת השימוש במפתח ל-
הגבלת API API מסוים.
הגבלת אפליקציות כתובות IP, אפליקציות או אתרי אינטרנט מסוימים.

המלצות להגבלת מפתח API

מומלץ להזמין מפתחות API נפרדים בתרחישים הבאים.

תרחישהמלצה
שרתי המשחקים העורפיים מפעילים את Playable locations API כדי לאחזר מיקומים שאפשר לשחק בהם. הגדרת מפתח עם שתי הגבלות:
  • הגבלת API: התרת קריאות רק ל-Playable Locations API.
  • הגבלת אפליקציות: התרת שיחות שמקורן רק בכתובות ה-IP של השרת העורפי של המשחק.
גרסת Android של האפליקציה מפעילה את ה-SDK של מפות Google ל-Unity כדי לאחזר נתונים גיאוגרפיים. צריך להגדיר מפתח עם הגבלת אפליקציה כדי לאפשר שיחות רק בגרסת Android של האפליקציה.
גרסת iOS של האפליקציה מפעילה את ה-SDK של מפות Google ל-Unity API כדי לאחזר נתונים גיאוגרפיים. צריך להגדיר מפתח עם הגבלת אפליקציה כדי לאפשר שיחות רק מגרסת iOS של האפליקציה.

למידע נוסף תוכלו לקרוא את המאמר שיטות מומלצות לאבטחת API.

כדי להגדיר הגבלות על מפתחות API

  1. נכנסים לחלונית של פרטי הכניסה במסוף Google Cloud.
  2. בוחרים את מפתח ה-API שרוצים להגדיר עליו הגבלה. דף המאפיין של מפתח ה-API מופיע.
  3. בקטע Key restrictions, בוחרים בכרטיסייה Application restrictions, ואז בוחרים באחד מארבעת סוגי ההגבלות על אפליקציות.
    סוג ההגבלה תיאור
    גורמים מפנים מסוג HTTP אישור בקשות מרשימת האתרים שאתם מספקים.
    כתובות IP קבלת בקשות מרשימת כתובות ה-IP של שרתי האינטרנט שאתם מספקים.
    אפליקציות ל-Android כדי להגביל את השימוש באפליקציה ל-Android, צריך להוסיף את שם החבילה ואת טביעת האצבע של אישור החתימה SHA-1.
    אפליקציות ל-iOS קבלת בקשות מהאפליקציה ל-iOS באמצעות מזהה החבילה שסיפקת.
  4. בקטע Key restrictions, בוחרים בכרטיסייה API restrictions, ואז בוחרים את ה-API שרוצים להגביל אליו את מפתח ה-API.
  5. לוחצים עלשמירה.

עדכונים של מפתח API לתמיכה

חשוב לוודא שיש לכם תשתית לעדכון מפתחות ה-API בסטאק התוכנות. כך המשחק יוכל להתאושש אם מפתח ה-API שלכם ייפרץ, ותצטרכו לחדש אותו בהתראה קצרה.

משתמשים במפתחות נפרדים לכל אפליקציה, כדי להחליף בקלות מפתח באפליקציה אחת בלי להשפיע על אפליקציות אחרות.

המלצות בנושא בטיחות שרתי משחקים

כשיש הפסקה זמנית בשירות של ממשק ה-API של מיקומים של 'Playable', יש בעיות כשהוא חוזר לאינטרנט כשמספר שרתי משחקים מנסים להתחבר אליו מחדש בו-זמנית. קפיצות כאלה ב-QPS יכולות להעביר את השרת למצב DoS, מצב שגורם להחמרת המצב על ידי חסימת תעבורת נתונים נכנסת.

כדי למנוע מצב כזה, Google מבקשת להטמיע Binary Exponential Backoff בשרת המשחקים שלכם. זו גישה שיטתית להפרדת החיבורים שלכם בניסיונות חוזרים. באופן ספציפי, צריך להטמיע אלגוריתם שממתין N שניות אחרי ניסיון חיבור שנכשל לפני שמנסים שוב. אם הניסיון הבא ייכשל, האלגוריתם יכפיל את תקופת ההמתנה וינסה שוב. אם הניסיון הבא ייכשל, האלגוריתם יכפיל שוב את תקופת ההמתנה ואז ינסה שוב. אתם ממשיכים להכפיל את תקופת ההמתנה אחרי כל ניסיון, עד שהניסיון האחרון יצליח.

טיפול בקודי סטטוס החזרה של HTTP

יש להטמיע השהיה מעריכית בינארית לפני ניסיון חוזר (exponential backoff) בחלק מקודי ההחזרה של HTTP, אבל לא בכולם.

400 שניות
אלה שגיאות לקוח שבדרך כלל לא משחזרות, כך שניסיון חוזר של בקשות שנכשלו שמייצרות את קודי השגיאה האלה לא יעבוד. שגיאות כאלה אמורות להופיע במהלך הבדיקה.
429
זוהי שגיאה של מיצוי משאב שמתרחשת כשמתחילים להיגמר מכסת ה-API. כדי לראות את מגבלות QPS של ה-API של הפרויקט, ראו מכסות לממשקי API של Google.
500 שניות
אלה השגיאות בצד השרת – סוג השגיאות שאפשר להפיק באמצעות השהיה מעריכית לפני ניסיון חוזר (exponential backoff).