إعداد قوائم تشغيل إعلانية تلقائيًا
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تتوافق حزمة تطوير البرامج لإعلانات الوسائط التفاعلية على نظام التشغيل Android مع قوائم تشغيل الإعلانات المبرمَجة بالكامل. هذه الميزة
يعمل على إدراج فواصل إعلانية في المحتوى كما هو محدَّد في
مدير إعلانات Google
عند عرض الإعلانات كما أنه يبسط بشكل كبير رمز مشغّل الفيديو
اللازمة لدعم الفواصل الإعلانية، بما في ذلك إعلانات ما قبل التشغيل وأثناء التشغيل وما بعد التشغيل.
- عند عرض الإعلانات في "مدير الإعلانات"، من الممكن تحديد قواعد إعلان مختلفة
مثل "تشغيل الفواصل الإعلانية دائمًا في بداية المحتوى" أو "تشغيل أغنية
دقيقة واحدة لكل 30 دقيقة من المحتوى".
- عند طلب الإعلانات، يمكن لخادم الإعلانات عرض قائمة تشغيل تضم إعلانات. حزمة SDK
تعالج قائمة التشغيل وتحدد تلقائيًا الفواصل الإعلانية التي تم حذفها
المحددة.
- وبما أنّ نظام Android يستخدم مشغّل الفيديو نفسه لتشغيل الإعلانات والمحتوى،
وإذا كنت تخطط لتطبيق قواعد الإعلانات، فيجب حفظ موضع رأس التشغيل
المحتوى عند بدء الإعلان، ثم الانتقال إلى ذلك الموضع عند انتهاء الإعلان.
احرص على استخدام واجهة
VideoAdPlayer
في الفيديو الخاص بك.
لاعب. يضمن ذلك إدراج الفواصل الإعلانية تلقائيًا في
الأوقات المحددة في "مدير إعلانات Google"
private boolean playingContent = true;
private int contentPosition = -1;
private List callbacks =
new ArrayList();
@Override
public void addCallback(VideoAdPlayerCallback callback) {
callbacks.add(callback);
}
@Override
public void removeCallback(VideoAdPlayerCallback callback) {
callbacks.remove(callback);
}
public void loadContent() {
playingContent = true;
load(CONTENT_URL);
}
@Override
public void loadAd(String mediaUrl) {
playingContent = false;
load(mediaUrl);
}
public void pauseContent() {
savePosition();
pause();
}
@Override
public void pauseAd() {
pause();
}
private void pause() {
myVideoView.pause();
for (VideoAdPlayerCallback callback : callbacks) {
callback.onPause();
}
}
public void resumeContent() {
loadContent();
if (contentPosition > 0) {
restorePosition();
}
resume();
}
@Override
public void resumeAd() {
resume();
}
private void resume() {
myVideoView.start();
for (VideoAdPlayerCallback callback : callbacks) {
callback.onResume();
}
}
public void savePosition() {
contentPosition = myVideoView.getCurrentPosition();
}
public void restorePosition() {
myVideoView.seekTo(contentPosition);
}
CONTENT_PAUSE_REQUESTED
وCONTENT_RESUME_REQUESTED
تُستخدم الأحداث لإيقاف المحتوى مؤقتًا واستئنافه عند تشغيل الفواصل الإعلانية. إحالة
إلى مستندات واجهة برمجة التطبيقات ذات الصلة
للحصول على تفاصيل حول هذه الأحداث.
ملاحظة: عند انتهاء تشغيل المحتوى أو
توقف المستخدم عن التشغيل، فاحرص على الاتصال
AdsLoader.contentComplete
لإرسال إشارة إلى حزمة تطوير البرامج (SDK) بأنّ المحتوى قد اكتمل. حزمة SDK
ثم تشغيل فاصل الإعلانات بعد التشغيل، في حال تحديد موعد لعرضه. تشير رسالة الأشكال البيانية
يتم رفع حدث ALL_ADS_COMPLETED
عند استخدام كل الفواصل الإعلانية.
التي تم لعبها. بالإضافة إلى ذلك، لاحظ أن تتبع المحتوى يبدأ عند
يتم الاتصال بـ init()
وعليك الاتصال دائمًا بـ init()
قبل تشغيل المحتوى.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-09-05 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eIMA Android SDK simplifies video ad integration by automating ad playlist insertion and playback, including pre-rolls, mid-rolls, and post-rolls.\u003c/p\u003e\n"],["\u003cp\u003eAd breaks are scheduled based on rules defined in Google Ad Manager, enabling features like pre-roll ads and periodic mid-rolls.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers must implement the \u003ccode\u003eVideoAdPlayer\u003c/code\u003e interface and manage content position during ad breaks for seamless transitions between ads and content.\u003c/p\u003e\n"],["\u003cp\u003eThe SDK provides events (\u003ccode\u003eCONTENT_PAUSE_REQUESTED\u003c/code\u003e, \u003ccode\u003eCONTENT_RESUME_REQUESTED\u003c/code\u003e) to handle content playback during ad breaks and signals ad completion with \u003ccode\u003eALL_ADS_COMPLETED\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eContent tracking begins with \u003ccode\u003einit()\u003c/code\u003e, which should be called before content playback, and \u003ccode\u003econtentComplete()\u003c/code\u003e should be called after content ends to trigger post-rolls.\u003c/p\u003e\n"]]],[],null,["# Automate ad playlists\n\nIMA Android SDK supports fully automated ad playlists. This feature\ninserts ad breaks into the content as specified in\n[Google Ad Manager](//admanager.google.com/)\nwhen trafficking your ads. It also greatly simplifies the video player code\nnecessary to support ad breaks, including pre-rolls, mid-rolls and post-rolls.\n\n- When trafficking the ads in Ad Manager, it is possible to specify various ad rules like \"always play ad break at the beginning of the content\" or \"play a one minute ad break every 30 minutes of content\".\n- When ads are requested, the ad server can return an ad playlist. The SDK processes the playlist and automatically schedules the ad breaks that have been specified.\n- Since Android uses the same video player for both ad and content playback, if you plan to implement ad rules, you must save the playhead position of your content when an ad starts, then seek to that position when the ad finishes. Be sure to implement the `VideoAdPlayer` interface in your video player. This ensures that ad breaks are automatically inserted at the times specified in Ad Manager. \n\n ```gdscript\n private boolean playingContent = true;\n private int contentPosition = -1;\n private List callbacks =\n new ArrayList();\n\n @Override\n public void addCallback(VideoAdPlayerCallback callback) {\n callbacks.add(callback);\n }\n\n @Override\n public void removeCallback(VideoAdPlayerCallback callback) {\n callbacks.remove(callback);\n }\n\n public void loadContent() {\n playingContent = true;\n load(CONTENT_URL);\n }\n\n @Override\n public void loadAd(String mediaUrl) {\n playingContent = false;\n load(mediaUrl);\n }\n\n public void pauseContent() {\n savePosition();\n pause();\n }\n\n @Override\n public void pauseAd() {\n pause();\n }\n\n private void pause() {\n myVideoView.pause();\n for (VideoAdPlayerCallback callback : callbacks) {\n callback.onPause();\n }\n }\n\n public void resumeContent() {\n loadContent();\n if (contentPosition \u003e 0) {\n restorePosition();\n }\n resume();\n }\n\n @Override\n public void resumeAd() {\n resume();\n }\n\n private void resume() {\n myVideoView.start();\n for (VideoAdPlayerCallback callback : callbacks) {\n callback.onResume();\n }\n }\n\n public void savePosition() {\n contentPosition = myVideoView.getCurrentPosition();\n }\n\n public void restorePosition() {\n myVideoView.seekTo(contentPosition);\n }\n ```\n- The `CONTENT_PAUSE_REQUESTED` and `CONTENT_RESUME_REQUESTED` events are used to pause and resume the content when ad breaks are played. Refer to the relevant [API documentation](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdEvent.AdEventType) for details on these events.\n\n**Note:** When the content has finished playing or\nthe user has stopped playback, be sure to call\n[AdsLoader.contentComplete](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader#contentComplete())\nin order to signal to the SDK that the content is done. The SDK\nthen plays the post-roll ad break, if one has been scheduled. The\n`ALL_ADS_COMPLETED` event is raised when ALL ad breaks\nhave been played. In addition, note that content tracking begins when\n`init()` is called and you should always call `init()`\nbefore playing content."]]