Überblick
Das Brightcove Native SDK für Android 8.0.0 oder höher unterstützt das Google IMA SDK Version 3.27.1. Wenn Sie IMA-Werbung verwenden, müssen Sie einige Dinge beachten, um diese Version des IMA-Plug-ins zu verwenden. Sie umfassen Folgendes:
Änderungen im Google IMA SDK
Das Brightcove Native SDK hat das Google IMA SDK von Version 3.11.2 auf Version 3.27.1 aktualisiert. Zu den wichtigsten Änderungen zählen:
-
SdkFactory.createAdDisplayContainer()
ist veraltet -
AdDisplayContainer.setPlayer(VideoAdPlayer)
ist veraltet -
AdDisplayContainer.setAdContainer(ViewGroup)
ist veraltet -
AdsRequest.setAdDisplayContainer(AdDisplayContainer)
ist entfernt
Die vollständige Version finden Sie in der Veröffentlichungsverlauf des Google IMA Android SDK dokumentieren.
Änderungen im Brightcove IMA-Plug-in
Das Brightcove IMA-Plug-in hat mehrere Änderungen vorgenommen, um vollständig mit der neuen Google IMA SDK-Version kompatibel zu sein. Sie beinhalten:
- Verwenden des GoogleIMAComponent Builder
- Erstellen des AdDisplayContainers
- Veraltete Methoden in GoogleIMAVideoAdPlayer
Verwenden des GoogleIMAComponent Builder
Wir empfehlen, den Builder zu verwenden, um die GoogleIMAComponent
Beispiel. Dies erleichtert die Konfiguration der GoogleIMAComponent
.
googleIMAComponent = new GoogleIMAComponent.Builder(brightcoveVideoView, eventEmitter)
.setUseAdRules(true)
.setImaSdkSettings(customIMASDKSettings)
.setAdsRenderingSettings(customAdsRenderingSettings)
.setAdDisplayContainerFactory(customAdDisplayContainerFactory)
.build();
}
Erstellen des AdDisplayContainers
Weil das Google IMA SDK entfernt wurde AdsRequest.setAdDisplayContainer(...)
erstellt das Brightcove IMA-Plug-in dies jetzt automatisch mithilfe der GoogleIMAVideoAdPlayer
und der BaseVideoView
.
Das Plugin erfordert eine AdDisplayContainerFactory
um die zu erstellen AdDisplayContainer
.
public interface AdDisplayContainerFactory {
/**
* Creates the AdDisplayContainer with the provided GoogleIMAVideoAdPlayer
* and the ViewGroup retrieved with getViewContainer()
*
* @param googleIMAVideoAdPlayer the Brightcove Ad Player for Google IMA
*/
AdDisplayContainer createAdDisplayContainer(GoogleIMAVideoAdPlayer googleIMAVideoAdPlayer);
/**
* Returns the ViewGroup container used for both,
* the creation of the GoogleIMAVideoAdPlayer and the AdDisplayContainer
*/
ViewGroup getViewContainer();
}
Unter der Haube verwendet das Plugin die DefaultAdDisplayContainerFactory
, ein AdDisplayContainerFactory
, um die . zu erstellen AdDisplayContainer
. Die getViewContainer()
gibt die zurück BaseVideoView
in seinem Konstruktor übergeben, und die createAdDisplayContainer
Methode gibt zurück:
ImaSdkFactory.createAdDisplayContainer(getViewContainer(), googleIMAVideoAdPlayer);
Fügen Sie Ihre AdDisplayContainerFactory hinzu
Wenn Sie eine andere Implementierung benötigen, müssen Sie Ihre eigene bestehen AdDisplayContainerFactory
zum GoogleIMAComponent
Erbauer:
googleIMAComponent = new GoogleIMAComponent.Builder(brightcoveVideoView, eventEmitter)
.setAdDisplayContainerFactory(customAdDisplayContainerFactory)
.build();
Wenn Sie die Anzeigen in einer anderen Ansicht als der BaseVideoView
, können Sie die DefaultAdDisplayContainerFactory
mit Ihrem ViewGroup
.
googleIMAComponent = new GoogleIMAComponent.Builder(brightcoveVideoView, eventEmitter)
.setAdDisplayContainerFactory(new DefaultAdDisplayContainerFactory(myViewGroup))
.build();
Veraltete Methoden in GoogleIMAVideoAdPlayer
Die folgenden Methoden sind in der GoogleIMAVideoAdPlayer
Klasse:
Veraltete Methode | Stattdessen verwenden |
---|---|
playAd() |
playAd(AdMediaInfo) |
loadAd(String) |
loadAd(AdMediaInfo, AdPodInfo) |
stopAd() |
stopAd(AdMediaInfo) |
resumeAd() |
playAd(AdMediaInfo) |
pauseAd() |
pauseAd(AdMediaInfo) |
Beachten Sie, dass die Ersetzungsmethoden jetzt AdMediaInfo
. Sie können den aktuellen abrufen AdMediaInfo
Objekt durch Aufruf GoogleIMAVideoAdPlayer.getCurrentAdMediaInfo()
. Dies gibt das geladene zurück AdMediaInfo
, oder Null
.
Umstellung auf das IMA-Plugin 8.0.0
Führen Sie die folgenden Schritte aus, um auf das Brightcove IMA-Plugin 8.0.0 zu migrieren:
Abhängigkeitsversionen aktualisieren
Aktualisieren Sie Ihre App, um die folgenden Abhängigkeitsversionen zu verwenden:
- Alle Brightcove-SDK-Abhängigkeiten wurden auf Version 8.0.0 gesetzt
- Verwenden Sie Google IMA SDK Version 3.27.1
Hier ist ein Beispiel für die build.gradle Datei:
//build.gradle
dependencies {
//Brightcove SDK dependencies
implementation "com.brightcove.player:android-sdk8.0.0:"
implementation "com.brightcove.player:exoplayer2:8.0.0"
implementation "com.brightcove.player:android-ima-plugin:8.0.0"
//Google IMA SDK
implementation "com.google.ads.interactivemedia.v3:interactivemedia:3.27.1"
...
}
Veraltete Methoden entfernen
Ihr aktuelles Google IMA-Setup könnte etwa so aussehen:
AdDisplayContainer container = sdkFactory.createAdDisplayContainer();
container.setPlayer(googleIMAComponent.getVideoAdPlayer());
container.setAdContainer(brightcoveVideoView);
Diese drei Methoden sind veraltet und werden eingestellt.
Sie müssen jetzt anrufen googleIMAComponent.getAdDisplayContainer()
und es wird die zurückgeben AdDisplayContainer
in Verbindung mit GoogleIMAVideoAdPlayer
, oder null, wenn nicht verfügbar.
Weitere Informationen zum Erstellen der AdDisplayContainer
, siehe die Erstellen des AdDisplayContainers Sektion.
Die folgende Methode wurde auch aus dem Google IMA SDK entfernt:
adsRequest.setAdDisplayContainer(container);
Verwenden Sie stattdessen die AdDisplayContainer
um eine Instanz des Google IMA zu erstellen AdsLoader
.
Einzelheiten zu veralteten Methoden und deren Ersetzungen finden Sie im Veraltete Methoden in GoogleIMAVideoAdPlayer Sektion.
Mehr Informationen
Weitere Informationen zu IMA-Änderungen finden Sie im Veröffentlichungsverlauf des Google IMA Android SDK Dokumentation.