সাধারণ সমস্যা সমাধানের জন্য এখানে কিছু পরামর্শ দেওয়া হলো।
নির্ভুলতার ব্যাসার্ধ এত বড় কেন?
যদি আপনার জিওলোকেশন প্রতিক্রিয়ার 'অ্যাকুরেসি' ফিল্ডে খুব উচ্চ মান দেখা যায়, তাহলে পরিষেবাটি ওয়াইফাই পয়েন্ট বা সেল টাওয়ারের পরিবর্তে অনুরোধ করা আইপি-র উপর ভিত্তি করে জিওলোকেশন করছে। এই ধরনের প্রতিক্রিয়া ঘটতে পারে যদি পরিষেবাটি কোনো সেল টাওয়ার বা অ্যাক্সেস পয়েন্ট শনাক্ত করতে না পারে।
সার্ভিসটি আপনার অ্যাক্সেস পয়েন্টগুলোর জিওলোকেট করতে পারেনি, এটি নিশ্চিত করতে আপনার রিকোয়েস্টে considerIp কে false সেট করুন। যদি রেসপন্সটি 404 হয়, তাহলে আপনি নিশ্চিত হয়েছেন যে আপনার wifiAccessPoints এবং cellTowers অবজেক্টগুলোর জিওলোকেট করা যায়নি।
আমি কীভাবে একটি প্রতিক্রিয়া ত্রুটি সমাধান করব?
আপনার অনুরোধে কোনো ত্রুটি দেখা দিলে, সিস্টেমটি একটি স্ট্যান্ডার্ড ফরম্যাটের ত্রুটিপূর্ণ রেসপন্স বডি ফেরত পাঠায় এবং HTTP স্ট্যাটাস কোডটিকে একটি ত্রুটিপূর্ণ অবস্থায় সেট করে।
ত্রুটি প্রতিক্রিয়াটিতে একটি অবজেক্ট থাকে, যার মধ্যে নিম্নলিখিত কী-গুলো সহ একটিমাত্র 'error' অবজেক্ট থাকে:
-
code: এটি রেসপন্সের HTTP স্ট্যাটাসের সমান। -
message: ত্রুটিটির একটি সংক্ষিপ্ত বিবরণ। -
errors: সংঘটিত ত্রুটিগুলোর একটি তালিকা। প্রতিটি ত্রুটিতে ত্রুটির প্রকারের জন্য একটি শনাক্তকারী (কারণ) এবং একটি সংক্ষিপ্ত বিবরণ (বার্তা) থাকে।
উদাহরণস্বরূপ, ভুল JSON পাঠালে নিম্নলিখিত ত্রুটিটি দেখা দেয়:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error",
}
],
"code": 400,
"message": "Parse Error"
}
}
ডিভাইসগুলো থেকে পরীক্ষার তথ্য সংগ্রহ করুন
অতিরিক্ত পরীক্ষার জন্য, আপনি প্রতিটি প্ল্যাটফর্মের দেওয়া অন্তর্নির্মিত অবস্থান পরিষেবাগুলি ব্যবহার করে আপনার ডিভাইস থেকে তথ্য সংগ্রহ করতে পারেন:
অ্যান্ড্রয়েড ডিভাইস : LocationManager অথবা Fused Location Provider API ব্যবহার করুন।
iOS ডিভাইস : অ্যাপল কোর লোকেশন ফ্রেমওয়ার্ক ব্যবহার করুন।
ত্রুটির বিবরণ
বর্ণনার ক্ষেত্রে আপনি যে সম্ভাব্য ত্রুটিগুলোর সম্মুখীন হতে পারেন, সেগুলো নিচে দেওয়া হলো।
| কারণ | ডোমেইন | HTTP স্ট্যাটাস কোড | বর্ণনা |
|---|---|---|---|
dailyLimitExceeded | usageLimits | ৪০৩ | আপনি আপনার দৈনিক সীমা অতিক্রম করেছেন। |
keyInvalid | usageLimits | ৪০০ | আপনার এপিআই কী জিওলোকেশন এপিআই-এর জন্য বৈধ নয়। সম্পূর্ণ কী-টি অবশ্যই অন্তর্ভুক্ত করুন এবং নিশ্চিত করুন যে আপনি হয় এপিআইটি কিনেছেন অথবা বিলিং চালু করে এপিআইটি সক্রিয় করেছেন, যাতে বিনামূল্যে কোটা পেতে পারেন। |
userRateLimitExceeded | usageLimits | ৪০৩ | আপনি গুগল ক্লাউড কনসোলে কনফিগার করা অনুরোধের সীমা অতিক্রম করেছেন। এই সীমা সাধারণত দৈনিক অনুরোধ, প্রতি ১০০ সেকেন্ডে অনুরোধ, এবং প্রতি ব্যবহারকারীর জন্য প্রতি ১০০ সেকেন্ডে অনুরোধ হিসাবে সেট করা হয়। আপনার সীমা এমনভাবে কনফিগার করা উচিত যাতে কোনো একক বা ছোট ব্যবহারকারী গোষ্ঠী আপনার দৈনিক কোটা শেষ করে ফেলতে না পারে, এবং একই সাথে সকল ব্যবহারকারী যুক্তিসঙ্গত অ্যাক্সেস পায়। এই সীমাগুলো কনফিগার করতে ‘Capping API Usage’ দেখুন। |
notFound | geolocation | ৪০৪ | অনুরোধটি বৈধ ছিল, কিন্তু কোনো ফলাফল পাওয়া যায়নি। |
parseError | global | ৪০০ | অনুরোধের মূল অংশটি বৈধ JSON নয়। প্রতিটি ফিল্ডের বিস্তারিত তথ্যের জন্য অনুরোধের মূল অংশ (Request Body) দেখুন। |