iOS অনুমতি এবং আবিষ্কার

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

iOS 14

বিকাশকারীদের তাদের iOS কাস্ট প্রেরক অ্যাপগুলিকে Google Cast SDK v4.6.0 বা তার পরে আপডেট করা উচিত৷ এই সংস্করণগুলি iOS 14 এবং এর প্রয়োজনীয়তার জন্য সমর্থন প্রদান করে।

iOS 14 থেকে শুরু করে, স্থানীয় নেটওয়ার্কে ডিভাইসগুলির জন্য স্ক্যান করা অ্যাপ্লিকেশনগুলি এখন ব্যবহারকারীদের স্থানীয় নেটওয়ার্ক ডিভাইসগুলি খুঁজে পেতে এবং সংযোগ করার জন্য একটি এককালীন অনুমতি ডায়ালগ সহ প্রম্পট করবে৷ কাস্ট প্ল্যাটফর্ম কাস্ট ডিভাইসগুলি আবিষ্কার ও নিয়ন্ত্রণ করতে স্থানীয় নেটওয়ার্ক ব্যবহার করে, তাই যদি ব্যবহারকারী অনুমতি অস্বীকার করেন, তারা কাস্ট করতে পারবেন না।

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

V4.4.8 বা তার আগের সংস্করণ ব্যবহার করে কাস্ট SDK-এর সংস্করণ দিয়ে নির্মিত অ্যাপগুলি যতক্ষণ পর্যন্ত Xcode 11.7 বা তার আগে তৈরি করা হবে ততক্ষণ কাজ করতে থাকবে৷ আপনি যদি Xcode 12 বা তার উপরে iOS 14-এর জন্য তৈরি করেন, তাহলে আপনার Cast অ্যাপটি সঠিকভাবে কাজ করা চালিয়ে যাবে তা নিশ্চিত করতে আমরা আপনাকে Cast SDK v4.6.0 বা তার পরে আপডেট করার পরামর্শ দিই।

কাস্ট iOS SDK v4.6.0 বা তার পরে CocoaPods সেটআপ অনুসরণ করে বা ম্যানুয়াল সেটআপ অনুসরণ করে ম্যানুয়ালি CocoaPods-এর সাথে ডাউনলোড করা যেতে পারে। নেটওয়ার্কে কাস্ট ডিভাইসগুলি খুঁজে পেতে Xcode 12 দিয়ে নির্মিত অ্যাপগুলিকে অনুমতি দেওয়ার জন্য এই রিলিজে অন্তর্নিহিত আবিষ্কার প্রক্রিয়ার পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে৷ কাস্ট বোতামটি এখন সর্বদা প্রদর্শন করা উচিত। ব্যবহারকারী কাস্ট বোতামে ট্যাপ করার সময় কোনো ডিভাইস উপলব্ধ না হলে, স্থানীয়-নেটওয়ার্ক অ্যাক্সেসের অনুমতি কীভাবে পুনরায় সক্ষম করতে হয় তার তথ্য সহ ডিভাইসগুলি কেন উপলব্ধ না হতে পারে তার নির্দেশিকা প্রদান করে একটি ডায়ালগ প্রদর্শিত হবে।

SDK পরিবর্তনগুলি কাস্ট করুন৷

প্রথমবার কাস্টিং

প্রথমবার একজন ব্যবহারকারী কাস্ট করার চেষ্টা করলে, স্থানীয় নেটওয়ার্কিং অ্যাক্সেস কেন প্রয়োজন তা ব্যাখ্যা করে একটি স্থানীয় নেটওয়ার্ক অ্যাক্সেস (LNA) ইন্টারস্টিশিয়াল ডায়ালগ প্রদর্শিত হবে, তারপরে অ্যাপল-প্রদত্ত iOS স্থানীয় নেটওয়ার্ক অ্যাক্সেস অনুমতি প্রম্পট অনুসরণ করবে। নীচের উপহাসগুলি প্রবাহকে চিত্রিত করে:

স্থানীয় নেটওয়ার্ক অ্যাক্সেস অনুমতি প্রবাহ

কাস্ট অনুপলব্ধ৷

iOS প্রেরক SDK 4.6.0 দিয়ে শুরু করে, ব্যবহারকারী যখন Wi-Fi এর সাথে সংযুক্ত থাকে তখন কাস্ট বোতামটি সর্বদা প্রদর্শিত হয়৷ যখন কাস্ট ডিভাইসগুলি অনুপলব্ধ থাকে, তখন কাস্ট বোতামে আলতো চাপলে একটি ডায়ালগ আসে যা ব্যবহারকারীকে কাস্ট অনুপলব্ধ হওয়ার সম্ভাব্য কারণগুলির ইঙ্গিত দেয়, যেমনটি নীচের মকগুলিতে দেখানো হয়েছে:

