আপনার অ্যাপে 5G ক্ষমতা যোগ করুন

Android 11 আপনার অ্যাপে 5G সমর্থন করার জন্য কার্যকারিতা যোগ করে। এই বিষয়টি কার্যকারিতাকে কভার করে এবং আপনার অ্যাপে 5G-নির্দিষ্ট কার্যকারিতা যোগ করলে ব্যবহারকারীর অভিজ্ঞতাকে কীভাবে উন্নত করা যায় তার একটি ওভারভিউ দেয়।

5G এর জন্য তৈরি করুন

5G-এর সাথে কীভাবে জড়িত থাকবেন তা সিদ্ধান্ত নেওয়ার সময়, আপনি কী ধরণের অভিজ্ঞতা তৈরি করার চেষ্টা করছেন সে সম্পর্কে চিন্তা করুন। 5G আপনার অ্যাপকে উন্নত করতে পারে এমন কিছু উপায় অন্তর্ভুক্ত:

  • 5G-এর গতি এবং লেটেন্সি উন্নতির কারণে বর্তমান অভিজ্ঞতাগুলিকে স্বয়ংক্রিয়ভাবে দ্রুত এবং আরও ভাল করে তুলুন৷
  • ব্যবহারকারীর অভিজ্ঞতাকে উচ্চতর করুন, যেমন 4k ভিডিও দেখানো বা উচ্চ-রেজোলিউশন গেম সম্পদ ডাউনলোড করে।
  • বর্ধিত ডেটা ব্যবহার ব্যবহারকারীর খরচ হবে না তা নিশ্চিত করার পরে, সাধারণত শুধুমাত্র Wi-Fi-এর মাধ্যমে প্রদান করা অভিজ্ঞতাগুলি অন্তর্ভুক্ত করুন, যেমন সাধারণত মিটারবিহীন Wi-Fi-এর জন্য সংরক্ষিত সামগ্রী সক্রিয়ভাবে ডাউনলোড করুন৷
  • 5G-তে অনন্য অভিজ্ঞতা প্রদান করুন যা শুধুমাত্র উচ্চ গতি এবং কম বিলম্বের সাথে কাজ করে।

5G কার্যকারিতা

অ্যান্ড্রয়েড 11 নিম্নলিখিত কার্যকারিতা পরিবর্তন এবং বর্ধনগুলি প্রবর্তন করে:

পরিমাপকতা পরীক্ষা করুন

NET_CAPABILITY_TEMPORARILY_NOT_METERED হল Android 11-এ যোগ করা একটি ক্ষমতা যা আপনাকে বলে যে আপনি যে নেটওয়ার্কটি ব্যবহার করছেন সেটি সেলুলার ক্যারিয়ারের দেওয়া তথ্যের উপর ভিত্তি করে আনমিটার করা হয়েছে কিনা।

নতুন পতাকা NET_CAPABILITY_NOT_METERED পাশাপাশি ব্যবহার করা হয়েছে। বিদ্যমান পতাকাটি নির্দেশ করে যদি একটি নেটওয়ার্ক সর্বদা মিটারবিহীন থাকে এবং এটি Wi-Fi এবং সেলুলার সংযোগ উভয় ক্ষেত্রেই প্রযোজ্য।

দুটি পতাকার মধ্যে পার্থক্য হল NET_CAPABILITY_TEMPORARILY_NOT_METERED নেটওয়ার্ক প্রকার পরিবর্তন না করেও পরিবর্তন হতে পারে৷ যে অ্যাপগুলি Android 11 কে লক্ষ্য করে সেগুলি NET_CAPABILITY_TEMPORARILY_NOT_METERED পতাকা ব্যবহার করতে পারে৷ অ্যান্ড্রয়েড 9 এবং তার নীচের সংস্করণে চলমান ডিভাইসগুলিতে, OS পতাকার উপর রিপোর্ট করবে না। Android 10 এ চলমান অ্যাপগুলির জন্য, এই পতাকাটি উপলব্ধ হতে পারে, এটি যে ডিভাইসে চলছে তার উপর নির্ভর করে।

