যোগদানের অভিপ্রায়, যোগদানের অভিপ্রায়

"যোগদানের অভিপ্রায়" হল Android প্রেরকের একটি নতুন বৈশিষ্ট্য যা একটি প্রেরক অ্যাপকে একটি কাস্ট সেশনে "যোগদান" করতে দেয় যা অন্য অ্যাপ বা ভয়েস দ্বারা শুরু করা হয়েছে। আপনি আপনার প্রেরক অ্যাপটি Cast SDK দ্বারা তৈরি একটি উদ্দেশ্য দ্বারা চালু করার জন্য সেট আপ করেছেন৷

উদাহরণস্বরূপ, একটি কাস্ট সেশন শুরু করার জন্য ভয়েস ব্যবহার করার সময়, Cast SDK একটি বিজ্ঞপ্তি তৈরি করে যা একজন ব্যবহারকারীকে একই নেটওয়ার্কের সমস্ত Android ফোনে প্লেব্যাক নিয়ন্ত্রণ করতে দেয়৷ যখন বিজ্ঞপ্তিটি ট্যাপ করা হয়, কাস্ট SDK কাস্ট সেশনে যোগদানের জন্য আপনার অ্যাপ চালু করার অভিপ্রায় তৈরি করে৷

যোগদানের অভিপ্রায়ের কার্যকরী বাস্তবায়নের জন্য CastVideos-Android নমুনা দেখুন।

একটি Android প্রেরক ব্যবহার করে

এই বৈশিষ্ট্যটি সক্ষম করতে, আপনার অ্যাপে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:

নিশ্চিত করুন যে আপনার অ্যাপটি ইতিমধ্যেই 11.4.0-এর বেশি Android প্রেরক SDK সংস্করণ ব্যবহার করছে৷ build.gradle এ:

dependencies {
    api 'com.google.android.gms:play-services-cast-framework:11.4.0'
}

আপনি অভিপ্রায় পরিচালনা করতে চান এমন একটি কার্যকলাপে একটি নতুন অভিপ্রায় ফিল্টার যোগ করুন। আপনার অ্যাপ লঞ্চ করতে এবং একটি কাস্ট সেশনে যোগ দিতে রিমোট কন্ট্রোল নোটিফিকেশন (RCN) অভিপ্রায় ব্যবহার করবে। আমরা আপনাকে SessionManagerListener হোস্ট করা কার্যকলাপটি ব্যবহার করার পরামর্শ দিই, এবং হয় onSessionStarted() বা onSessionStartFailed() বলা হবে। নিশ্চিত করুন যে নতুন অভিপ্রায় ফিল্টার সমগ্র Android সিস্টেম জুড়ে অনন্য। আমরা আপনাকে এটি করার জন্য <data> ট্যাগ ব্যবহার করার পরামর্শ দিই, নিম্নরূপ:

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <data android:scheme="your_app_scheme" android:host="your_app_host"
        android:path="your_app_path"/>
</intent-filter>

<data> ট্যাগের উদাহরণ:

<data android:scheme="https" android:host="example.com"
      android:path="/cast/join"/>

যে কার্যকলাপে আপনি নতুন অভিপ্রায় ফিল্টার সংজ্ঞায়িত করেন, সেখানে SessionManager.startSession(Intent) onResume() এ কল করুন :

কোটলিন
override fun onResume() {
    ...
    val intent = intent
    // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>"
    val intentToJoinUri = Uri.parse("https://example.com/cast/join")
    if (intent.data != null && intent.data == intentToJoinUri) {
        mCastContext.sessionManager.startSession(intent)
    }
    ...
}
জাভা
@Override
protected void onResume() {
    ...
    Intent intent = getIntent();
    // Intent with format: "<your_app_scheme>://<your_app_host><your_app_path>"
    Uri intentToJoinUri = Uri.parse("https://example.com/cast/join");
    if (intent.getData() != null && intent.getData().equals(intentToJoinUri)) {
        mCastContext.getSessionManager().startSession(intent);
    }
    ...
}

Google Cast ডেভেলপার কনসোল সেটআপ

যোগদানের অভিপ্রায়টি ব্যবহার করতে, অ্যাপটির URI এবং প্যাকেজের নাম অবশ্যই Google Cast ডেভেলপার কনসোলে যোগ করতে হবে।

সঠিকভাবে কাজ করার জন্য যোগদানের অভিপ্রায়ের জন্য আপনার রিসিভারকে অবশ্যই তালিকাভুক্ত এবং প্রকাশ করতে হবে।

আপনার অ্যাপ তালিকাভুক্ত করতে, তালিকার বিকল্পটিকে "হ্যাঁ" তে টগল করুন এবং আপনার অ্যাপের জন্য একটি শিরোনাম, বিবরণ এবং একটি 512x512 গ্রাফিক প্রদান করুন।

সেটআপ করার পরে, আপনি নীচের মত রিমোট কন্ট্রোল নোটিফিকেশন (RCN) এর সাথে বাস্তবায়ন পরীক্ষা করতে পারেন:

  1. একটি অ্যান্ড্রয়েড ফোনে Google Home অ্যাপ ইনস্টল করুন এবং ফোনে Wi-Fi এর সাথে সংযোগ করুন।
  2. কাস্ট-সক্ষম ডিভাইস একই নেটওয়ার্কের অধীনে Google হোম ডিভাইস সেট আপ করে।
  3. কমান্ড অ্যান্ড কন্ট্রোল (CaC) টুল , অন্য Android বা iOS ডিভাইস ব্যবহার করে বা ভয়েসের মাধ্যমে Google Home ডিভাইসের সাথে একটি কাস্ট সেশন শুরু করুন এবং ওয়েব রিসিভার অ্যাপ চালু হয়েছে কিনা তা পরীক্ষা করুন।
  4. ফোনে RCN পেতে কয়েক সেকেন্ড অপেক্ষা করুন, এবং উদ্দেশ্যটি ট্রিগার করতে বিজ্ঞপ্তিতে আলতো চাপুন। অভিপ্রায়টি সেশনে যোগদানের জন্য প্রয়োজনীয় ডেটা সহ অভিপ্রায় নিবন্ধন করে এমন যেকোনো অ্যাপে সম্প্রচার করা উচিত।

SessionManagerListener.onSessionStarted(T, String) ট্রিগার হবে এবং সেশনে যোগদান করবে।

প্রতিপাদন

আপনার অ্যাপ সফলভাবে সেশনে যোগ দিলে, SessionManagerListener.onSessionStarted(T, String) বলা হয়। অন্যথায়, SessionManagerListener.onSessionStartFailed(T, int) বলা হয়। ধরে নিচ্ছি যে আপনার অ্যাপ ইতিমধ্যেই সেই ইভেন্টগুলিকে সঠিকভাবে পরিচালনা করেছে (উদাহরণস্বরূপ, প্রসারিত নিয়ামক বা মিনি কন্ট্রোলার চালু করা), আপনাকে আর কিছু করতে হবে না।