Wear OS-এ অবস্থান শনাক্ত করুন

একটি ঘড়ির ছোট, নজরে পড়ার মতো ফর্ম ফ্যাক্টর Wear OS-কে এমন অ্যাপের জন্য একটি আদর্শ প্ল্যাটফর্ম করে তোলে যা ব্যবহারকারীর অবস্থান রেকর্ড করে, রিপোর্ট করে এবং সাড়া দেয়। উদাহরণস্বরূপ, আপনি এমন অ্যাপ তৈরি করতে পারেন যা ব্যবহারকারীদের তাদের দূরত্ব, গতি এবং দিকনির্দেশনা সম্পর্কে রিয়েল-টাইম আপডেট দেয়, অথবা ব্যবহারকারীদের আশেপাশের পরিবেশ সম্পর্কে নজরে পড়ার মতো ইঙ্গিত প্রদান করে।

আরও তথ্যের জন্য, অবস্থান-সচেতন অ্যাপ তৈরি করুন দেখুন।

কিছু ঘড়িতে একটি অন্তর্নির্মিত GPS সেন্সর থাকে যা কোনও সংযুক্ত ফোনের প্রয়োজন ছাড়াই অবস্থানের ডেটা পুনরুদ্ধার করে। যখন আপনি একটি ঘড়ি অ্যাপে অবস্থানের ডেটা অনুরোধ করেন, তখন সিস্টেমটি সবচেয়ে শক্তি-সাশ্রয়ী পদ্ধতি ব্যবহার করে ফোন বা ঘড়ি থেকে অবস্থান পুনরুদ্ধার করে। অতএব, ঘড়িতে GPS সেন্সর ছাড়াই, আপনি এখনও অবস্থানের তথ্য পেতে পারেন।

ব্যাটারি লাইফের উপর লোকেশন ডেটা অর্জনের প্রভাব কমাতে, PRIORITY_BALANCED_POWER_ACCURACY মান সহ setPriority() কল করুন। বিভিন্ন অগ্রাধিকার সেটিংস চিপগুলিকে ভিন্নভাবে অপ্টিমাইজ করতে পারে।

যখন সম্ভব, setInterval() ব্যবহার করে প্রতি মিনিটে একবারের বেশি লোকেশন জিজ্ঞাসা করে ব্যাটারি সংরক্ষণ করুন।

পরবর্তী বিভাগগুলিতে বর্ণিত হিসাবে, সেন্সরবিহীন ঘড়ি ফোন থেকে সংযোগ বিচ্ছিন্ন হয়ে গেলে অবস্থানের ডেটা হারানোর বিষয়টি আপনার অ্যাপটিকে পরিচালনা করতে হবে।

আপনার পদ্ধতি বেছে নিন

Wear OS অ্যাপে লোকেশন ডেটা প্রদানের দুটি উপায় আছে। আপনি Fused Location Provider (FLP) অথবা Wear Health Services (WHS) ব্যবহার করতে পারেন। FLP হল একটি Google Play পরিষেবা API।

নিম্নলিখিত পরিস্থিতিতে FLP ব্যবহার করুন:

  • আপনি মুহূর্তের অবস্থানের ডেটা চান কিন্তু ক্রমাগত নয়, যেমন পার্ক করা গাড়ির অবস্থান চিহ্নিত করা।
  • আপনি ক্রমাগত অবস্থান চান কিন্তু অবস্থানের ইতিহাসের প্রয়োজন নেই।

নিম্নলিখিত পরিস্থিতিতে WHS ব্যবহার করুন:

  • আপনি অন্যান্য সেন্সর থেকে ডেটা চান অথবা ভবিষ্যতে অন্যান্য সেন্সর থেকে ডেটা চাইবেন বলে মনে হয়।
  • আপনার অ্যাপটি একটি ওয়ার্কআউট বা ব্যায়াম অ্যাপ যা নির্দিষ্ট সময়ের ব্যবধানে অবস্থানের ডেটা ট্র্যাক করতে হবে।

ফিউজড লোকেশন প্রোভাইডার ব্যবহার করুন

একটি ঘড়িতে, FusedLocationProviderClient ব্যবহার করে অবস্থানের ডেটা পান। FLP ফোন থেকে অবস্থানের ডেটা ব্যবহার করতে পারে। আরও তথ্যের জন্য, অবস্থান পরিষেবা ক্লায়েন্ট তৈরি করুন দেখুন।

অবস্থান আপডেটের অনুরোধ করা এবং ব্যবহারকারীর অবস্থান ক্রমাগত ট্র্যাক করা সম্পর্কে তথ্যের জন্য, অবস্থান আপডেটের অনুরোধ দেখুন।

অন-বোর্ড জিপিএস সনাক্ত করুন

