পটভূমি অবস্থান ব্যবহার সর্বোত্তম অনুশীলন

এই পৃষ্ঠাটি ব্যাকগ্রাউন্ড অবস্থান ব্যবহারের অনুমতির অনুরোধ এবং পরিচালনার জন্য সর্বোত্তম অনুশীলন ব্যাখ্যা করে।

"সব সময় অনুমতি দিন" অবস্থানের অনুমতির অনুরোধ করুন

Android 14 দিয়ে শুরু করে , ব্যবহারকারীর অবস্থান অ্যাক্সেস করার জন্য অ্যাপগুলির ACCESS_BACKGROUND_LOCATION অনুমতি থাকতে হবে৷ নেভিগেশন SDK এই অনুমতিটি তার ম্যানিফেস্ট ফাইলে অন্তর্ভুক্ত করে, তাই আপনাকে স্পষ্টভাবে এটির অনুরোধ করার প্রয়োজন নেই (যদি অন্য উদ্দেশ্যে প্রয়োজন না হয়), যেহেতু গ্রেডল ম্যানিফেস্ট একত্রীকরণ নিশ্চিত করবে যে এটি অ্যাপের ম্যানিফেস্টের সাথে একত্রিত হয়েছে।

যাইহোক, ব্যাকগ্রাউন্ডে অবস্থান অ্যাক্সেস করার জন্য ACCESS_BACKGROUND_LOCATION অনুমতি থাকা যথেষ্ট নয় এবং আমরা সুপারিশ করি যে আপনি ব্যবহারকারীদের কাছ থেকে "সব সময় অনুমতি দিন" অবস্থানের অনুমতির অনুরোধ করুন৷ এটি নিশ্চিত করে যে অ্যাপটি ব্যাকগ্রাউন্ডে চলতে পারে এবং বিজ্ঞপ্তিগুলি দেখাতে পারে, যা নেভিগেশনের সময় অবস্থানের যথার্থতা সর্বাধিক করে।

প্রম্পটটি ব্যবহারকারীদের ব্যাখ্যা করবে যে কিভাবে অনুমতি প্রদান করলে অবস্থানের নির্ভুলতা উন্নত হবে এবং অ্যাপটি ব্যাকগ্রাউন্ডে চলাকালীন তাদের নেভিগেশন অভিজ্ঞতা উন্নত করবে।

নমুনা অনুমতি ডায়ালগ

ব্যবহারকারীদের অবস্থান অ্যাক্সেসের জন্য অনুরোধ করার বিষয়ে আরও তথ্যের জন্য, অবস্থানের অনুমতির অনুরোধ দেখুন | সেন্সর এবং অবস্থান | অ্যান্ড্রয়েড ডেভেলপার ডকুমেন্টেশনে অ্যান্ড্রয়েড ডেভেলপার

নেভিগেশন বিজ্ঞপ্তির সঠিক পরিচ্ছন্নতা নিশ্চিত করুন

আপনার অ্যাপ যাতে আর প্রয়োজন না থাকার পরে বিজ্ঞপ্তিগুলিকে জীবিত রাখে না তা নিশ্চিত করতে, আপনি নিম্নলিখিত পরিষ্কারের পদক্ষেপগুলি সম্পাদন করেছেন তা নিশ্চিত করুন:

  • startGuidance() চালু করার পর, stopGuidance() অথবা clearDestination() চালু করতে ভুলবেন না।
  • ArrivalListener নিবন্ধন করার পরে, এটি নিবন্ধনমুক্ত করতে ভুলবেন না।
  • RoadSnappedLocationProvider রেজিস্টার করার পর, এটিকে আনরেজিস্টার করতে ভুলবেন না।

এই পদক্ষেপগুলি সম্পূর্ণ করা নিশ্চিত করে যে বিজ্ঞপ্তিগুলিকে জীবিত রাখা হয় না যখন তাদের আর প্রয়োজন হয় না, যা ব্যাটারি ড্রেন এবং সম্ভাব্য মেমরি লিক হতে পারে।

যখন NavigationApi#initForegroundServiceManager পদ্ধতি পুনরায় চালু করা হয়, প্রথমে NavigationApi#clearForegroundServiceManager চালু করুন

যদি আপনার অ্যাপটি ForegroundServiceManager ব্যবহার করে, তাহলে NavigationApi#initForegroundServiceManagerProvider চালু করার আগে NavigationApi#clearForegroundServiceManager ডাকুন, এবং আপনি যদি ইতিমধ্যেই ForegroundServiceManager চালু করে থাকেন, NavigationApi#initForegroundServiceManagerMessageAndIntent চালু করুন। আপনি ফোরগ্রাউন্ড সার্ভিস ম্যানেজার শুরু করার পরে বিজ্ঞপ্তি আইডি বা বিজ্ঞপ্তি বিষয়বস্তু আপডেট করতে এটি করতে পারেন।

