Dieser Leitfaden richtet sich an Publisher, die Companion-Anzeigen in ihre Android IMA-Implementierung einfügen möchten.
Vorbereitung
- Android-App mit integriertem IMA SDK Wenn Sie noch keine App mit integriertem SDK haben, sehen Sie sich das BasicExample an. Wenn Sie Hilfe bei der Implementierung des IMA SDK in Ihrer App benötigen, lesen Sie den Hilfeartikel IMA SDK einrichten.
- Ein Anzeigen-Tag, das so konfiguriert ist, dass eine Companion-Anzeige zurückgegeben wird. Wenn Sie ein Beispiel benötigen, sehen Sie sich unsere FAQs an.
Begleit-Anzeigen in Ihre App einfügen
Folgen Sie der Anleitung, um einen Companion-Anzeigen-Slot hinzuzufügen und Companion-Anzeigen in Ihrer App auszuliefern.
ViewGroup zum Anzeigen des Companion erstellen
Bevor Sie einen Companion anfordern, müssen Sie in Ihrem Layout einen Bereich dafür erstellen. Fügen Sie in Ihrem Layout-XML ein ViewGroup-Element hinzu. In diesem Beispiel wird ein LinearLayout verwendet. In einem späteren Schritt übergeben Sie einen Verweis auf dieses Element an Ihre AdDisplayContainer.
Wenn Sie die Integration in die BasicExample-App vornehmen, fügen Sie dies in der Datei activity_my.xml unterhalb von videoPlayerContainer ein.
activity_my.xml
<LinearLayout
android:id="@+id/companionAdSlot"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_gravity="center_horizontal"
android:gravity="center"
android:orientation="vertical"
android:textAlignment="center" />
CompanionAdSlot erstellen
Als Nächstes erstellen Sie ein CompanionAdSlot-Objekt, das dann einer ArrayList<CompanionAdSlot>-Instanz hinzugefügt wird.
Die AdDisplayContainer-Schnittstelle akzeptiert eine Liste von Companion-Anzeigenflächen, sodass Sie mehrere Companion-Anzeigen gleichzeitig präsentieren können. Sie müssen eine Instanz der Klasse ImaSdkFactory erstellen, um das CompanionAdSlot-Objekt zu erstellen.
ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);
CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
companionAdSlot.setContainer(companionViewGroup);
companionAdSlot.setSize(300, 250);
ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
companionAdSlots.add(companionAdSlot);
Erstellen Sie für jede Companion-Größe, die in Ihrer App ausgeliefert werden soll, eine Companion-Anzeigenfläche. Das IMA SDK füllt die Companion-Anzeigenfläche mit allen Companion-Anzeigen aus der VAST-Antwort, deren Abmessungen mit der Höhe und Breite der Ansicht übereinstimmen.
Das IMA SDK unterstützt auch die Verwendung von flexiblen Companion-Anzeigen.
Nachdem Sie die companionAdSlots erstellt haben, fügen Sie sie der AdsLoader hinzu. In den folgenden Beispielen wird gezeigt, wie Sie das tun, je nachdem, ob Sie die Exoplayer-IMA-Erweiterung oder andere IMA-Implementierungen verwenden, die die Erweiterung nicht nutzen.
ExoPlayer-IMA-Erweiterung
adsLoader = new ImaAdsLoader.Builder(this).setCompanionAdSlots(companionAdSlots).build();
Sonstige Implementierungen
adsLoader.getAdDisplayContainer().setCompanionSlots(companionAdSlots);
Das ist keine Kunst! In Ihrer Anwendung werden jetzt Companion-Anzeigen ausgeliefert.
Companion-Anzeigen mit fließendem Layout ausliefern
Das IMA SDK unterstützt flexible Companion-Anzeigen. Die Größe dieser Companion-Anzeigen kann an die Größe der Anzeigenfläche angepasst werden. Sie füllen die gesamte Breite der übergeordneten Ansicht aus und passen dann ihre Höhe an den Inhalt des Companion-Banners an. Sie werden in Ad Manager über die FluidCompanion-Größe festgelegt. Die folgende Abbildung zeigt, wo Sie diesen Wert festlegen können.

Android-Apps für flüssige Begleitgeräte aktualisieren
Sie können einen responsiven Companion-Slot deklarieren, indem Sie die Methode CompanionAdSlot.setSize() so aktualisieren, dass CompanionAdSlot.FLUID_SIZE als beide Parameter verwendet wird.
ImaSdkFactory sdkFactory = ImaSdkFactory.getInstance();
ViewGroup companionViewGroup = (ViewGroup) findViewById(R.id.companionAdSlot);
CompanionAdSlot companionAdSlot = sdkFactory.createCompanionAdSlot();
companionAdSlot.setContainer(companionViewGroup);
companionAdSlot.setSize(CompanionAdSlot.FLUID_SIZE, CompanionAdSlot.FLUID_SIZE);
ArrayList<CompanionAdSlot> companionAdSlots = new ArrayList<CompanionAdSlot>();
companionAdSlots.add(companionAdSlot);
FAQ
- Ich habe die Anleitung befolgt, sehe aber keine Companion-Anzeigen. Was soll ich tun?
- Prüfen Sie zuerst, ob Ihr Tag wirklich Begleit-Creatives zurückgibt. Öffnen Sie dazu das Tag in einem Webbrowser und suchen Sie nach einem
<CompanionAds>-Tag. Wenn das der Fall ist, prüfen Sie, ob die Größe des zurückgegebenen Companion-Creatives mit den Abmessungen übereinstimmt, die Sie an dasCompanionAdSlot-Objekt übergeben. - Wie sieht die Companion-Anzeigenfläche aus, wenn ich dieser Anleitung folge?
Das folgende Bild wurde aus dem BasicExample erstellt. Das Content-Video wird oben und die Companion-Anzeige unten wiedergegeben.