بدء استخدام حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية

تُسهِّل أدوات تطوير البرامج لإعلانات الوسائط التفاعلية عملية دمج إعلانات الوسائط المتعددة في مواقعك الإلكترونية وتطبيقاتك. يمكن لحزمة تطوير البرامج لإعلانات الوسائط التفاعلية طلب إعلانات من أي خادم إعلانات متوافق مع VAST وإدارة تشغيل الإعلانات في تطبيقاتك. باستخدام حزم تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية، تنشئ التطبيقات طلب بث لفيديو الإعلان والمحتوى، سواء كان فيديو عند الطلب أو محتوى مباشر. تُرجع حزمة SDK بعد ذلك الفيديو المضمّن، بحيث لا تضطر إلى إدارة التبديل بين الإعلان والفيديو في شبكة المحتوى داخل تطبيقك.

اختيار حلّ DAI المطلوب

إدراج إعلان ديناميكي في مجموعة الإعلانات

تُسهِّل أدوات تطوير البرامج لإعلانات الوسائط التفاعلية عملية دمج إعلانات الوسائط المتعددة في مواقعك الإلكترونية وتطبيقاتك. يمكن لحزمة تطوير البرامج لإعلانات الوسائط التفاعلية طلب إعلانات من أي خادم إعلانات متوافق مع VAST وإدارة تشغيل الإعلانات في تطبيقاتك. باستخدام حزم تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية، تنشئ التطبيقات طلب بث لفيديو الإعلان والمحتوى، سواء كان فيديو عند الطلب أو محتوى مباشر. تُرجع حزمة SDK بعد ذلك الفيديو المضمّن، بحيث لا تضطر إلى إدارة التبديل بين الإعلان والفيديو في شبكة المحتوى داخل تطبيقك.

يوضِّح هذا الدليل كيفية تشغيل بث إعلان ديناميكي على شكل إعلان ديناميكي باستخدام ميزة "إدراج إعلان ديناميكي" لإعلانات الوسائط التفاعلية. SDK مع مشغّل فيديو بسيط لتشغيل أحداث البث المباشر والفيديوهات عند الطلب. إذا أردت ترغب في عرض أو متابعة تكامل نموذجي مكتمل، فقم بتنزيل مثال على عرض الإعلانات المتسلسلة.

نظرة عامة على عرض الإعلانات المتسلسلة لإعلانات الوسائط التفاعلية

  • StreamRequest: كائن يحدّد طلب البث خوادم إعلانات Google. يجب أن يتم إنشاؤه باستخدام إما ImaSdkFactory.createPodStreamRequest() أو ImaSdkFactory.createPodVodStreamRequest() لتفعيل عرض الإعلانات المتسلسلة. تتطلب هذه الطرق رمز شبكة. تتطلب createPodStreamRequest أيضًا مفتاح مادة عرض مخصّص، بالإضافة إلى مفتاح واجهة برمجة التطبيقات الاختياري. يتضمن كلاهما معلمات اختيارية أخرى.

  • StreamManager: كائن يعالج الاتصال بين الفيديو المضمّن وحزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية، مثل إشعارات التتبع إعادة توجيه أحداث البث إلى الناشر.

المتطلبات الأساسية

إعداد متغيّرات عرض الإعلانات المتسلسلة

يتم إجراء جميع التغييرات اللازمة لعرض الإعلانات المتسلسلة في SampleAdsWrapper.java. تشير رسالة الأشكال البيانية الخطوة الأولى هي تحديث المتغيرات الثابتة.

في ما يلي ثوابت طلبات بث مجموعة الإعلانات المتسلسلة المطلوب إضافتها:

  • STREAM_URL: يُستخدم لأحداث البث المباشر فقط: عنوان URL لبث الفيديو الذي توفّره الجهة المسؤولة عن التحكّم في البيان أو الشريك الخارجي الذي يستخدم عرض الإعلانات المتسلسلة. يجب مطلوب منك إدراج معرّف مصدر البيانات الذي توفّره حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية قبل تقديم طلب في هذه الحالة، يتضمّن عنوان URL للبث عنصرًا نائبًا "[[STREAMID]]"، الذي يتم استبداله بمعرّف مصدر البيانات، قبل إنشاء طلبك.

  • NETWORK_CODE: رمز الشبكة لحسابك على "مدير الإعلانات 360".

  • CUSTOM_ASSET_KEY: يُستخدَم في أحداث البث المباشر فقط: مفتاح مادة العرض المخصّص يحدد حدث عرض اللوحة في "مدير إعلانات Google 360". يمكن إنشاء هذا من خلال الجهة المسؤولة عن التحكّم في البيان أو شريك عرض الإعلانات المتسلسلة التابع لجهة خارجية

  • API_KEY: يُستخدَم في أحداث البث المباشر فقط: مفتاح واجهة برمجة تطبيقات اختياري يمكن استخدامه المطلوب لاسترداد رقم تعريف مصدر البيانات من حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية.

