Engage SDK ব্যবহার করে Google TV-এর সাথে অ্যাপ এনটাইটেলমেন্ট শেয়ার করুন

এই নির্দেশিকাটিতে বিকাশকারীদের জন্য Engage SDK ব্যবহার করে Google TV-এর সাথে অ্যাপ সাবস্ক্রিপশন এবং এনটাইটেলমেন্ট ডেটা শেয়ার করার নির্দেশাবলী রয়েছে৷ ব্যবহারকারীরা সরাসরি টিভি, মোবাইল এবং ট্যাবলেটে Google TV অভিজ্ঞতার মধ্যে ব্যবহারকারীদের কাছে অত্যন্ত প্রাসঙ্গিক বিষয়বস্তুর সুপারিশ সরবরাহ করতে Google TV-কে তাদের অধিকারী সামগ্রী খুঁজে পেতে এবং সক্ষম করতে পারে।

পূর্বশর্ত

আপনি ডিভাইস এনটাইটেলমেন্ট API ব্যবহার করার আগে মিডিয়া অ্যাকশন ফিডে অনবোর্ডিং করা প্রয়োজন। আপনি যদি ইতিমধ্যে এটি না করে থাকেন, তাহলে মিডিয়া অ্যাকশন ফিড অনবোর্ডিং প্রক্রিয়াটি সম্পূর্ণ করুন।

প্রাক কাজ

আপনি শুরু করার আগে, এই ইন্টিগ্রেশনের জন্য আপনার অ্যাপের লক্ষ্য API স্তর 19 বা উচ্চতর যাচাই করুন নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন৷

  1. আপনার অ্যাপে com.google.android.engage লাইব্রেরি যোগ করুন:

    ইন্টিগ্রেশনে ব্যবহার করার জন্য আলাদা SDK আছে: একটি মোবাইল অ্যাপের জন্য এবং একটি টিভি অ্যাপের জন্য।

    মোবাইলের জন্য

    
      dependencies {
        implementation 'com.google.android.engage:engage-core:1.5.5
      }
    

    টিভির জন্য

    
      dependencies {
        implementation 'com.google.android.engage:engage-tv:1.0.2
      }
    
  2. AndroidManifest.xml ফাইলে প্রডাকশনে এনগেজ পরিষেবা পরিবেশ সেট করুন।

    মোবাইল apk এর জন্য

    
    <meta-data
          android:name="com.google.android.engage.service.ENV"
          android:value="PRODUCTION">
    </meta-data>
    

    টিভি apk এর জন্য

    
    <meta-data
        android:name="com.google.android.engage.service.ENV"
        android:value="PRODUCTION">
    </meta-data>
    
  3. Google-এ APK পাঠানোর আগে, আপনার AndroidManifest.xml ফাইলে উৎপাদনে নিযুক্ত পরিষেবা পরিবেশ সেট করুন। সর্বোত্তম কর্মক্ষমতা এবং ভবিষ্যতের সামঞ্জস্যের জন্য, শুধুমাত্র তখনই ডেটা প্রকাশ করুন যখন অ্যাপটি ফোরগ্রাউন্ডে থাকে এবং ব্যবহারকারী সক্রিয়ভাবে এটির সাথে ইন্টারঅ্যাক্ট করে, যেমন অ্যাপ লঞ্চ, পোস্ট-লগইন বা সক্রিয় ব্যবহারের সময়। পটভূমি প্রক্রিয়া থেকে প্রকাশ নিরুৎসাহিত করা হয়.

  4. নিম্নলিখিত ইভেন্টগুলিতে সদস্যতা তথ্য প্রকাশ করুন:

    1. ব্যবহারকারী আপনার অ্যাপে লগ ইন করে।
    2. ব্যবহারকারী প্রোফাইলগুলির মধ্যে স্যুইচ করে (যদি প্রোফাইলগুলি সমর্থিত হয়)।
    3. ব্যবহারকারী একটি নতুন সদস্যতা ক্রয়.
    4. ব্যবহারকারী একটি বিদ্যমান সদস্যতা আপগ্রেড করে।
    5. ব্যবহারকারী সাবস্ক্রিপশনের মেয়াদ শেষ।

ইন্টিগ্রেশন