একবার আপনি নির্ধারণ করেছেন যে বর্তমান নেটওয়ার্কটি অস্থায়ীভাবে বা স্থায়ীভাবে মিটারবিহীন, আপনি উচ্চ-রেজোলিউশন সামগ্রী প্রদর্শন করতে পারেন (যেমন 4k ভিডিও), লগ আপলোড করতে, ফাইলগুলি ব্যাক আপ করতে এবং সক্রিয়ভাবে সামগ্রী ডাউনলোড করতে পারেন৷

নিম্নলিখিত বিভাগগুলি আপনার অ্যাপে পরিমাপ-পরীক্ষা যোগ করার পদক্ষেপগুলি কভার করে৷

একটি নেটওয়ার্ক কলব্যাক নিবন্ধন করুন৷

NetworkCapabilities পরিবর্তিত হলে শুনতে ConnectivityManager.registerDefaultNetworkCallback() ব্যবহার করে একটি নেটওয়ার্ক কলব্যাকের জন্য নিবন্ধন করুন৷ আপনি আপনার NetworkCallbackonCapabilitiesChanged() পদ্ধতি ওভাররাইড করে NetworkCapabilities তে পরিবর্তন সনাক্ত করতে পারেন।

registerDefaultNetworkCallback() নিবন্ধিত কলব্যাককে সাথে সাথে ট্রিগার করে যখন নিবন্ধিত হয়, অ্যাপটিকে বর্তমান অবস্থা সম্পর্কে তথ্য দেয়। ভবিষ্যত কলব্যাকগুলি অ্যাপ্লিকেশানগুলির জন্য যথাযথ পদক্ষেপ নেওয়ার জন্য গুরুত্বপূর্ণ যখন রাজ্যটি মিটারবিহীন থেকে মিটারযুক্ত বা অন্যভাবে পরিবর্তিত হয়৷

পরিমাপের জন্য পরীক্ষা করুন

নিম্নলিখিত কোডের আউটপুট পরীক্ষা করতে নেটওয়ার্ক কলব্যাকে আপনি যে NetworkCapabilites অবজেক্টটি পান তা ব্যবহার করুন:

কোটলিন

NetworkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED) ||
  NetworkCapabilities.hasCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED)

জাভা

NetworkCapabilities.hasCapability(NET_CAPABILITY_NOT_METERED) ||
  NetworkCapabilities.hasCapability(NET_CAPABILITY_TEMPORARILY_NOT_METERED)

যদি মান সত্য হয়, তাহলে আপনি নেটওয়ার্কটিকে আনমিটারড হিসাবে বিবেচনা করতে পারেন।

অতিরিক্ত বিবেচনা

এই কার্যকারিতা নিয়ে কাজ করার সময়, নিম্নলিখিতগুলি মনে রাখবেন:

  • NET_CAPABILITY_TEMPORARILY_NOT_METERED পতাকা ব্যবহার করার জন্য আপনাকে Android 11 SDK-এর সাথে আপনার অ্যাপ কম্পাইল করতে হবে।

  • NET_CAPABILITY_NOT_METERED ক্ষমতা একটি নেটওয়ার্কে স্থায়ী। এই ক্ষমতা সহ একটি নেটওয়ার্ক স্বয়ংক্রিয়ভাবে সংযোগ বিচ্ছিন্ন হয়ে যাবে যদি এটি সক্ষমতা হারায় (মিটার করা হয়)।

  • বিপরীতে, NET_CAPABILITY_TEMPORARILY_NOT_METERED সংযোগ বিচ্ছিন্ন না করে একটি নেটওয়ার্কে পরিবর্তন হতে পারে। তাই, নেটওয়ার্ক যখন তার মিটার করা অবস্থায় ফিরে আসে ( NET_CAPABILITY_TEMPORARILY_NOT_METERED ক্ষমতা হারায়) তখন হ্যান্ডেল করার জন্য অ্যাপগুলিকে অবশ্যই onCapabilitiesChanged() কলব্যাক শুনতে হবে।

  • একটি নেটওয়ার্কে একই সময়ে NET_CAPABILITY_NOT_METERED এবং NET_CAPABILITY_TEMPORARILY_NOT_METERED উভয়ই থাকতে পারে না৷