تم تصميم Android DAI BasicExample لتشغيل مجموعة متنوّعة من أحداث البث المختلفة. ولكن بالنسبة إلى عرض الإعلانات المتسلسلة، يتم إعدادها لتشغيل بث واحد فقط. غيِّر قسم المتغيّرات في المثال ليتطابق مع ما يلي:

/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
        implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {

  // Podserving Stream Constants.
  private static final String STREAM_URL =
          "https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
          "master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
          "&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
          "&seg-host=dai.google.com&stream_id=[[STREAMID]]";
  private static final String NETWORK_CODE = "51636543";
  private static final String CUSTOM_ASSET_KEY = "google-sample";
  private static final String API_KEY = "";

  private static final String PLAYER_TYPE = "DAISamplePlayer";

  /** Log interface, so we can output the log commands to the UI or similar. */
  public interface Logger {

...

إنشاء طلب بث مباشر أو لمجموعة من الفيديوهات عند الطلب لتفعيل عرض المجموعة

عرض مجموعة البث المباشر

إزالة طريقة buildStreamRequest() التي سبق استخدامها للتبديل بينها إنشاء مجموعة متنوعة من أنواع البث. بعد ذلك، تغيير "requestAndPlayAds()" لإجراء مكالمة ImaSdkFactory.createPodStreamRequest() لإنشاء إعلان ضمن مجموعة البث المباشر طلبك. وأخيرًا، اطلب البث باستخدام "AdsLoader.requestStream()".

public void requestAndPlayAds() {
  StreamRequest request =
      sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
  request.setFormat(StreamFormat.HLS);

  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  adsLoader.requestStream(request);
}

عرض مجموعة البث الخاصة بالفيديوهات عند الطلب

إزالة طريقة buildStreamRequest() التي سبق استخدامها للتبديل بينها إنشاء مجموعة متنوعة من أنواع البث. بعد ذلك، تغيير "requestAndPlayAds()" لإجراء مكالمة ImaSdkFactory.createPodVodStreamRequest() لإنشاء إعلان على منصة VOD. طلبك. وأخيرًا، اطلب البث باستخدام "AdsLoader.requestStream()".

public void requestAndPlayAds() {
  StreamRequest request =
      sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
  request.setFormat(StreamFormat.HLS);

  adsLoader.addAdErrorListener(this);
  adsLoader.addAdsLoadedListener(this);
  adsLoader.requestStream(request);
}

تعديل عنوان URL للبث وضبطه

عرض مجموعة البث المباشر

اتّصِل بالرقم StreamManager.getStreamId() للحصول على معرّف مصدر البيانات. يجب أن يكون هذا مُدرجة في STEAM_URL مع استبدال "[[STREAMID]]". بعد هذا التغيير يمكن ضبط عنوان URL للبث الجديد باستخدام videoPlayer.setStreamUrl().

@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
  streamManager = event.getStreamManager();
  streamManager.addAdErrorListener(this);
  streamManager.addAdEventListener(this);

  // To enable streams
  String streamID = streamManager.getStreamId();
  String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);

  streamManager.init();

  videoPlayer.setStreamUrl(streamUrl);
  videoPlayer.play();
}

عرض مجموعة البث الخاصة بالفيديوهات عند الطلب

اتّصِل بالرقم StreamManager.getStreamId() للحصول على معرّف مصدر البيانات. بعد ذلك، اطلب بث عنوان URL من شريك تقنية الفيديو (VTP). ثم اتصل StreamManager.loadThirdPartyStream() أن تحمِّل أداة الوسائط التفاعلية عنوان URL للبث وأي الترجمة التي يعرضها مقدّم الفيديو (TVP)

@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
  streamManager = event.getStreamManager();
  streamManager.addAdErrorListener(this);
  streamManager.addAdEventListener(this);

  // To enable streams
  String streamID = streamManager.getStreamId();
  // 'vtpInterface' is a place holder for your own video technology partner
  // (VTP) API calls.
  String streamUrl = vtpInterface.requestStreamURL(streamID);

  streamManager.init();

  // Pass any subtitles returned by your VTP in this step as well.
  streamManager.loadThirdPartyStream(streamUrl, subtitles);
}

عند تفعيل عرض الإعلانات المتسلسلة، لا تُجري إعلانات الوسائط التفاعلية طلبات إلى VideoStreamPlayer.loadUrl()، وبالتالي يمكنك إزالة أي مكالمات إلى videoPlayer.setStreamUrl() وvideoPlayer.play() منها.

هذا كل شيء! أنت الآن تطلب الإعلانات وتعرضها في مجموعة بث تعرض الإعلانات المتسلسلة باستخدام حزمة تطوير البرامج لإدراج إعلان ديناميكي لإعلانات الوسائط التفاعلية للاطّلاع على أمثلة أخرى عن استخدام حزمة تطوير البرامج (SDK) لنظام التشغيل Android، انظر إلى النماذج على GitHub.