פתרון בעיות

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

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

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

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

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

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

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

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