5G সনাক্তকরণ

অ্যান্ড্রয়েড 11 থেকে শুরু করে, আপনি একটি কলব্যাক-ভিত্তিক API কল ব্যবহার করে ডিভাইসটি 5G নেটওয়ার্কের সাথে সংযুক্ত কিনা তা সনাক্ত করতে পারেন। সংযোগটি একটি 5G NR (স্বতন্ত্র) বা NSA (ননস্ট্যান্ডএলোন) নেটওয়ার্ক কিনা তা আপনি পরীক্ষা করতে পারেন৷

এই API কলের জন্য কিছু ব্যবহার অন্তর্ভুক্ত থাকতে পারে:

  • আপনি একটি অনন্য 5G অভিজ্ঞতা অফার করছেন তা হাইলাইট করতে আপনার অ্যাপে 5G ব্র্যান্ডিং প্রদর্শন করা হচ্ছে।

  • শুধুমাত্র একটি 5G নেটওয়ার্কে থাকাকালীন অ্যাপে একটি অনন্য 5G অভিজ্ঞতা সক্রিয় করা। আপনার এই স্ট্যাটাস চেকের সাথে মিটারেডনেস চেক করা উচিত।

  • বিশ্লেষণের উদ্দেশ্যে 5G সংযোগের ট্র্যাক রাখা।

একটি 5G ডিভাইস ছাড়াই 5G সনাক্তকরণ পরীক্ষা করতে, আপনি Android SDK এমুলেটরে যোগ করা বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন৷

5G সনাক্ত করুন

ব্যবহারকারীর একটি 5G নেটওয়ার্ক সংযোগ আছে কিনা তা নির্ধারণ করতে LISTEN_DISPLAY_INFO_CHANGED এ পাস করে TelephonyManager.listen() এ কল করুন। প্রদর্শনের উদ্দেশ্যে ব্যবহৃত নেটওয়ার্কের ধরন নির্ধারণ করতে onDisplayInfoChanged() পদ্ধতিটি ওভাররাইড করুন। একটি ব্যতিক্রম হল যে ক্যারিয়ার যদি তাদের mmWave নেটওয়ার্কের জন্য RAT হিসাবে 5G দেখাতে বেছে নেয়, OVERRIDE_NETWORK_TYPE_NR_NSA ফেরত দেওয়া হয়।

নিম্নলিখিত সারণী নেটওয়ার্কগুলি দেখায় যা মানগুলির সাথে সঙ্গতিপূর্ণ:

রিটার্ন টাইপ নেটওয়ার্ক
OVERRIDE_NETWORK_TYPE_LTE_ADVANCED_PRO অ্যাডভান্সড প্রো LTE (5Ge)
OVERRIDE_NETWORK_TYPE_NR_NSA 5G সাব-6 নেটওয়ার্কের জন্য NR (5G)
OVERRIDE_NETWORK_TYPE_NR_NSA_MMWAVE (5G+/5G UW) 5G mmWave নেটওয়ার্কের জন্য

ব্যান্ডউইথ অনুমান

ব্যান্ডউইথ অনুমান NetworkCapabilities অবজেক্ট ব্যবহার করে যা আপনি মিটারেডনেস নির্ধারণ করার সময় কাজ করেন। আপনি সেই বস্তু ব্যবহার করে ব্যান্ডউইথ অনুমান পেতে পারেন।

ফ্রেমওয়ার্ক সাপোর্টে আপগ্রেড করা এবং 5G সামঞ্জস্য করার জন্য প্ল্যাটফর্ম/মডেম বাগ সংশোধনের কারণে Android 11-এ getLinkDownstreamBandwidthKbps() এবং getLinkUpstreamBandwidthKbps() ব্যান্ডউইথ অনুমান পদ্ধতির নির্ভরযোগ্যতা এবং নির্ভুলতা উন্নত হয়েছে।

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