פתרון בעיות

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

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

אם בתגובה של המיקום הגיאוגרפי מוצג ערך גבוה מאוד בשדה הדיוק, יכול להיות שהשירות מבצע זיהוי מיקום גיאוגרפי על סמך כתובת ה-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 חוקי. פרטים על כל שדה מופיעים בקטע גוף הבקשה.