নেটিভ ভিডিও বিজ্ঞাপন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
প্ল্যাটফর্ম নির্বাচন করুন: Android iOS মিডিয়া কন্টেন্ট
নেটিভ বিজ্ঞাপন এবং কাস্টম নেটিভ বিজ্ঞাপন ফর্ম্যাটগুলি একটি
MediaContent
অবজেক্টে অ্যাক্সেস প্রদান করে যা মিডিয়া বিষয়বস্তু সম্পর্কে তথ্য পেতে ব্যবহৃত হয়, যা ভিডিও বা একটি ছবি হতে পারে। এটি ভিডিও বিজ্ঞাপন প্লেব্যাক নিয়ন্ত্রণ করতে এবং প্লেব্যাক ইভেন্টগুলি শুনতেও ব্যবহৃত হয়। আপনি
NativeAd.getMediaContent()
কল করে
MediaContent
অবজেক্ট পেতে পারেন।
MediaContent
অবজেক্টে তথ্য থাকে যেমন একটি ভিডিওর আকৃতির অনুপাত এবং সময়কাল। নিম্নলিখিত স্নিপেট দেখায় কিভাবে একটি নেটিভ বিজ্ঞাপনের আকৃতির অনুপাত এবং সময়কাল পেতে হয়।
জাভা
if (nativeAd.getMediaContent() != null) {
MediaContent mediaContent = nativeAd.getMediaContent();
float mediaAspectRatio = mediaContent.getAspectRatio();
if (mediaContent.hasVideoContent()) {
float duration = mediaContent.getDuration();
}
}
কোটলিন
nativeAd.mediaContent?.let { mediaContent ->
val mediaAspectRatio: Float = mediaContent.aspectRatio
if (mediaContent.hasVideoContent()) {
val duration: Float = mediaContent.duration
}
}
ভিডিও ইভেন্টের জন্য কলব্যাক
নির্দিষ্ট ভিডিও ইভেন্টগুলি পরিচালনা করতে, একটি ক্লাস লিখুন যা বিমূর্ত VideoLifecycleCallbacks
ক্লাস প্রসারিত করে এবং VideoController
এ setVideoLifecycleCallbacks()
কল করুন। তারপর, শুধুমাত্র আপনার পছন্দের কলব্যাকগুলিকে ওভাররাইড করুন৷
জাভা
if (nativeAd.getMediaContent() != null) {
VideoController videoController = nativeAd.getMediaContent().getVideoController();
if (videoController != null) {
videoController.setVideoLifecycleCallbacks(
new VideoController.VideoLifecycleCallbacks() {
@Override
public void onVideoStart() {
Log.d(TAG, "Video started.");
}
@Override
public void onVideoPlay() {
Log.d(TAG, "Video played.");
}
@Override
public void onVideoPause() {
Log.d(TAG, "Video paused.");
}
@Override
public void onVideoEnd() {
Log.d(TAG, "Video ended.");
}
@Override
public void onVideoMute(boolean isMuted) {
Log.d(TAG, "Video isMuted: " + isMuted + ".");
}
});
}
}
কোটলিন
val videoLifecycleCallbacks =
object : VideoController.VideoLifecycleCallbacks() {
override fun onVideoStart() {
Log.d(TAG, "Video started.")
}
override fun onVideoPlay() {
Log.d(TAG, "Video played.")
}
override fun onVideoPause() {
Log.d(TAG, "Video paused.")
}
override fun onVideoEnd() {
Log.d(TAG, "Video ended.")
}
override fun onVideoMute(isMuted: Boolean) {
Log.d(TAG, "Video isMuted: $isMuted.")
}
}
nativeAd.mediaContent?.videoController?.videoLifecycleCallbacks = videoLifecycleCallbacks
অন্য কিছু উল্লেখ না করা থাকলে, এই পৃষ্ঠার কন্টেন্ট Creative Commons Attribution 4.0 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-09-03 UTC-তে শেষবার আপডেট করা হয়েছে।
[null,null,["2025-09-03 UTC-তে শেষবার আপডেট করা হয়েছে।"],[[["\u003cp\u003eNative ads provide a \u003ccode\u003eMediaContent\u003c/code\u003e object to access and control video or image content within the ad.\u003c/p\u003e\n"],["\u003cp\u003eYou can retrieve information like aspect ratio and duration from the \u003ccode\u003eMediaContent\u003c/code\u003e object for video ads.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can monitor and respond to video playback events (start, play, pause, end, mute) using \u003ccode\u003eVideoLifecycleCallbacks\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/ad-manager/mobile-ads-sdk/android/native/video-ads \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/native/video-ads \"View this page for the iOS platform docs.\")\n\n\u003cbr /\u003e\n\nMediaContent Native ads and custom native ad formats provide access to a [`MediaContent`](/ad-manager/mobile-ads-sdk/android/reference/com/google/android/gms/ads/MediaContent) object that is used to get information about media content, which could be video or an image. It is also used to control video ad playback and listen for playback events. You can obtain the `MediaContent` object by calling [`NativeAd.getMediaContent()`](/ad-manager/mobile-ads-sdk/android/reference/com/google/android/gms/ads/nativead/NativeAd#getMediaContent()).\n\n\u003cbr /\u003e\n\nThe `MediaContent` object contains information such as the aspect ratio and\nduration of a video. The following snippet shows how to get the aspect ratio and\nduration of a native ad. \n\nJava \n\n if (nativeAd.getMediaContent() != null) {\n MediaContent mediaContent = nativeAd.getMediaContent();\n float mediaAspectRatio = mediaContent.getAspectRatio();\n if (mediaContent.hasVideoContent()) {\n float duration = mediaContent.getDuration();\n }\n } \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/snippets/NativeVideoAdsSnippets.java#L31-L37\n\nKotlin \n\n nativeAd.mediaContent?.let { mediaContent -\u003e\n val mediaAspectRatio: Float = mediaContent.aspectRatio\n if (mediaContent.hasVideoContent()) {\n val duration: Float = mediaContent.duration\n }\n } \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/snippets/NativeVideoAdsSnippets.kt#L28-L33\n\nCallbacks for video events\n\nTo handle specific video events, write a class that extends the abstract\n`VideoLifecycleCallbacks` class, and call\n[`setVideoLifecycleCallbacks()`](/ad-manager/mobile-ads-sdk/android/reference/com/google/android/gms/ads/common/VideoController#etVideoLifecycleCallbacks(com.google.android.libraries.ads.mobile.sdk.common.VideoController.VideoLifecycleCallbacks))\non the `VideoController`. Then, override only the callbacks you care about. \n\nJava \n\n if (nativeAd.getMediaContent() != null) {\n VideoController videoController = nativeAd.getMediaContent().getVideoController();\n if (videoController != null) {\n videoController.setVideoLifecycleCallbacks(\n new VideoController.VideoLifecycleCallbacks() {\n @Override\n public void onVideoStart() {\n Log.d(TAG, \"Video started.\");\n }\n\n @Override\n public void onVideoPlay() {\n Log.d(TAG, \"Video played.\");\n }\n\n @Override\n public void onVideoPause() {\n Log.d(TAG, \"Video paused.\");\n }\n\n @Override\n public void onVideoEnd() {\n Log.d(TAG, \"Video ended.\");\n }\n\n @Override\n public void onVideoMute(boolean isMuted) {\n Log.d(TAG, \"Video isMuted: \" + isMuted + \".\");\n }\n });\n }\n } \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/java/advanced/APIDemo/app/src/main/java/com/google/android/gms/snippets/NativeVideoAdsSnippets.java#L43-L74\n\nKotlin \n\n val videoLifecycleCallbacks =\n object : VideoController.VideoLifecycleCallbacks() {\n override fun onVideoStart() {\n Log.d(TAG, \"Video started.\")\n }\n\n override fun onVideoPlay() {\n Log.d(TAG, \"Video played.\")\n }\n\n override fun onVideoPause() {\n Log.d(TAG, \"Video paused.\")\n }\n\n override fun onVideoEnd() {\n Log.d(TAG, \"Video ended.\")\n }\n\n override fun onVideoMute(isMuted: Boolean) {\n Log.d(TAG, \"Video isMuted: $isMuted.\")\n }\n }\n nativeAd.mediaContent?.videoController?.videoLifecycleCallbacks = videoLifecycleCallbacks \n https://github.com/googleads/googleads-mobile-android-examples/blob/ccc290a583d7f552bdcf81ea76adc05beaa43f0b/kotlin/advanced/APIDemo/app/src/main/java/com/google/android/gms/snippets/NativeVideoAdsSnippets.kt#L39-L61"]]