যদি কোনও ব্যবহারকারী এমন একটি ঘড়ি নিয়ে জগিং করতে যান যার মধ্যে অন্তর্নির্মিত GPS সেন্সর নেই এবং জোড়া ফোনটি পিছনে ফেলে রাখেন, তাহলে আপনার ঘড়ি অ্যাপটি সংযুক্ত ডিভাইসের মাধ্যমে অবস্থানের ডেটা পেতে পারবে না। আপনার অ্যাপে এই পরিস্থিতিটি সনাক্ত করুন এবং ব্যবহারকারীকে সতর্ক করুন যে অবস্থানের ক্ষমতা অনুপলব্ধ।

একটি ঘড়িতে বিল্ট-ইন GPS সেন্সর আছে কিনা তা নির্ধারণ করতে, PackageManager.FEATURE_LOCATION_GPS ব্যবহার করে hasSystemFeature() পদ্ধতিটি কল করুন। আপনি যখন কোনও কার্যকলাপ শুরু করেন তখন নিম্নলিখিত কোডটি ঘড়িতে বিল্ট-ইন GPS সেন্সর আছে কিনা তা সনাক্ত করে:

class LocationActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        // ...
    }
    fun hasGps(): Boolean =
        packageManager.hasSystemFeature(PackageManager.FEATURE_LOCATION_GPS)
}

সংযোগ বিচ্ছিন্ন করার ঘটনাগুলি পরিচালনা করুন

যদি কোনও ঘড়িতে বিল্ট-ইন জিপিএস সেন্সর না থাকে এবং ফোনের সাথে সংযোগ বিচ্ছিন্ন হয়ে যায়, তাহলে ঘড়িটি তার অবস্থান ডেটা স্ট্রিম হারায়। যদি আপনার অ্যাপটি ক্রমাগত ডেটা স্ট্রিম আশা করে, তাহলে আপনার অ্যাপটিকে সংযোগ বিচ্ছিন্নতা সনাক্ত করতে হবে, ব্যবহারকারীকে সতর্ক করতে হবে এবং কার্যকারিতা সুন্দরভাবে হ্রাস করতে হবে।

মোবাইল ডিভাইসের মতো, যখন আপনি FusedLocationProviderClient.requestLocationUpdates() ব্যবহার করে অবস্থান আপডেটের অনুরোধ করেন, তখন আপনি একটি LocationCallback অথবা একটি PendingIntent পাস করেন। এই দুটির মধ্যে অবস্থানের তথ্য এবং LocationAvailability স্থিতি অন্তর্ভুক্ত থাকে।

LocationCallback বিকল্পটি ব্যবহার করার সময়, অবস্থানের উপলব্ধতার অবস্থা সম্পর্কে আপডেট পেতে onLocationAvailability() ওভাররাইড করুন।

PendingIntent অপশনটি ব্যবহার করার সময় এবং একটি Intent ফেরত পাঠানো হলে, LocationAvailability.extractLocationAvailability(Intent) পদ্ধতি ব্যবহার করে Intent থেকে অবস্থানের উপলব্ধতার অবস্থা বের করুন।

হ্যান্ডেলের অবস্থান খুঁজে পাওয়া যায়নি

যখন GPS সিগন্যাল হারিয়ে যায়, তখন আপনি ব্যবহারকারীর ঘড়ির শেষ পরিচিত অবস্থানটি পুনরুদ্ধার করতে পারেন। যখন আপনি GPS ঠিক করতে পারেন না এবং যখন ঘড়িতে অন্তর্নির্মিত GPS থাকে না এবং ফোনের সাথে সংযোগ বিচ্ছিন্ন হয়ে যায়, তখন শেষ পরিচিত অবস্থানটি পুনরুদ্ধার করা সহায়ক। আরও তথ্যের জন্য, "শেষ পরিচিত অবস্থানটি পান" দেখুন।

ব্যাচ করা কলের মাধ্যমে লোকেশন পরিষ্কার করুন

যদি আপনি ব্যাচড কল ব্যবহার করেন, তাহলে স্ক্রিনটি আবার চালু হলে অথবা অ্যাম্বিয়েন্ট মোড থেকে ফিরে আসার সময় flushLocations() কল করুন যাতে সমস্ত নিবন্ধিত LocationListeners , LocationCallbacks , এবং Pending Intents এ যেকোনো ব্যাচড লোকেশন অবিলম্বে ফেরত পাঠানো যায়।

পরীক্ষার বিবেচ্য বিষয়গুলি

Wear OS এমুলেটরের বর্ধিত নিয়ন্ত্রণ ব্যবহার করে অবস্থান এবং অন্যান্য সেন্সর ডেটা সিমুলেট করুন। আরও তথ্যের জন্য, সিমুলেট সেন্সর দেখুন।

{% অক্ষরে অক্ষরে %} {% এন্ডভারব্যাটিম %} {% অক্ষরে অক্ষরে %} {% এন্ডভারব্যাটিম %}