এই বিভাগটি বিভিন্ন ধরনের সাবস্ক্রিপশন পরিচালনা করতে AccountProfile এবং SubscriptionEntity বাস্তবায়নের জন্য প্রয়োজনীয় কোড উদাহরণ এবং নির্দেশাবলী প্রদান করে।

ব্যবহারকারীর অ্যাকাউন্ট এবং প্রোফাইল

Google TV-তে ব্যক্তিগতকৃত বৈশিষ্ট্যের অনুমতি দিতে, অ্যাকাউন্টের তথ্য প্রদান করুন। প্রদান করতে AccountProfile ব্যবহার করুন:

  1. অ্যাকাউন্ট আইডি: একটি অনন্য শনাক্তকারী যা ব্যবহারকারীর অ্যাকাউন্টের প্রতিনিধিত্ব করে। এটি প্রকৃত অ্যাকাউন্ট আইডি বা উপযুক্তভাবে অস্পষ্ট সংস্করণ হতে পারে।
// Set the account ID to which the subscription applies.
// Don't set the profile ID because subscription applies to account level.
val accountProfile = AccountProfile.Builder()
  .setAccountId("user_account_id")
  .setProfileId("user_profile id")
  .build();

সাধারণ স্তরের সাবস্ক্রিপশন

মিডিয়া প্রদানকারী পরিষেবাগুলিতে প্রাথমিক সদস্যতা সহ ব্যবহারকারীদের জন্য, উদাহরণস্বরূপ, একটি পরিষেবা যার একটি সাবস্ক্রিপশন স্তর রয়েছে যা সমস্ত অর্থপ্রদান সামগ্রীতে অ্যাক্সেস মঞ্জুর করে, এই প্রয়োজনীয় বিবরণগুলি প্রদান করুন:

  1. সাবস্ক্রিপশনের ধরন: ব্যবহারকারীর নির্দিষ্ট সাবস্ক্রিপশন প্ল্যানটি স্পষ্টভাবে নির্দেশ করুন।

    1. SUBSCRIPTION_TYPE_ACTIVE : ব্যবহারকারীর একটি সক্রিয় অর্থপ্রদানের সদস্যতা রয়েছে৷
    2. SUBSCRIPTION_TYPE_ACTIVE_TRIAL : ব্যবহারকারীর একটি ট্রায়াল সদস্যতা রয়েছে৷
    3. SUBSCRIPTION_TYPE_INACTIVE : ব্যবহারকারীর একটি অ্যাকাউন্ট আছে কিন্তু কোনো সক্রিয় সদস্যতা বা ট্রায়াল নেই।
  2. মেয়াদ শেষ হওয়ার সময়: ঐচ্ছিক সময় মিলিসেকেন্ডে। সাবস্ক্রিপশনের মেয়াদ শেষ হলে নির্দিষ্ট করুন।

  3. প্রদানকারীর প্যাকেজের নাম: সাবস্ক্রিপশন পরিচালনা করে এমন অ্যাপের প্যাকেজের নাম উল্লেখ করুন।

নমুনা মিডিয়া প্রদানকারী ফিড জন্য উদাহরণ.