কাস্ট সহ ফ্লো অনুপলব্ধ৷

iOS 14 এ আপনার অ্যাপ আপডেট করা হচ্ছে

  1. আপনার প্রোজেক্টে Cast iOS SDK 4.7.0 যোগ করুন

    CocoaPods ব্যবহার করলে, আপনার প্রোজেক্টে 4.7.0 SDK যোগ করতে pod update ব্যবহার করুন।

    অন্যথায়, SDK ম্যানুয়ালি টানুন

  2. আপনার Info.plistNSBonjourServices যোগ করুন

    iOS 14-এ স্থানীয় নেটওয়ার্ক আবিষ্কার সফল করতে আপনার NSBonjourServicesInfo.plist নির্দিষ্ট করুন।

    ডিভাইস আবিষ্কার সঠিকভাবে কাজ করার জন্য আপনাকে পরিষেবা হিসাবে _googlecast._tcp এবং _<your-app-id>._googlecast._tcp উভয়ই যোগ করতে হবে।

    অ্যাপআইডি হল আপনার রিসিভার আইডি, যেটি একই আইডি যা আপনার GCKDiscoveryCriteria সংজ্ঞায়িত করা হয়েছে।

    নিম্নলিখিত উদাহরণ NSBonjourServices সংজ্ঞা আপডেট করুন এবং আপনার appID দিয়ে "ABCD1234" প্রতিস্থাপন করুন।

    <key>NSBonjourServices</key>
    <array>
      <string>_googlecast._tcp</string>
      <string>_ABCD1234._googlecast._tcp</string>
    </array>
  3. আপনার Info.plistNSLocalNetworkUsageDescription যোগ করুন

    আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি NSLocalNetworkUsageDescription-এর জন্য আপনার অ্যাপের Info.plist ফাইলে একটি অ্যাপ-নির্দিষ্ট অনুমতি স্ট্রিং যোগ করে স্থানীয় নেটওয়ার্ক প্রম্পটে দেখানো বার্তাটি কাস্টমাইজ করুন যেমন কাস্ট আবিষ্কার এবং NSLocalNetworkUsageDescription এর মতো অন্যান্য আবিষ্কার পরিষেবাগুলি বর্ণনা করতে।

    <key>NSLocalNetworkUsageDescription</key>
    <string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi
    network.</string>

    এই বার্তাটি iOS স্থানীয় নেটওয়ার্ক অ্যাক্সেস ডায়ালগের অংশ হিসাবে প্রদর্শিত হবে যেমনটি মকটিতে দেখানো হয়েছে৷

    স্থানীয় নেটওয়ার্ক অ্যাক্সেস অনুমতি ডায়ালগ ছবি কাস্ট করুন৷
  4. অ্যাপল অ্যাপ স্টোরে আপনার অ্যাপটি আবার রিলিজ করুন

    আমরা আপনাকে যত তাড়াতাড়ি সম্ভব 4.7.0 ব্যবহার করে আপনার অ্যাপ পুনরায় প্রকাশ করার পরামর্শ দিই।

কাস্টমাইজেশন

কাস্ট ডিভাইস আবিষ্কারের সূচনা

ডিফল্টরূপে, ব্যবহারকারী প্রথমবার কাস্ট বোতাম ( GCKUICastButton ) ট্যাপ করলে কাস্ট ডিভাইস আবিষ্কার শুরু হয়। iOS 14-এ আপগ্রেড করার পর ব্যবহারকারী যদি প্রথমবার স্থানীয় নেটওয়ার্কে Cast অ্যাপ ব্যবহার করার চেষ্টা করেন, তাহলে নতুন LNA ইন্টারস্টিশিয়াল প্রদর্শিত হবে, তারপরে iOS লোকাল নেটওয়ার্ক অ্যাক্সেস পারমিশন ডায়ালগ।

ডিভাইস আবিষ্কার কখন শুরু হয় এবং UX-এর কিছু উপাদানের আচরণ নিয়ন্ত্রণ করার জন্য একটি নতুন পতাকা উপলব্ধ রয়েছে:

startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)

ডিফল্ট মান true । এই পতাকাটি তখনই প্রযোজ্য যখন পতাকা GCKCastOptions::disableDiscoveryAutostart false সেট করা থাকে।

