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