Continue Watching অসমাপ্ত ভিডিওগুলি দেখানোর জন্য কন্টিনিউয়েশন ক্লাস্টার এবং পরবর্তী পর্বগুলিকে একই টিভি সিজন থেকে, একটি UI গ্রুপিং-এর একাধিক অ্যাপ থেকে দেখা যাবে। আপনি এই ধারাবাহিকতা ক্লাস্টারে তাদের সত্তাগুলিকে বৈশিষ্ট্যযুক্ত করতে পারেন৷ Engage SDK ব্যবহার করে Continue Watching অভিজ্ঞতার মাধ্যমে কীভাবে ব্যবহারকারীর ব্যস্ততা বাড়ানো যায় তা শিখতে এই নির্দেশিকা অনুসরণ করুন।
ধাপ 1: প্রাক-কাজ
আপনি শুরু করার আগে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:
এই ইন্টিগ্রেশনের জন্য আপনার অ্যাপের লক্ষ্য API লেভেল 19 বা উচ্চতর নিশ্চিত করুন
আপনার অ্যাপে
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 }
AndroidManifest.xml
ফাইলে প্রডাকশনে এনগেজ পরিষেবা পরিবেশ সেট করুন।মোবাইল
<meta-data android:name="com.google.android.engage.service.ENV" android:value="PRODUCTION"> </meta-data>
টিভি
<meta-data android:name="com.google.android.engage.service.ENV" android:value="PRODUCTION"> </meta-data>
টিভি apk-এর জন্য
WRITE_EPG_DATA
এর অনুমতি যোগ করুন<uses-permission android:name="com.android.providers.tv.permission.WRITE_EPG_DATA" />
সময় নির্ধারণের জন্য
androidx.work
এর মতো ব্যাকগ্রাউন্ড পরিষেবা ব্যবহার করে নির্ভরযোগ্য বিষয়বস্তু প্রকাশ নিশ্চিত করুন।একটি নির্বিঘ্ন দেখার অভিজ্ঞতা প্রদান করতে, এই ঘটনাগুলি ঘটলে ডেটা দেখা চালিয়ে যান:
- প্রথম লগইন: যখন কোনও ব্যবহারকারী প্রথমবার লগ ইন করেন, তখন তাদের ডেটা প্রকাশ করা নিশ্চিত করে যে তাদের দেখার ইতিহাস অবিলম্বে উপলব্ধ।
- প্রোফাইল তৈরি বা স্যুইচিং (মাল্টি-প্রোফাইল অ্যাপস): যদি আপনার অ্যাপ একাধিক প্রোফাইল সমর্থন করে, একজন ব্যবহারকারী প্রোফাইল তৈরি বা স্যুইচ করার সময় ডেটা প্রকাশ করুন। এটি নিশ্চিত করে যে প্রতিটি ব্যবহারকারীর একটি ব্যক্তিগত অভিজ্ঞতা আছে।
- ভিডিও প্লেব্যাক ব্যাঘাত: ব্যবহারকারীরা যেখানে রেখেছিলেন তা শুরু করতে সাহায্য করার জন্য, যখন তারা একটি ভিডিও পজ বা বন্ধ করে, বা প্লেব্যাকের সময় অ্যাপটি বন্ধ হয়ে যায় তখন ডেটা প্রকাশ করে৷
- ট্রে আপডেটগুলি দেখা চালিয়ে যান (যদি সমর্থিত হয়): যখন কোনও ব্যবহারকারী তাদের কন্টিনিউ ওয়াচিং ট্রে থেকে একটি আইটেম সরিয়ে দেন, আপডেট করা ডেটা প্রকাশ করে সেই পরিবর্তনটি প্রতিফলিত করুন। এটি নিশ্চিত করে যে ট্রেটি প্রাসঙ্গিক এবং ব্যক্তিগতকৃত থাকবে।
- ভিডিও সমাপ্তি:
- মুভির জন্য, কন্টিনিউ ওয়াচিং ট্রে থেকে সম্পূর্ণ মুভিটি সরিয়ে ফেলুন। যদি মুভিটি একটি সিরিজের অংশ হয়, ব্যবহারকারীকে নিযুক্ত রাখতে পরবর্তী মুভি যোগ করুন৷
- পর্বের জন্য, সমাপ্ত পর্বটি সরান এবং ধারাবাহিকভাবে দেখার উত্সাহিত করার জন্য, যদি উপলব্ধ থাকে তবে সিরিজের পরবর্তী পর্বটি যোগ করুন।
ইন্টিগ্রেশন
অ্যাকাউন্ট প্রোফাইল
Google TV-তে ব্যক্তিগতকৃত "দেখা চালিয়ে যান" অভিজ্ঞতার অনুমতি দিতে, অ্যাকাউন্ট এবং প্রোফাইল তথ্য প্রদান করুন। প্রদান করতে অ্যাকাউন্ট প্রোফাইল ব্যবহার করুন:
অ্যাকাউন্ট আইডি: একটি অনন্য শনাক্তকারী যা আপনার অ্যাপ্লিকেশনের মধ্যে ব্যবহারকারীর অ্যাকাউন্টের প্রতিনিধিত্ব করে। এটি প্রকৃত অ্যাকাউন্ট আইডি বা উপযুক্তভাবে অস্পষ্ট সংস্করণ হতে পারে।
প্রোফাইল আইডি (ঐচ্ছিক): যদি আপনার অ্যাপ্লিকেশনটি একক অ্যাকাউন্টের মধ্যে একাধিক প্রোফাইল সমর্থন করে, তবে নির্দিষ্ট ব্যবহারকারী প্রোফাইলের জন্য একটি অনন্য শনাক্তকারী প্রদান করুন (আবার, বাস্তব বা অস্পষ্ট)।
// If your app only supports account
val accountProfile = AccountProfile.Builder()
.setAccountId("your_users_account_id")
.build()
// If your app supports both account and profile
val accountProfile = AccountProfile.Builder()
.setAccountId("your_users_account_id")
.setProfileId("your_users_profile_id")
.build()
সত্তা তৈরি করুন
প্রতিটি আইটেমের প্রকারের প্রতিনিধিত্ব করার জন্য SDK বিভিন্ন সত্তাকে সংজ্ঞায়িত করেছে। ধারাবাহিকতা ক্লাস্টার নিম্নলিখিত সত্তা সমর্থন করে:
এই সত্তাগুলির জন্য প্ল্যাটফর্ম-নির্দিষ্ট URI এবং পোস্টার ছবিগুলি নির্দিষ্ট করুন৷
এছাড়াও, প্রতিটি প্ল্যাটফর্মের জন্য প্লেব্যাক ইউআরআই তৈরি করুন—যেমন অ্যান্ড্রয়েড টিভি, অ্যান্ড্রয়েড, বা আইওএস—যদি আপনি ইতিমধ্যে না থাকেন। সুতরাং যখন একজন ব্যবহারকারী প্রতিটি প্ল্যাটফর্মে দেখা চালিয়ে যান, অ্যাপটি ভিডিও সামগ্রী চালানোর জন্য একটি লক্ষ্যযুক্ত প্লেব্যাক ইউআরআই ব্যবহার করে।
// Required. Set this when you want continue watching entities to show up on
// Google TV
val playbackUriTv =
PlatformSpecificUri.Builder()
.setPlatformType(PlatformType.TYPE_ANDROID_TV)
.setActionUri(Uri.parse("https://www.example.com/entity_uri_for_tv"))
.build()
// Required. Set this when you want continue watching entities to show up on
// Google TV Android app, Entertainment Space, Playstore Widget
val playbackUriAndroid =
PlatformSpecificUri.Builder()
.setPlatformType(PlatformType.TYPE_ANDROID_MOBILE)
.setActionUri(Uri.parse("https://www.example.com/entity_uri_for_android"))
.build()
// Optional. Set this when you want continue watching entities to show up on
// Google TV iOS app
val playbackUriIos =
PlatformSpecificUri.Builder()
.setPlatformType(PlatformType.TYPE_IOS)
.setActionUri(Uri.parse("https://www.example.com/entity_uri_for_ios"))
.build()
val platformSpecificPlaybackUris =
Arrays.asList(playbackUriTv, playbackUriAndroid, playbackUriIos)
পোস্টার ইমেজ একটি URI এবং পিক্সেল মাত্রা প্রয়োজন (উচ্চতা এবং প্রস্থ)। একাধিক পোস্টার ইমেজ প্রদান করে বিভিন্ন ফর্ম ফ্যাক্টরগুলিকে লক্ষ্য করুন, কিন্তু নিশ্চিত করুন যে সমস্ত ছবি একটি 16:9 অনুপাত এবং ন্যূনতম 200 পিক্সেলের উচ্চতা বজায় রাখে যাতে "কন্টিনিউ ওয়াচিং" সত্তার সঠিক প্রদর্শনের জন্য, বিশেষ করে Google-এর এন্টারটেইনমেন্ট স্পেসের মধ্যে। 200 পিক্সেলের কম উচ্চতার ছবি দেখানো নাও হতে পারে।
Image image1 = new Image.Builder()
.setImageUri(Uri.parse("http://www.example.com/entity_image1.png");)
.setImageHeightInPixel(300)
.setImageWidthInPixel(169)
.build()
Image image2 = new Image.Builder()
.setImageUri(Uri.parse("http://www.example.com/entity_image2.png");)
.setImageHeightInPixel(640)
.setImageWidthInPixel(360)
.build()
// And other images for different form factors.
val images = Arrays.asList(image1, image2)
মুভি এন্টিটি
এই উদাহরণটি দেখায় কিভাবে সমস্ত প্রয়োজনীয় ক্ষেত্রগুলির সাথে একটি MovieEntity
তৈরি করতে হয়:
val movieEntity = MovieEntity.Builder()
.setWatchNextType(WatchNextType.TYPE_CONTINUE)
.setName("Movie name")
.addPlatformSpecificPlaybackUri(platformSpecificPlaybackUris)
.addPosterImages(images)
// Timestamp in millis for sample last engagement time 12/1/2023 00:00:00
.setLastEngagementTimeMillis(1701388800000)
// Suppose the duration is 2 hours, it is 72000000 in milliseconds
.setDurationMills(72000000)
// Suppose last playback offset is 1 hour, 36000000 in milliseconds
.setLastPlayBackPositionTimeMillis(36000000)
.build()
জেনার এবং বিষয়বস্তু রেটিং এর মত বিশদ প্রদান করা Google TV কে আপনার সামগ্রীকে আরও গতিশীল উপায়ে প্রদর্শন করার এবং সঠিক দর্শকদের সাথে সংযোগ করার ক্ষমতা দেয়৷
val genres = Arrays.asList("Action", "Science fiction");
val rating1 = RatingSystem.Builder().setAgencyName("MPAA").setRating("PG-13").build();
val contentRatings = Arrays.asList(rating1);
val movieEntity = MovieEntity.Builder()
...
.addGenres(genres)
.addContentRatings(contentRatings)
.build()
সত্তা স্বয়ংক্রিয়ভাবে 60 দিনের জন্য উপলব্ধ থাকে যদি না আপনি একটি সংক্ষিপ্ত মেয়াদ শেষ হওয়ার সময় উল্লেখ করেন। আপনি যদি এই ডিফল্ট সময়ের আগে সত্তাটিকে সরাতে চান তবেই কেবল একটি কাস্টম মেয়াদ সেট করুন৷
// Set the expiration time to be now plus 30 days in milliseconds
val expirationTime = new DisplayTimeWindow.Builder()
.setEndTimestampMillis(now().toMillis()+2592000000).build()
val movieEntity = MovieEntity.Builder()
...
.addAvailabilityTimeWindow(expirationTime)
.build()
TvEpisodeEntity
এই উদাহরণটি দেখায় কিভাবে সমস্ত প্রয়োজনীয় ক্ষেত্রগুলির সাথে একটি TvEpisodeEntity
তৈরি করতে হয়:
val tvEpisodeEntity = TvEpisodeEntity.Builder()
.setWatchNextType(WatchNextType.TYPE_CONTINUE)
.setName("Episode name")
.addPlatformSpecificPlaybackUri(platformSpecificPlaybackUris)
.addPosterImages(images)
// Timestamp in millis for sample last engagement time 12/1/2023 00:00:00
.setLastEngagementTimeMillis(1701388800000)
.setDurationMills(72000000) // 2 hours in milliseconds
// 45 minutes and 15 seconds in milliseconds is 2715000
.setLastPlayBackPositionTimeMillis(2715000)
.setEpisodeNumber("2")
.setSeasonNumber("1")
.setShowTitle("Title of the show")
.build();
এপিসোড নম্বর স্ট্রিং (যেমন "2"
), এবং সিজন নম্বর স্ট্রিং (যেমন "1"
) অবিরত দেখার কার্ডে প্রদর্শিত হওয়ার আগে সঠিক ফর্মে প্রসারিত হবে। মনে রাখবেন যে সেগুলি একটি সংখ্যাসূচক স্ট্রিং হওয়া উচিত, "e2", বা "পর্ব 2", বা "s1" বা "সিজন 1" রাখবেন না।
যদি একটি নির্দিষ্ট টিভি শোতে একটি সিজন থাকে, তাহলে সিজন নম্বর 1 হিসাবে সেট করুন।
Google TV-তে দর্শকরা আপনার সামগ্রী খুঁজে পাওয়ার সম্ভাবনাকে সর্বাধিক করতে, অতিরিক্ত ডেটা যেমন জেনার, সামগ্রীর রেটিং এবং উপলব্ধতার সময় উইন্ডো দেওয়ার কথা বিবেচনা করুন, কারণ এই বিবরণগুলি প্রদর্শন এবং ফিল্টারিং বিকল্পগুলিকে উন্নত করতে পারে৷
val genres = Arrays.asList("Action", "Science fiction")
val rating1 = RatingSystem.Builder().setAgencyName("MPAA").setRating("PG-13").build()
val contentRatings = Arrays.asList(rating1)
val tvEpisodeEntity = TvEpisodeEntity.Builder()
...
.addGenres(genres)
.addContentRatings(contentRatings)
.setSeasonTitle("Season Title")
.setShowTitle("Show Title)
.build();
VideoClipEntity
এখানে সমস্ত প্রয়োজনীয় ক্ষেত্রগুলির সাথে একটি VideoClipEntity
তৈরি করার একটি উদাহরণ রয়েছে৷
VideoClipEntity
একটি ইউটিউব ভিডিওর মতো একটি ব্যবহারকারীর তৈরি ক্লিপ উপস্থাপন করে।
val videoClipEntity = VideoClipEntity.Builder()
.setPlaybackUri(Uri.parse("https://www.example.com/uri_for_current_platform")
.setWatchNextType(WatchNextType.TYPE_CONTINUE)
.setName("Video clip name")
.addPlatformSpecificPlaybackUri(platformSpecificPlaybackUris)
.addPosterImages(images)
// Timestamp in millis for sample last engagement time 12/1/2023 00:00:00
.setLastEngagementTimeMillis(1701388800000)
.setDurationMills(600000) //10 minutes in milliseconds
.setLastPlayBackPositionTimeMillis(300000) //5 minutes in milliseconds
.addContentRating(contentRating)
.build();
আপনি ঐচ্ছিকভাবে স্রষ্টা, স্রষ্টার চিত্র, মিলিসেকেন্ডে তৈরি সময় বা উপলব্ধতার সময় উইন্ডো সেট করতে পারেন।
লাইভস্ট্রিমিংভিডিওএন্টিটি
এখানে সমস্ত প্রয়োজনীয় ক্ষেত্রগুলির সাথে একটি LiveStreamingVideoEntity
তৈরি করার একটি উদাহরণ রয়েছে৷
val liveStreamingVideoEntity = LiveStreamingVideoEntity.Builder()
.setPlaybackUri(Uri.parse("https://www.example.com/uri_for_current_platform")
.setWatchNextType(WatchNextType.TYPE_CONTINUE)
.setName("Live streaming name")
.addPlatformSpecificPlaybackUri(platformSpecificPlaybackUris)
.addPosterImages(images)
// Timestamp in millis for sample last engagement time 12/1/2023 00:00:00
.setLastEngagementTimeMillis(1701388800000)
.setDurationMills(72000000) //2 hours in milliseconds
.setLastPlayBackPositionTimeMillis(36000000) //1 hour in milliseconds
.addContentRating(contentRating)
.build();
ঐচ্ছিকভাবে, আপনি লাইভ স্ট্রিমিং সত্তার জন্য শুরুর সময়, সম্প্রচারকারী, সম্প্রচারকারী আইকন বা উপলব্ধতার সময় উইন্ডো সেট করতে পারেন।
বৈশিষ্ট্য এবং প্রয়োজনীয়তা সম্পর্কে বিস্তারিত তথ্যের জন্য, API রেফারেন্স দেখুন।
কন্টিনিউয়েশন ক্লাস্টার ডেটা প্রদান করুন
AppEngagePublishClient
কন্টিনিউয়েশন ক্লাস্টার প্রকাশের জন্য দায়ী। আপনি একটি ContinuationCluster
অবজেক্ট প্রকাশ করতে publishContinuationCluster()
পদ্ধতি ব্যবহার করেন।
প্রথমে, পরিষেবাটি ইন্টিগ্রেশনের জন্য উপলব্ধ কিনা তা পরীক্ষা করতে আপনার isServiceAvailable() ব্যবহার করা উচিত।
client.publishContinuationCluster(
PublishContinuationClusterRequest
.Builder()
.setContinuationCluster(
ContinuationCluster
.Builder()
.setAccountProfile(accountProfile)
.addEntity(movieEntity1)
.addEntity(movieEntity2)
.addEntity(tvEpisodeEntity1)
.addEntity(tvEpisodeEntity2)
.setSyncAcrossDevices(true)
.build()
)
.build();
)
যখন পরিষেবাটি অনুরোধটি গ্রহণ করে, নিম্নলিখিত ক্রিয়াগুলি একটি লেনদেনের মধ্যে সঞ্চালিত হয়:
- বিকাশকারী অংশীদার থেকে বিদ্যমান
ContinuationCluster
ডেটা সরানো হয়েছে। - অনুরোধের ডেটা পার্স করা হয়েছে এবং আপডেট করা
ContinuationCluster
এ সংরক্ষণ করা হয়েছে।
একটি ত্রুটির ক্ষেত্রে, সম্পূর্ণ অনুরোধ প্রত্যাখ্যান করা হয় এবং বিদ্যমান অবস্থা বজায় রাখা হয়।
পাবলিশ এপিআই হল আপসার্ট এপিআই; এটি বিদ্যমান সামগ্রী প্রতিস্থাপন করে। আপনি যদি ContinuationCluster-এ একটি নির্দিষ্ট সত্তা আপডেট করতে চান, তাহলে আপনাকে আবার সমস্ত সত্তা প্রকাশ করতে হবে।
ContinuationCluster ডেটা শুধুমাত্র প্রাপ্তবয়স্কদের অ্যাকাউন্টের জন্য প্রদান করা উচিত। শুধুমাত্র তখনই প্রকাশ করুন যখন অ্যাকাউন্ট প্রোফাইলটি একজন প্রাপ্তবয়স্কের।
ক্রস-ডিভাইস সিঙ্কিং
SyncAcrossDevices পতাকা
এই পতাকা নিয়ন্ত্রণ করে যে ব্যবহারকারীর ContinuationCluster ডেটা তাদের ডিভাইস (TV, ফোন, ট্যাবলেট, ইত্যাদি) জুড়ে সিঙ্ক্রোনাইজ করা হয়েছে কিনা। এটি ডিফল্ট থেকে মিথ্যা, যার অর্থ ক্রস-ডিভাইস সিঙ্ক ডিফল্টরূপে অক্ষম করা হয়।
মান:
- সত্য: অবিরাম দেখার অভিজ্ঞতার জন্য ContinuationCluster ডেটা সমস্ত ব্যবহারকারীর ডিভাইস জুড়ে ভাগ করা হয়৷ সেরা ক্রস-ডিভাইস অভিজ্ঞতার জন্য আমরা দৃঢ়ভাবে এই বিকল্পটি সুপারিশ করি।
- false: ContinuationCluster ডেটা বর্তমান ডিভাইসে সীমাবদ্ধ।
সম্মতি পান:
মিডিয়া অ্যাপ্লিকেশনকে ক্রস-ডিভাইস সিঙ্কিং সক্ষম/অক্ষম করার জন্য একটি স্পষ্ট সেটিং প্রদান করতে হবে। ব্যবহারকারীর সুবিধাগুলি ব্যাখ্যা করুন এবং ব্যবহারকারীর পছন্দ একবার সংরক্ষণ করুন এবং সেই অনুযায়ী publishContinuationCluster এ প্রয়োগ করুন।
// Example to allow cross device syncing.
client.publishContinuationCluster(
PublishContinuationClusterRequest
.Builder()
.setContinuationCluster(
ContinuationCluster
.Builder()
.setAccountProfile(accountProfile)
.setSyncAcrossDevices(true)
.build();
)
.build();
)
আমাদের ক্রস-ডিভাইস বৈশিষ্ট্য থেকে সর্বাধিক পেতে, নিশ্চিত করুন যে আপনার অ্যাপটি ব্যবহারকারীর সম্মতি পেয়েছে এবং SyncAcrossDevicesকে সত্যে সক্ষম করে। এটি সামগ্রীগুলিকে সমস্ত ডিভাইস জুড়ে নির্বিঘ্নে সিঙ্ক করার অনুমতি দেয়, যার ফলে ব্যবহারকারীর অভিজ্ঞতা আরও ভাল হয় এবং ব্যস্ততা বৃদ্ধি পায়। উদাহরণ স্বরূপ, একজন অংশীদার যিনি এটি বাস্তবায়ন করেছেন তিনি "দেখা চালিয়ে যান" ক্লিকে 40% বৃদ্ধি দেখেছেন কারণ তাদের সামগ্রী একাধিক ডিভাইসে প্রদর্শিত হয়েছে৷
ভিডিও আবিষ্কার ডেটা মুছুন
স্ট্যান্ডার্ড 60-দিন ধরে রাখার সময়ের আগে Google TV সার্ভার থেকে ব্যবহারকারীর ডেটা ম্যানুয়ালি মুছতে, client.deleteClusters() পদ্ধতি ব্যবহার করুন। অনুরোধ পাওয়ার পরে, পরিষেবাটি অ্যাকাউন্ট প্রোফাইলের জন্য বা পুরো অ্যাকাউন্টের জন্য বিদ্যমান ভিডিও আবিষ্কারের সমস্ত ডেটা মুছে ফেলবে৷
DeleteReason
enum ডেটা মুছে ফেলার কারণ নির্ধারণ করে। নিম্নলিখিত কোডটি লগআউটে ডেটা দেখা চালিয়ে যাওয়া সরিয়ে দেয়।
// If the user logs out from your media app, you must make the following call
// to remove continue watching data from the current google TV device,
// otherwise, the continue watching data will persist on the current
// google TV device until 60 days later.
client.deleteClusters(
new DeleteClustersRequest.Builder()
.setAccountProfile(AccountProfile())
.setReason(DeleteReason.DELETE_REASON_USER_LOG_OUT)
.setSyncAcrossDevices(true)
.build()
)
টেস্টিং
আপনার Engage SDK ইন্টিগ্রেশন সঠিকভাবে কাজ করছে তা নিশ্চিত করতে যাচাইকরণ অ্যাপটি ব্যবহার করুন। এই অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি আপনাকে আপনার ডেটা যাচাই করতে এবং সম্প্রচারের উদ্দেশ্যগুলি সঠিকভাবে পরিচালনা করা হচ্ছে তা নিশ্চিত করতে সহায়তা করার জন্য সরঞ্জাম সরবরাহ করে৷
আপনি প্রকাশ API চালু করার পরে, যাচাইকরণ অ্যাপটি পরীক্ষা করে নিশ্চিত করুন যে আপনার ডেটা সঠিকভাবে প্রকাশিত হচ্ছে। আপনার ধারাবাহিকতা ক্লাস্টারটি অ্যাপের ইন্টারফেসের মধ্যে একটি স্বতন্ত্র সারি হিসাবে প্রদর্শিত হওয়া উচিত।
- নিশ্চিত করুন যে আপনার অ্যাপের অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলে এনগেজ সার্ভিস ফ্ল্যাগ প্রোডাকশনে সেট করা নেই ।
- Engage Verify অ্যাপটি ইনস্টল করুন এবং খুলুন
- যদি
isServiceAvailable
false
হয়, সক্রিয় করতে "টগল" বোতামে ক্লিক করুন। - আপনি প্রকাশ করা শুরু করলে স্বয়ংক্রিয়ভাবে প্রকাশিত ডেটা দেখতে আপনার অ্যাপের প্যাকেজের নাম লিখুন।
- আপনার অ্যাপে এই ক্রিয়াগুলি পরীক্ষা করুন:
- সাইন ইন করুন
- প্রোফাইলের মধ্যে স্যুইচ করুন (যদি প্রযোজ্য হয়)।
- শুরু করুন, তারপর একটি ভিডিও পজ করুন বা হোম পেজে ফিরে যান।
- ভিডিও প্লেব্যাকের সময় অ্যাপটি বন্ধ করুন।
- "দেখা চালিয়ে যান" সারি থেকে একটি আইটেম সরান (যদি সমর্থিত হয়)।
- প্রতিটি অ্যাকশনের পরে, নিশ্চিত করুন যে আপনার অ্যাপ publishContinuationClusters API ব্যবহার করেছে এবং ডেটা যাচাইকরণ অ্যাপে সঠিকভাবে প্রদর্শিত হয়েছে।
যাচাইকরণ অ্যাপটি সঠিকভাবে বাস্তবায়িত সত্তার জন্য একটি সবুজ "অল গুড" চেক দেখাবে।
চিত্র 1. যাচাইকরণ অ্যাপের সাফল্য যাচাইকরণ অ্যাপটি কোনো সমস্যাযুক্ত সত্তাকে ফ্ল্যাগ করবে।
চিত্র 2. যাচাইকরণ অ্যাপ ত্রুটি ত্রুটিযুক্ত সত্তাগুলির সমস্যা সমাধানের জন্য, যাচাইকরণ অ্যাপে সত্তা নির্বাচন এবং ক্লিক করতে আপনার টিভি রিমোট ব্যবহার করুন৷ নির্দিষ্ট সমস্যাগুলি আপনার পর্যালোচনার জন্য লাল রঙে প্রদর্শিত এবং হাইলাইট করা হবে (নীচের উদাহরণ দেখুন)।
চিত্র 3. যাচাইকরণ অ্যাপ ত্রুটির বিবরণ