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

ব্যবহারকারীদের অবস্থান অ্যাক্সেসের জন্য অনুরোধ করার বিষয়ে আরও তথ্যের জন্য, Android ডেভেলপার ডকুমেন্টেশনে অবস্থানের অনুমতির অনুরোধ করুন | সেন্সর এবং অবস্থান | Android ডেভেলপার দেখুন।
নেভিগেশন বিজ্ঞপ্তিগুলির যথাযথ পরিষ্কার নিশ্চিত করুন
আপনার অ্যাপটি যাতে বিজ্ঞপ্তিগুলি আর প্রয়োজন না হওয়ার পরেও জীবন্ত না রাখে তা নিশ্চিত করতে, নিম্নলিখিত পরিষ্কারের পদক্ষেপগুলি অনুসরণ করুন:
-
startGuidance()ব্যবহার করার পর,stopGuidance()অথবাclearDestination()ব্যবহার করতে ভুলবেন না। -
ArrivalListenerনিবন্ধন করার পরে, এটি নিবন্ধনমুক্ত করতে ভুলবেন না। -
RoadSnappedLocationProviderনিবন্ধন করার পরে, এটি নিবন্ধনমুক্ত করতে ভুলবেন না।
এই ধাপগুলি সম্পূর্ণ করলে নিশ্চিত হয় যে যখন আর প্রয়োজন থাকবে না তখন বিজ্ঞপ্তিগুলি জীবন্ত থাকবে না, যার ফলে ব্যাটারি শেষ হতে পারে এবং মেমরি লিক হতে পারে।
NavigationApi#initForegroundServiceManager পদ্ধতিগুলি পুনরায় চালু করার সময়, প্রথমে NavigationApi#clearForegroundServiceManager চালু করুন
যদি আপনার অ্যাপটি ForegroundServiceManager ব্যবহার করে, তাহলে NavigationApi NavigationApi#initForegroundServiceManagerProvider NavigationApi#clearForegroundServiceManager ব্যবহার করুন, এবং যদি আপনি ইতিমধ্যে ForegroundServiceManager ব্যবহার করে থাকেন, NavigationApi#initForegroundServiceManagerMessageAndIntent ব্যবহার করুন। ফোরগ্রাউন্ড সার্ভিস ম্যানেজার চালু করার পরে আপনি বিজ্ঞপ্তি আইডি বা বিজ্ঞপ্তি সামগ্রী আপডেট করতে এটি করতে পারেন।
অ্যান্ড্রয়েড ১৪-এ প্রবর্তিত নতুন বিধিনিষেধ সম্পর্কে
অ্যান্ড্রয়েড ১৪ (অ্যান্ড্রয়েড ইউ) ব্যাকগ্রাউন্ডে ব্যবহারকারীর অবস্থান অ্যাক্সেস করার জন্য অ্যাপগুলির উপর নতুন বিধিনিষেধ আরোপ করেছে । এই পরিবর্তনগুলি প্রশমিত করতে, ব্যাকগ্রাউন্ড অবস্থান অ্যাক্সেস আরও ভালভাবে পরিচালনা করার জন্য নেভিগেশন SDK সংস্করণ 5.4.0 এ আপডেট করা হয়েছে। আপনার অ্যাপটি যাতে সবচেয়ে সুনির্দিষ্ট অবস্থান ডেটাতে অ্যাক্সেস পেতে পারে তা নিশ্চিত করার জন্য আমরা আপনাকে আপনার বাস্তবায়ন আপডেট করার পরামর্শ দিচ্ছি।
অ্যান্ড্রয়েড ১৪-এর পরিবর্তনগুলি কীভাবে নেভিগেশন SDK-কে প্রভাবিত করে
যখন আপনি আপনার অ্যাপে startGuidance() ব্যবহার করেন, তখন ফোরগ্রাউন্ড পরিষেবাটি টার্ন-বাই-টার্ন নেভিগেশনের জন্য ব্যবহারকারীর বিজ্ঞপ্তি দেখাতে শুরু করে। টার্ন-বাই-টার্ন নেভিগেশন রুট আপডেট করার জন্য এবং সঠিক ভিজ্যুয়াল এবং অডিও নির্দেশিকা দেখানোর জন্য ব্যবহারকারীর অবস্থান অ্যাক্সেস করার উপর নির্ভর করে। Android 14 থেকে শুরু করে, ব্যাকগ্রাউন্ডে ব্যবহারকারীর সুনির্দিষ্ট অবস্থান অ্যাক্সেস করার জন্য ব্যবহারকারীর অনুমতি প্রয়োজন। ডিফল্টরূপে, যদি কোনও অ্যাপের ব্যাকগ্রাউন্ড লোকেশন অ্যাক্সেসের জন্য ব্যবহারকারীর অনুমতি না থাকে এবং লোকেশন আপডেটের জন্য একটি ফোরগ্রাউন্ড পরিষেবা শুরু করার চেষ্টা করে, তাহলে সিস্টেমটি একটি SecurityException নিক্ষেপ করে, যার ফলে অ্যাপটি ক্র্যাশ হয়ে যায়।
নেভিগেশন SDK কীভাবে এই সমস্যাটি কমিয়ে আনে
৫.৪.০ সংস্করণ থেকে শুরু করে, নেভিগেশন SDK অ্যাপটিকে প্রভাবিত না করেই এই SecurityException পরিচালনা করে, যার ফলে নেভিগেশন ব্যাকগ্রাউন্ডে চলতে থাকে। অতিরিক্তভাবে, নেভিগেশন SDK এর AndroidManifest এ ACCESS_BACKGROUND_LOCATION অনুমতি অন্তর্ভুক্ত করে। এইভাবে, আপনার অ্যাপকে অনুমতি নিজেই ঘোষণা করার প্রয়োজন নেই, কারণ Gradle মার্জিং এটি পরিচালনা করবে। তবে, যদি অ্যাপটি ব্যাকগ্রাউন্ডে যাওয়ার আগে ব্যবহারকারীকে কোনও বিজ্ঞপ্তি প্রদর্শিত না হয়, তাহলে নেভিগেশন SDK অবস্থান আপডেট প্রদানের জন্য সিস্টেমের উপর নির্ভর করবে। এই সিস্টেম আপডেটগুলি ঘন ঘন বা সুনির্দিষ্ট নাও হতে পারে এবং এর ফলে সর্বোত্তম নেভিগেশন অভিজ্ঞতা কম হতে পারে। এই কারণে, আমরা আপনাকে ব্যবহারকারীদের ব্যাকগ্রাউন্ড অবস্থান অ্যাক্সেসের জন্য অনুরোধ করার পরামর্শ দিচ্ছি।
নেভিগেশনের জন্য অবস্থানের নির্ভুলতা উন্নত করতে অ্যাপ ডেভেলপাররা কী করতে পারে
ব্যবহারকারীদের ব্যাকগ্রাউন্ড লোকেশন অ্যাক্সেসের জন্য অনুরোধ করার জন্য আপনার অ্যাপ আপডেট করে আপনি নেভিগেশন SDK দ্বারা ব্যবহৃত লোকেশন সিগন্যালের নির্ভুলতা উন্নত করতে পারেন। আরও তথ্যের জন্য, "সর্বদা অনুমতি দিন" লোকেশন অনুমতির অনুরোধ দেখুন।