"actionAccessibilityRequirement": [
  {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2022-06-01T07:00:00Z",
    "availabilityEnds": "2026-05-31T07:00:00Z",
    "requiresSubscription": {
    "@type": "MediaSubscription",
    // Don't match this string,
    // ID is only used to for reconciliation purpose
    "@id": "https://www.example.com/971bfc78-d13a-4419",
    // Don't match this, as name is only used for displaying purpose
    "name": "Basic common name",
    "commonTier": true
  }

নিম্নলিখিত উদাহরণ একটি ব্যবহারকারীর জন্য একটি SubscriptionEntity তৈরি করে:

val subscription = SubscriptionEntity
  .Builder()
  setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds since epoch
  .setExpirationTimeMillis(1767052800000)
  .build();

প্রিমিয়াম সাবস্ক্রিপশন

যদি অ্যাপটি বহু-স্তরযুক্ত প্রিমিয়াম সাবস্ক্রিপশন প্যাকেজ অফার করে, যার মধ্যে সাধারণ স্তরের বাইরে প্রসারিত সামগ্রী বা বৈশিষ্ট্য অন্তর্ভুক্ত থাকে, তাহলে সাবস্ক্রিপশনে এক বা একাধিক এনটাইটেলমেন্ট যোগ করে এটি উপস্থাপন করে।

এই এনটাইটেলমেন্টের নিম্নলিখিত ক্ষেত্র রয়েছে:

  1. শনাক্তকারী: এই এনটাইটেলমেন্টের জন্য প্রয়োজনীয় শনাক্তকারী স্ট্রিং। এটি অবশ্যই Google TV-তে প্রকাশিত মিডিয়া প্রদানকারীর ফিডে দেওয়া একটি এনটাইটেলমেন্ট শনাক্তকারীর (মনে রাখবেন যে এটি আইডি ক্ষেত্র নয়) এর সাথে মিলতে হবে।
  2. নাম: এটি সহায়ক তথ্য এবং এনটাইটেলমেন্ট মিলের জন্য ব্যবহৃত হয়। ঐচ্ছিক হলেও, মানুষের পঠনযোগ্য এনটাইটেলমেন্টের নাম প্রদান করা ডেভেলপার এবং সমর্থন দল উভয়ের জন্যই ব্যবহারকারীর এনটাইটেলমেন্টের বোঝার উন্নতি করে। যেমন: স্লিং অরেঞ্জ।
  3. মেয়াদ শেষ হওয়ার সময়মিলিস: ঐচ্ছিকভাবে এই এনটাইটেলমেন্টের মেয়াদ শেষ হওয়ার সময় মিলিসেকেন্ডে উল্লেখ করুন, যদি এটি সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার সময় থেকে আলাদা হয়। ডিফল্টরূপে, সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার সাথে এনটাইটেলমেন্টের মেয়াদ শেষ হয়ে যাবে।

নিম্নলিখিত নমুনা মিডিয়া প্রদানকারী ফিড স্নিপেটের জন্য:

"actionAccessibilityRequirement": [
  {
    "@type": "ActionAccessSpecification",
    "category": "subscription",
    "availabilityStarts": "2022-06-01T07:00:00Z",
    "availabilityEnds": "2026-05-31T07:00:00Z",
    "requiresSubscription": {
    "@type": "MediaSubscription",
    // Don't match this string,
    // ID is only used to for reconciliation purpose
    "@id": "https://www.example.com/971bfc78-d13a-4419",

    // Don't match this, as name is only used for displaying purpose
    "name": "Example entitlement name",
    "commonTier": false,
    // match this identifier in your API. This is the crucial
    // entitlement identifier used for recommendation purpose.
    "identifier": "example.com:entitlementString1"
  }

নিম্নলিখিত উদাহরণটি সাবস্ক্রাইব করা ব্যবহারকারীর জন্য একটি SubscriptionEntity তৈরি করে:

// Subscription with entitlements.
// The entitlement expires at the same time as its subscription.
val subscription = SubscriptionEntity
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds
  .setExpirationTimeMillis(1767052800000)
  .addEntitlement(
    SubscriptionEntitlement.Builder()
    // matches with the identifier in media provider feed
    .setEntitlementId("example.com:entitlementString1")
    .setDisplayName("entitlement name1")
    .build()
  )
  .build();
// Subscription with entitlements
// The entitement has different expiration time from its subscription
val subscription = SubscriptionEntity
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds
  .setExpirationTimeMillis(1767052800000)
  .addEntitlement(
    SubscriptionEntitlement.Builder()
    .setEntitlementId("example.com:entitlementString1")
    .setDisplayName("entitlement name1")
    // You may set the expiration time for entitlement
    // December 15, 2025 10:00:00 AM in milliseconds
    .setExpirationTimeMillis(1765792800000)
    .build())
  .build();

সংযুক্ত পরিষেবা প্যাকেজের জন্য সদস্যতা

যদিও সাবস্ক্রিপশনগুলি সাধারণত প্রারম্ভিক অ্যাপের মিডিয়া প্রদানকারীর অন্তর্গত, সাবস্ক্রিপশনের মধ্যে লিঙ্ক করা পরিষেবা প্যাকেজের নাম উল্লেখ করে একটি সাবস্ক্রিপশন একটি লিঙ্ক করা পরিষেবা প্যাকেজের জন্য দায়ী করা যেতে পারে।

নিম্নলিখিত কোড নমুনা প্রদর্শন কিভাবে ব্যবহারকারীর সদস্যতা তৈরি করতে.

// Subscription for linked service package
val subscription = SubscriptionEntity
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("com.google.android.example")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds since epoch
  .setExpirationTimeMillis(1767052800000)
  .build();

উপরন্তু, যদি ব্যবহারকারীর একটি সহায়ক পরিষেবার অন্য সদস্যতা থাকে, অন্য সদস্যতা যোগ করুন এবং সেই অনুযায়ী লিঙ্ক করা পরিষেবা প্যাকেজের নাম সেট করুন।

// Subscription for linked service package
val linkedSubscription = Subscription
  .Builder()
  .setSubscriptionType(
    SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE
  )
  .setProviderPackageName("linked service package name")
  // Optional
  // December 30, 2025 12:00:00AM in milliseconds since epoch
  .setExpirationTimeMillis(1767052800000)
  .addBundledSubscription(
    BundledSubscription.Builder()
      .setBundledSubscriptionProviderPackageName(
        "bundled-subscription-package-name"
      )
      .setSubscriptionType(SubscriptionType.SUBSCRIPTION_TYPE_ACTIVE)
      .setExpirationTimeMillis(111)
      .addEntitlement(
        SubscriptionEntitlement.Builder()
        .setExpirationTimeMillis(111)
        .setDisplayName("Silver subscription")
        .setEntitlementId("subscription.tier.platinum")
        .build()
      )
      .build()
  )
    .build();

ঐচ্ছিকভাবে, একটি লিঙ্ক করা পরিষেবা সাবস্ক্রিপশনেও এনটাইটেলমেন্ট যোগ করুন।

সাবস্ক্রিপশন সেট প্রদান

অ্যাপটি অগ্রভাগে থাকাকালীন বিষয়বস্তু প্রকাশের কাজটি চালান।

একটি SubscriptionCluster অবজেক্ট প্রকাশ করতে AppEngagePublishClient ক্লাস থেকে publishSubscriptionCluster() পদ্ধতি ব্যবহার করুন।

পরিষেবাটি ইন্টিগ্রেশনের জন্য উপলব্ধ কিনা তা পরীক্ষা করতে isServiceAvailable ব্যবহার করুন৷

client.publishSubscription(
  PublishSubscriptionRequest.Builder()
    .setAccountProfile(accountProfile)
    .setSubscription(subscription)
    .build();
  )

ব্যবহারকারীর পরিষেবাতে শুধুমাত্র একটি সদস্যতা থাকা উচিত তা যাচাই করতে setSubscription() ব্যবহার করুন।

addLinkedSubscription() , অথবা addLinkedSubscriptions() ব্যবহার করুন যা লিঙ্ক করা সাবস্ক্রিপশনের একটি তালিকা গ্রহণ করে, যাতে ব্যবহারকারীকে শূন্য বা তার বেশি লিঙ্ক করা সদস্যতা থাকতে সক্ষম করে।

যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, একটি নতুন এন্ট্রি তৈরি করা হয় এবং 60 দিন পরে পুরানো এন্ট্রি স্বয়ংক্রিয়ভাবে মুছে ফেলা হয়। সিস্টেম সবসময় সর্বশেষ এন্ট্রি ব্যবহার করে. একটি ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধ প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।

সদস্যতা আপ টু ডেট রাখুন

  1. পরিবর্তনের উপর অবিলম্বে আপডেট প্রদান করার জন্য, যখনই কোনো ব্যবহারকারীর সদস্যতার অবস্থা সক্রিয়করণ, নিষ্ক্রিয়করণ, আপগ্রেড, ডাউনগ্রেডের মতো পরিবর্তিত হয় তখন publishSubscriptionCluster() কল করুন।
  2. চলমান নির্ভুলতার জন্য নিয়মিত বৈধতা প্রদান করতে, প্রতি মাসে অন্তত একবার publishSubscriptionCluster() এ কল করুন।

  3. ভিডিও আবিষ্কারের ডেটা মুছে ফেলতে, ম্যানুয়ালি Google TV সার্ভার থেকে ব্যবহারকারীর ডেটা 60-দিন ধরে রাখার সময়ের আগে মুছে ফেলুন, client.deleteClusters() পদ্ধতি ব্যবহার করুন। এটি অ্যাকাউন্ট প্রোফাইলের জন্য বা প্রদত্ত DeleteReason উপর নির্ভর করে সমগ্র অ্যাকাউন্টের জন্য সমস্ত বিদ্যমান ভিডিও আবিষ্কার ডেটা মুছে ফেলে।

    ব্যবহারকারীর সদস্যতা সরাতে কোড স্নিপেট

      // If the user logs out from your media app, you must make the following call
      // to remove subscription and other video discovery data from the current
      // google TV device.
      client.deleteClusters(
        new DeleteClustersRequest.Builder()
          .setAccountProfile(
            AccountProfile
              .Builder()
              .setAccountId()
              .setProfileId()
              .build()
          )
        .setReason(DeleteReason.DELETE_REASON_USER_LOG_OUT)
        .build()
        )
      ```
    Following code snippet demonstrates removal of user subscription
    when user revokes the consent.
    
    ```Kotlin
      // If the user revokes the consent to share across device, make the call
      // to remove subscription and other video discovery data from all google
      // TV devices.
      client.deleteClusters(
        new DeleteClustersRequest.Builder()
          .setAccountProfile(
            AccountProfile
            .Builder()
            .setAccountId()
            .setProfileId()
            .build()
          )
          .setReason(DeleteReason.DELETE_REASON_LOSS_OF_CONSENT)
          .build()
      )
      ```
    
    Following code demonstrates how to remove subscription data on user profile
    deletion.
    
    ```Kotlin
    // If the user delete a specific profile, you must make the following call
    // to remove subscription data and other video discovery data.
    client.deleteClusters(
      new DeleteClustersRequest.Builder()
      .setAccountProfile(
        AccountProfile
        .Builder()
        .setAccountId()
        .setProfileId()
        .build()
      )
      .setReason(DeleteReason.DELETE_REASON_ACCOUNT_PROFILE_DELETION)
      .build()
    )
    

টেস্টিং

এই বিভাগটি সাবস্ক্রিপশন বাস্তবায়ন পরীক্ষা করার জন্য একটি ধাপে ধাপে নির্দেশিকা প্রদান করে। লঞ্চ করার আগে ডেটা সঠিকতা এবং সঠিক কার্যকারিতা যাচাই করুন।

ইন্টিগ্রেশন চেকলিস্ট প্রকাশ করুন

  1. যখন অ্যাপটি অগ্রভাগে থাকে এবং ব্যবহারকারীরা সক্রিয়ভাবে এটির সাথে ইন্টারঅ্যাক্ট করে তখন প্রকাশ করা উচিত।

  2. যখন প্রকাশ করুন:

    • ব্যবহারকারী প্রথমবার লগ ইন করেন।
    • ব্যবহারকারী প্রোফাইল পরিবর্তন করে (যদি প্রোফাইল সমর্থিত হয়)।
    • ব্যবহারকারী নতুন সদস্যতা ক্রয়.
    • ব্যবহারকারী আপগ্রেড সদস্যতা.
    • ব্যবহারকারী সাবস্ক্রিপশনের মেয়াদ শেষ।
  3. অ্যাপ প্রকাশনা ইভেন্টগুলিতে, লগক্যাটে isServiceAvailable() এবং publishClusters() API-কে সঠিকভাবে কল করছে কিনা তা পরীক্ষা করুন।

  4. যাচাইকরণ অ্যাপে ডেটা দৃশ্যমান কিনা তা যাচাই করুন। যাচাইকরণ অ্যাপটি একটি পৃথক সারি হিসাবে সদস্যতা প্রদর্শন করা উচিত। পাবলিশ এপিআই চালু করা হলে, ডেটা যাচাইকরণ অ্যাপে দেখানো উচিত।

    • অ্যাপের Android ম্যানিফেস্ট ফাইলে এনগেজ সার্ভিস ফ্ল্যাগ প্রোডাকশনে সেট করা নেই তা যাচাই করুন।
    • এনগেজ ভেরিফিকেশন অ্যাপ ইনস্টল করুন এবং খুলুন।
    • যাচাইকরণ অ্যাপে যদি isServiceAvailable এর মান false হয়, তাহলে সেটিকে true সেট করতে যাচাইকরণ অ্যাপের মধ্যে Toggle বোতামে ক্লিক করুন।
    • অ্যাপের প্যাকেজের নাম লিখুন। এটি স্বয়ংক্রিয়ভাবে প্রকাশিত ডেটা দেখায়।
  5. অ্যাপে যান এবং নিম্নলিখিত প্রতিটি কাজ সম্পাদন করুন:

    • সাইন ইন করুন
    • প্রোফাইলগুলির মধ্যে স্যুইচ করুন (যদি সমর্থিত হয়)।
    • একটি নতুন সদস্যতা কিনুন.
    • একটি বিদ্যমান সদস্যতা আপগ্রেড করুন.
    • সাবস্ক্রিপশনের মেয়াদ শেষ করুন।

ইন্টিগ্রেশন যাচাই করুন

আপনার ইন্টিগ্রেশন পরীক্ষা করতে, যাচাইকরণ অ্যাপটি ব্যবহার করুন।

যাচাইকরণ অ্যাপটি একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন যা বিকাশকারীরা একীকরণ কাজ করছে কিনা তা যাচাই করতে ব্যবহার করতে পারে। অ্যাপটিতে বিকাশকারীদের ডেটা এবং সম্প্রচারের অভিপ্রায় যাচাই করতে সহায়তা করার ক্ষমতা রয়েছে৷ এটি লঞ্চের আগে ডেটার সঠিকতা এবং সঠিক কার্যকারিতা যাচাই করতে সাহায্য করে।

  1. প্রতিটি ইভেন্টের জন্য, অ্যাপটি publishSubscription API ব্যবহার করেছে কিনা তা পরীক্ষা করুন। যাচাইকরণ অ্যাপে প্রকাশিত ডেটা যাচাই করুন। যাচাইকরণ অ্যাপে সবকিছু সবুজ আছে কিনা তা যাচাই করুন
  2. যদি সমস্ত সত্তার তথ্য সঠিক হয়, তবে এটি সমস্ত সত্তায় একটি "অল গুড" সবুজ চেক দেখায়৷

    যাচাইকরণ অ্যাপের সাফল্যের স্ক্রিনশট
    চিত্র 1. সফল সদস্যতা
  3. যাচাইকরণ অ্যাপেও সমস্যাগুলো তুলে ধরা হয়েছে

    যাচাইকরণ অ্যাপ ত্রুটির স্ক্রিনশট
    চিত্র 2. সদস্যতা ব্যর্থ হয়েছে
  4. বান্ডিল সাবস্ক্রিপশনে সমস্যাগুলি দেখতে, সেই নির্দিষ্ট বান্ডিল সাবস্ক্রিপশনে ফোকাস করতে টিভি রিমোট ব্যবহার করুন এবং সমস্যাগুলি দেখতে ক্লিক করুন৷ বান্ডেলড সাবস্ক্রিপশন কার্ড খুঁজতে আপনাকে প্রথমে সারিতে ফোকাস করতে হবে এবং ডানদিকে যেতে হবে। চিত্র 3-এ দেখানো সমস্যাগুলি লাল রঙের মতো হাইলাইট করা হয়েছে। এছাড়াও, বান্ডিল সাবস্ক্রিপশনের মধ্যে এনটাইটেলমেন্টের সমস্যাগুলি দেখতে নিচের দিকে যেতে রিমোট ব্যবহার করুন

    যাচাইকরণ অ্যাপ ত্রুটির বিশদ বিবরণ স্ক্রিনশট
    চিত্র 3. সদস্যতা ত্রুটি
  5. এনটাইটেলমেন্টের সমস্যাগুলি দেখতে, সেই নির্দিষ্ট এনটাইটেলমেন্টে ফোকাস করতে TV রিমোট ব্যবহার করুন এবং সমস্যাগুলি দেখতে ক্লিক করুন। সমস্যাগুলি লাল হিসাবে হাইলাইট করা হয়।

    যাচাইকরণ অ্যাপ ত্রুটির স্ক্রিনশট
    চিত্র 4. সদস্যতা ত্রুটি বিবরণ