ריכזנו כאן כמה טיפים לפתרון בעיות נפוצות.
למה רדיוס הדיוק גדול מאוד?
אם בתגובה של המיקום הגיאוגרפי מוצג ערך גבוה מאוד בשדה הדיוק, יכול להיות שהשירות מבצע זיהוי מיקום גיאוגרפי על סמך כתובת ה-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 הבאים:
מכשירי Android: עוברים לדף Places SDK ל-Android וממשקי API של Android לקביעת מיקום.
מכשירי iOS: עוברים אל Places SDK ל-iOS.
תיאורי שגיאות
ריכזנו כאן את השגיאות האפשריות שאתם עשויים להיתקל בהן עם תיאורים.
סיבה | דומיין | קוד מצב 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 חוקי. פרטים על כל שדה מופיעים בקטע גוף הבקשה. |