যদি true সেট করা থাকে, কোনো ব্যবহারকারী প্রথমবার GCKUICastButton এ ট্যাপ করলে কাস্ট ডিভাইস আবিষ্কার শুরু হয়। স্থানীয় নেটওয়ার্ক অনুমতি কেন প্রয়োজন তা জানিয়ে ব্যবহারকারীদের কাছে একটি তথ্যমূলক বার্তা প্রদর্শিত হবে। সেই বার্তাটি অনুসরণ করে, iOS 14 LNA বার্তাটি প্রদর্শিত হবে। বার্তাটি স্বীকার করার পরে কাস্ট ডিভাইস আবিষ্কার শুরু হয়৷

পরবর্তী অ্যাপ লঞ্চে, GCKUICastButton সর্বদা প্রদর্শন করে।

false সেট করা থাকলে, GCKCastOptions::disableDiscoveryAutostart পতাকার মানের উপর ভিত্তি করে ডিভাইস আবিষ্কার শুরু হবে।

সচরাচর জিজ্ঞাস্য

আমি যদি Cast SDK v4.4.8 এবং Xcode 12-এর সাথে আমার কাস্ট প্রেরক অ্যাপ পুনরায় প্রকাশ করি তাহলে কী হবে?

আপনার অ্যাপ স্থানীয় নেটওয়ার্কে কাস্ট ডিভাইসগুলি আবিষ্কার করতে সক্ষম নাও হতে পারে যদি না আপনি Apple থেকে একটি নেটওয়ার্কিং মাল্টিকাস্ট এনটাইটেলমেন্ট না পান৷ মনে রাখবেন যে Apple শুধুমাত্র কাস্টকে সমর্থন করার উদ্দেশ্যে মাল্টিকাস্ট এনটাইটেলমেন্ট দেবে না। আপনি যদি Xcode 12 দিয়ে তৈরি করার পরিকল্পনা করেন, তাহলে আপনার কাস্ট 4.6.0 এর সাথে আপনার অ্যাপটি প্রকাশ করা উচিত।

আমি যদি নতুন Cast SDK দিয়ে আমার অ্যাপ পুনরায় প্রকাশ করি, তাহলে আমার ব্যবহারকারীরা iOS 13 বা তার আগের অভিজ্ঞতা কী করবে?

আপনার অ্যাপ পুনরায় প্রকাশ করার আগে তারা একই ব্যবহারকারীর অভিজ্ঞতা দেখতে থাকবে। ব্যবহারকারী-দৃশ্যমান পরিবর্তনগুলি iOS 14 এ চলমান ব্যবহারকারীদের মধ্যে সীমাবদ্ধ।

Cast SDK-এর নতুন সংস্করণ প্রকাশিত হলে আমার অ্যাপ আপডেট করার জন্য আমাকে কী করতে হবে?

  • স্থানীয় নেটওয়ার্ক ব্যবহারের বিবরণ অন্তর্ভুক্ত করতে আপনার অ্যাপের Info.plist আপডেট করুন।
  • আপনার অ্যাপের NSBonjourServicesInfo.plist যোগ করুন এবং Cast এবং আপনার অ্যাপ আইডির জন্য Bonjour পরিষেবার নাম দিন।
  • Cast SDK 4.6.0 ব্যবহার করতে আপনার প্রেরক অ্যাপ আপগ্রেড করুন।
  • অ্যাপল অ্যাপ স্টোরে আপনার অ্যাপটি আবার রিলিজ করুন।

আমি 4.6.0 তে আপগ্রেড করার পরে কেন ডিভাইসগুলি আমার কাস্টম ডিভাইস পিকারে দেখানো বন্ধ হয়ে গেল?

এটি একটি পরিচিত সমস্যা যেটি ঘটতে পারে যদি আপনি স্ট্যান্ডার্ড ডিভাইস পিকারের পরিবর্তে একটি কাস্টম ডিভাইস পিকার ব্যবহার করেন। Cast SDK-এর 4.4.8 সংস্করণে এবং তার আগে, ডিভাইস স্ক্যানিং স্বয়ংক্রিয় ছিল। সংস্করণ 4.6.0 থেকে শুরু করে, ডিভাইস আবিষ্কার শুরু করার জন্য আপনাকে startDiscovery ক্লাসে GCKDiscoveryManager পদ্ধতিতে স্পষ্টভাবে কল করতে হবে।

এই পরিবর্তনের কারণ হল স্থানীয় নেটওয়ার্ক অ্যাক্সেস (LNA) অনুমতি প্রম্পট অ্যাপটি প্রথমবার স্ক্যান করার পরে প্রদর্শিত হবে। এর ফলে আপনার অ্যাপের এলোমেলো জায়গায় অনুমতি ডায়ালগ দেখা যেতে পারে।

