একটি ঘড়ির ছোট, নজরকাড়া ফর্ম ফ্যাক্টর Wear OS কে এমন অ্যাপগুলির জন্য একটি আদর্শ প্ল্যাটফর্ম করে তোলে যা ব্যবহারকারীর অবস্থান রেকর্ড করে, রিপোর্ট করে এবং প্রতিক্রিয়া জানায়। উদাহরণ হিসেবে, আপনি এমন অ্যাপ তৈরি করতে পারেন যা ব্যবহারকারীদের তাদের দূরত্ব, গতি এবং দিকনির্দেশের রিয়েল-টাইম আপডেট দেয়, অথবা ব্যবহারকারীদের আশেপাশের বিষয়ে দৃষ্টিনন্দন ইঙ্গিত দেয়।
আরও তথ্যের জন্য, অবস্থান-সচেতন অ্যাপ তৈরি করুন দেখুন।
কিছু ঘড়িতে একটি অন্তর্নির্মিত GPS সেন্সর থাকে যা সংযুক্ত ফোনের প্রয়োজন ছাড়াই অবস্থানের ডেটা পুনরুদ্ধার করে। আপনি যখন একটি ঘড়ি অ্যাপে অবস্থানের ডেটার অনুরোধ করেন, তখন সিস্টেমটি সবচেয়ে শক্তি-দক্ষ পদ্ধতি ব্যবহার করে ফোন বা ঘড়ি থেকে অবস্থান পুনরুদ্ধার করে। অতএব, এমনকি ঘড়িতে একটি GPS সেন্সর ছাড়া, আপনি এখনও অবস্থানের তথ্য পেতে পারেন।
ব্যাটারি লাইফের উপর অবস্থান ডেটা অধিগ্রহণের প্রভাব কমাতে, PRIORITY_BALANCED_POWER_ACCURACY
মান সহ setPriority()
কল করুন। বিভিন্ন অগ্রাধিকার সেটিংস চিপগুলিকে ভিন্নভাবে অপ্টিমাইজ করতে পারে।
যখন সম্ভব, setInterval()
ব্যবহার করে প্রতি মিনিটে একবারের বেশি লোকেশন জিজ্ঞাসা করে ব্যাটারি সংরক্ষণ করুন।
পরবর্তী বিভাগে যেমন বর্ণনা করা হয়েছে, সেন্সরবিহীন ঘড়ি ফোন থেকে সংযোগ বিচ্ছিন্ন হয়ে গেলে আপনার অ্যাপের লোকেশন ডেটার ক্ষতি সামাল দিতে হবে।
আপনার পদ্ধতি চয়ন করুন
Wear OS অ্যাপে লোকেশন ডেটা দেওয়ার দুটি উপায় আছে। আপনি ফিউজড লোকেশন প্রোভাইডার (FLP) বা Wear Health Services (WHS) ব্যবহার করতে পারেন। FLP হল একটি Google Play পরিষেবা API।
নিম্নলিখিত পরিস্থিতিতে FLP ব্যবহার করুন:
- আপনি মুহুর্তে অবস্থানের ডেটা চান কিন্তু ক্রমাগত নয়, যেমন একটি পার্ক করা গাড়ির অবস্থান চিহ্নিত করা।
- আপনি ক্রমাগত অবস্থান চান কিন্তু অবস্থান ইতিহাস প্রয়োজন নেই.
নিম্নলিখিত পরিস্থিতিতে WHS ব্যবহার করুন:
- আপনি অন্যান্য সেন্সর থেকে ডেটা চান বা ভবিষ্যতে অন্যান্য সেন্সর থেকে ডেটা চান।
- আপনার অ্যাপটি একটি ওয়ার্কআউট বা ব্যায়াম অ্যাপ যা একটি নির্দিষ্ট সময়ের ব্যবধানে অবস্থানের ডেটা ট্র্যাক করতে হবে।
ফিউজড লোকেশন প্রোভাইডার ব্যবহার করুন
একটি ঘড়িতে, FusedLocationProviderClient
ব্যবহার করে অবস্থান ডেটা পান। FLP ফোন থেকে অবস্থান ডেটা ব্যবহার করতে পারে। আরও তথ্যের জন্য, অবস্থান পরিষেবা ক্লায়েন্ট তৈরি করুন দেখুন।
অবস্থান আপডেটের অনুরোধ করা এবং একজন ব্যবহারকারীর অবস্থান ক্রমাগত ট্র্যাক করার বিষয়ে তথ্যের জন্য, অবস্থান আপডেটের অনুরোধ দেখুন।
অন-বোর্ড জিপিএস সনাক্ত করুন
যদি কোনও ব্যবহারকারী এমন একটি ঘড়ি নিয়ে জগিং করতে যান যাতে একটি অন্তর্নির্মিত GPS সেন্সর নেই এবং পেয়ার করা ফোনটি পিছনে ফেলে দেয়, আপনার ঘড়ি অ্যাপটি সংযুক্ত ডিভাইসের মাধ্যমে অবস্থানের ডেটা পেতে পারে না। আপনার অ্যাপে এই পরিস্থিতি সনাক্ত করুন এবং ব্যবহারকারীকে সতর্ক করুন যে অবস্থান ক্ষমতা অনুপলব্ধ।
একটি ঘড়িতে একটি অন্তর্নির্মিত GPS সেন্সর আছে কিনা তা নির্ধারণ করতে, PackageManager.FEATURE_LOCATION_GPS
সাথে hasSystemFeature()
পদ্ধতিতে কল করুন৷FEATURE_LOCATION_GPS৷ আপনি যখন একটি কার্যকলাপ শুরু করেন তখন নিম্নলিখিত কোডটি ঘড়িতে একটি অন্তর্নির্মিত GPS সেন্সর আছে কিনা তা সনাক্ত করে:
class LocationActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // ... } fun hasGps(): Boolean = packageManager.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS) }
সংযোগ বিচ্ছিন্ন ঘটনা হ্যান্ডেল
যদি একটি ঘড়িতে অন্তর্নির্মিত GPS সেন্সর না থাকে এবং একটি ফোনের সাথে সংযোগ হারায়, ঘড়িটি তার অবস্থান ডেটা স্ট্রীম হারায়। যদি আপনার অ্যাপটি ডেটার একটি ধ্রুবক প্রবাহ আশা করে, তাহলে আপনার অ্যাপটিকে অবশ্যই একটি সংযোগ হারানোর বিষয়টি শনাক্ত করতে হবে, ব্যবহারকারীকে সতর্ক করতে হবে এবং কার্যকারিতা কমাতে হবে।
একটি মোবাইল ডিভাইসের মতো, আপনি যখন FusedLocationProviderClient.requestLocationUpdates()
ব্যবহার করে অবস্থান আপডেটের অনুরোধ করেন, তখন আপনি একটি LocationCallback
বা একটি PendingIntent
পাস করেন। এই উভয়ের মধ্যে অবস্থানের তথ্য এবং LocationAvailability
স্থিতি অন্তর্ভুক্ত।
LocationCallback
বিকল্পটি ব্যবহার করার সময়, অবস্থানের প্রাপ্যতার স্থিতি সম্পর্কিত আপডেটগুলি পেতে onLocationAvailability()
ওভাররাইড করুন৷
PendingIntent
বিকল্পটি ব্যবহার করার সময় এবং একটি Intent
ফেরত দেওয়া হলে, LocationAvailability.extractLocationAvailability(Intent)
পদ্ধতি ব্যবহার করে Intent
থেকে অবস্থানের প্রাপ্যতার স্থিতি বের করুন।
হ্যান্ডেল অবস্থান পাওয়া যায়নি
GPS সংকেত হারিয়ে গেলে, আপনি ব্যবহারকারীর ঘড়ির সর্বশেষ পরিচিত অবস্থানটি পুনরুদ্ধার করতে পারেন। সর্বশেষ পরিচিত অবস্থানটি পুনরুদ্ধার করা সহায়ক যখন আপনি একটি GPS ফিক্স পেতে না পারেন এবং যখন ঘড়িতে অন্তর্নির্মিত GPS এর অভাব থাকে এবং ফোনের সাথে সংযোগ হারিয়ে ফেলে। আরও তথ্যের জন্য, সর্বশেষ পরিচিত অবস্থান পান দেখুন।
ব্যাচড কল সহ ফ্লাশ লোকেশন
আপনি যদি ব্যাচড কল ব্যবহার করে থাকেন, স্ক্রীনটি আবার চালু হয়ে গেলে বা অ্যাম্বিয়েন্ট মোড থেকে ফিরে আসার সময় flushLocations()
কল করুন যাতে অবিলম্বে সমস্ত রেজিস্টার্ড LocationListeners
, LocationCallbacks
এবং Pending Intents
কোনো ব্যাচ করা অবস্থান ফেরত দেওয়া হয়।