অ্যান্ড্রয়েড 14 এ প্রবর্তিত নতুন বিধিনিষেধ সম্পর্কে

অ্যান্ড্রয়েড 14 (অ্যান্ড্রয়েড ইউ) ব্যাকগ্রাউন্ডে ব্যবহারকারীর অবস্থান অ্যাক্সেস করার অ্যাপগুলিতে নতুন বিধিনিষেধ চালু করেছে । এই পরিবর্তনগুলি প্রশমিত করতে সাহায্য করার জন্য, নেভিগেশন SDK সংস্করণ 5.4.0 সংস্করণে আপডেট করা হয়েছিল যাতে ব্যাকগ্রাউন্ড লোকেশন অ্যাক্সেস আরও ভালভাবে পরিচালনা করা যায়। এছাড়াও আমরা সুপারিশ করি যে আপনি আপনার প্রয়োগকে আপডেট করুন যাতে আপনার অ্যাপটি সবচেয়ে সুনির্দিষ্ট অবস্থানের ডেটাতে অ্যাক্সেস অব্যাহত রাখে।

Android 14-এর পরিবর্তনগুলি কীভাবে নেভিগেশন SDK-কে প্রভাবিত করে

আপনি যখন আপনার অ্যাপে startGuidance() চালু করেন, তখন ফোরগ্রাউন্ড পরিষেবাটি পালাক্রমে নেভিগেশনের জন্য ব্যবহারকারীর বিজ্ঞপ্তি দেখাতে শুরু করে। টার্ন-বাই-টার্ন নেভিগেশন রুট আপডেট করতে এবং সঠিক ভিজ্যুয়াল এবং অডিও নির্দেশিকা দেখানোর জন্য ব্যবহারকারীর অবস্থান অ্যাক্সেস করতে সক্ষম হওয়ার উপর নির্ভর করে। Android 14 থেকে শুরু করে, ব্যাকগ্রাউন্ডে ব্যবহারকারীর সুনির্দিষ্ট অবস্থান অ্যাক্সেস করতে ব্যবহারকারীর অনুমতি প্রয়োজন। ডিফল্টরূপে, যদি কোনো অ্যাপের ব্যাকগ্রাউন্ড লোকেশন অ্যাক্সেসের জন্য ব্যবহারকারীর অনুমতি না থাকে এবং লোকেশন আপডেটের জন্য একটি ফোরগ্রাউন্ড পরিষেবা শুরু করার চেষ্টা করে, তাহলে সিস্টেমটি একটি SecurityException নিক্ষেপ করে, যার ফলে অ্যাপটি ক্র্যাশ হয়ে যায়।

কীভাবে নেভিগেশন SDK এই সমস্যাটি কমিয়ে দেয়

সংস্করণ 5.4.0 দিয়ে শুরু করে, নেভিগেশন SDK অ্যাপটিকে প্রভাবিত না করেই এই SecurityException পরিচালনা করে, নেভিগেশনকে ব্যাকগ্রাউন্ডে চালিয়ে যেতে দেয়। উপরন্তু, নেভিগেশন SDK এর AndroidManifestACCESS_BACKGROUND_LOCATION অনুমতি অন্তর্ভুক্ত করে। এইভাবে, আপনার অ্যাপের অনুমতিটি নিজেই ঘোষণা করার দরকার নেই, কারণ গ্রেডল মার্জিং এটি পরিচালনা করবে। যাইহোক, যদি অ্যাপটি ব্যাকগ্রাউন্ডে যাওয়ার আগে ব্যবহারকারীর কাছে কোনো বিজ্ঞপ্তি প্রদর্শিত না হয়, তাহলে ন্যাভিগেশন SDK লোকেশন আপডেট দেওয়ার জন্য সিস্টেমের উপর নির্ভর করবে। এই সিস্টেম আপডেটগুলি ঘন ঘন বা সুনির্দিষ্ট নাও হতে পারে এবং এর ফলে সাবঅপ্টিমাল নেভিগেশন অভিজ্ঞতা হয়। এই কারণে, আমরা সুপারিশ করছি যে আপনি ব্যাকগ্রাউন্ড লোকেশন অ্যাক্সেসের জন্য ব্যবহারকারীদেরও অনুরোধ করুন।

নেভিগেশনের জন্য অবস্থান নির্ভুলতা উন্নত করতে অ্যাপ বিকাশকারীরা কী করতে পারে৷

ব্যাকগ্রাউন্ড লোকেশন অ্যাক্সেসের জন্য ব্যবহারকারীদের অনুরোধ জানানোর জন্য আপনি আপনার অ্যাপ আপডেট করে নেভিগেশন SDK দ্বারা ব্যবহৃত অবস্থান সংকেতের নির্ভুলতা উন্নত করতে পারেন। আরও তথ্যের জন্য, "সব সময় অনুমতি দিন" অবস্থানের অনুমতির অনুরোধ দেখুন।