যে সকল ডেভেলপাররা তাদের অ্যাপের জন্য একটি কাস্টম ডিভাইস পিকার তৈরি করেন তারা iOS 14-এ প্রথমবার ডিভাইস স্ক্যানিং শুরু করার আগে একটি এককালীন ইন্টারস্টিশিয়াল প্রদান করবেন বলে আশা করা হবে।

iOS 13

iOS 13-এর সাথে, নতুন অনুমতির প্রয়োজনীয়তা চালু করা হয়েছিল যা Google Cast SDK ব্যবহার করে অ্যাপগুলিকে প্রভাবিত করে৷

Google Cast SDK v4.4.3 দিয়ে শুরু করে, অতিথি মোড সমর্থন ছাড়াই একটি অতিরিক্ত SDK উপলব্ধ যার Bluetooth® অনুমতির প্রয়োজন নেই৷ এটি বিকাশকারী সাইট এবং নতুন google-cast-sdk-no-bluetooth Cocoapods-এ উভয়ই উপলব্ধ। একটি অনুস্মারক হিসাবে, অতিথি মোড বৈশিষ্ট্যটি হল প্রেরক অ্যাপের জন্য একটি নির্দিষ্ট শারীরিক নৈকট্যের মধ্যে কাস্ট ডিভাইস সনাক্ত করতে সক্ষম হওয়ার ক্ষমতা, একই নেটওয়ার্কে না থাকা, গেস্ট মোড-সক্ষম ডিভাইসগুলিতে প্রদর্শিত একটি পিন ব্যবহার করে৷

iOS 13 এর জন্য আপনার অ্যাপ প্রস্তুত করতে আপনাকে সিদ্ধান্ত নিতে হবে যে আপনি:

গেস্ট মোড সমর্থন রাখা প্রয়োজন

  • Privacy - Bluetooth Always Usage Description কী।
  • আপনার Info.plist এ আপনার ব্যবহারকারীদের জন্য Bluetooth® ব্যবহার ব্যাখ্যা করতে একটি স্ট্রিং যোগ করুন।

গেস্ট মোড সমর্থন সরাতে হবে

  • কাস্ট Bluetooth® প্রয়োজনীয়তা থেকে আপনার অ্যাপকে বাধা দেয়।
  • ব্লুটুথ® সমর্থন ছাড়াই Google Cast SDK-এর সর্বশেষ সংস্করণকে একীভূত করুন৷
  • এটি বিকাশকারী সাইট এবং নতুন google-cast-sdk-no-bluetooth Cocoapods-এ উভয়ই উপলব্ধ।

অ্যাপ ব্রেকডাউন

আপনি বর্তমানে যে iOS SDK ব্যবহার করছেন তার উপর নির্ভর করে এখানে একটি ব্রেকডাউন রয়েছে:

iOS 12 SDK বা তার আগে তৈরি করা অ্যাপ

  • অ্যাকশন প্রস্তাবিত iOS 13 এ চলার সময় ডিভাইস আবিষ্কারের কার্যকারিতা হ্রাস পেতে পারে, তবে এখনও কার্যকরী থাকবে। যখন উপলব্ধ হয় তখন আমরা বিকাশকারীদের কাস্ট SDK v4.4.4 এ আপগ্রেড করার সুপারিশ করি।
  • iOS 13 ব্যবহারকারীদের অ্যাপটিতে Bluetooth® অনুমতি দেওয়ার জন্য অনুরোধ করবে।

iOS 13 SDK দিয়ে তৈরি অ্যাপ

  • অ্যাকশন প্রয়োজনীয় : কাস্ট SDK 4.4.4 আপডেট করুন বা ব্যবহারকারী লোকেশনের অনুমতি না দিলে কাস্ট বোতামটি উপস্থিত নাও হতে পারে। iOS 13-এ একটি নির্ভরযোগ্য কাস্টিং অভিজ্ঞতা নিশ্চিত করতে Cast SDK 4.4.4-এ আপগ্রেড করা প্রয়োজন৷
  • গেস্ট মোডকে কীভাবে সংহত করতে হয় বা Google Cast SDK এবং ব্লুটুথ® সমর্থন ছাড়াই অতিথি মোড থেকে অপ্ট-আউট করতে হয় সে সম্পর্কে আরও তথ্যের জন্য অনুগ্রহ করে বিকাশকারী ডকুমেন্টেশন দেখুন৷