פתרון בעיות

ריכזנו כאן כמה טיפים לפתרון בעיות נפוצות.

למה רדיוס הדיוק גדול מאוד?

אם הערך בשדה הדיוק בתגובה של המיקום הגיאוגרפי גבוה מאוד, יכול להיות שהשירות מזהה את המיקום הגיאוגרפי על סמך כתובת ה-IP של הבקשה, במקום על סמך נקודות Wi-Fi או מגדלי סלולר. תשובות כאלה יכולות להתקבל אם השירות לא מזהה אף אנטנה סלולרית או נקודת גישה.

כדי לוודא שהשירות לא הצליח לאתר את נקודות הגישה שלכם לפי מיקום גיאוגרפי, צריך להגדיר את הערך של considerIp ל-false בבקשה. אם התגובה היא 404, סימן שלא ניתן היה לאתר את המיקום הגיאוגרפי של העצמים wifiAccessPoints ו-cellTowers.

איך פותרים בעיות שקשורות לשגיאות בתשובה?

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

תגובת השגיאה מכילה אובייקט עם אובייקט שגיאה יחיד עם המפתחות הבאים:

  • code: זהו אותו סטטוס HTTP של התגובה.
  • message: תיאור קצר של השגיאה.
  • errors: רשימה של השגיאות שהתרחשו. כל שגיאה מכילה מזהה של סוג השגיאה (הסיבה) ותיאור קצר (ההודעה).

לדוגמה, שליחת JSON לא תקין מחזירה את השגיאה הבאה:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "parseError",
    "message": "Parse Error",
   }
  ],
  "code": 400,
  "message": "Parse Error"
 }
}

איסוף מידע על בדיקות מהמכשירים

כדי לבצע בדיקות נוספות, אפשר לאסוף מידע מהמכשיר באמצעות ערכות ה-SDK וממשקי ה-API הבאים:

תיאורי שגיאות

ריכזנו כאן את השגיאות האפשריות שאתם עשויים להיתקל בהן עם תיאורים.

סיבה דומיין קוד מצב HTTP תיאור
dailyLimitExceeded usageLimits 403 חרגתם מהמגבלה היומית.
keyInvalid usageLimits 400 מפתח ה-API לא תקין ל-Geolocation API. חשוב לכלול את המפתח כולו, ולוודא שרכשתם את ה-API או הפעלתם את החיוב והפעלתם את ה-API כדי לקבל את המכסה ללא תשלום.
userRateLimitExceeded usageLimits 403 חרגתם ממגבלת הבקשות שהגדרתם במסוף Google Cloud. בדרך כלל המגבלה הזו מוגדרת כבקשות ליום, בקשות לכל 100 שניות ובקשות לכל 100 שניות לכל משתמש. מומלץ להגדיר את המגבלה כך שקבוצה קטנה או משתמש יחיד לא יגיעו למכסה היומית, ועדיין תהיה גישה סבירה לכל המשתמשים. במאמר הגדרת מכסות לשימוש ב-API מוסבר איך מגדירים את המגבלות האלה.
notFound geolocation 404 הבקשה הייתה תקינה, אבל לא הוחזרו תוצאות.
parseError global 400 תוכן הבקשה הוא לא JSON חוקי. פרטים על כל שדה מופיעים בקטע גוף הבקשה.