Implementierungsoptionen für Android-Anzeigen in Code oder Layouts

Wenn Sie Anzeigen in eine Android-App aufnehmen, gibt es einige Optionen zum Anzeigen von Anzeigen für Benutzer. Neben der Auswahl der zu verwendenden Werbenetzwerke gibt es Optionen, wie die App die Anzeigen abruft und anzeigt.

Sie können die Anzeigenanforderung in den Layoutdateien (XML) einrichten oder die Anzeigen vollständig in Code implementieren. Jedes hat Vor- und Nachteile, daher kann es angebracht sein, das eine oder andere in verschiedenen Situationen zu verwenden.

Für die Zwecke dieses Beitrags vergleiche ich diese beiden Optionen für Bannerwerbung mit AdMob, der bekanntesten Anzeigenlösung für Android-Apps. Beachten Sie, dass es viele andere Anzeigenoptionen gibt und nicht alle diese beiden Optionen unterstützen.

Zwei verschiedene Methoden, um das gleiche Ergebnis zu erzielen.

Vorteile der Implementierung von Anzeigen im Layout

Wenn Sie mit XML-Layouts für Android vertraut sind, ist es nicht allzu schwierig, Anzeigen in das Layout einzufügen. Der größte Vorteil ist die Einfachheit - es ist keine Codepflege erforderlich, nur ein paar Zeilen XML in Ihrer Layoutdatei. Es kann in jedes Layout kopiert werden, und dort befindet sich jetzt eine Anzeige.

Wenn Sie diese Anzeige einige Male verwenden, können Sie diesen Code in ein einzelnes Anzeigenlayout isolieren, das Sie mithilfe des Include-Mechanismus überall wiederverwenden können. Beispielsweise:

 xmlns: ads = "http://schemas.android.com/apk/lib/com.google.ads" 
 android: orientierung = "vertikal" 
 android: layout_width = "fill_parent" 
 android: layout_height = "wrap_content"> 
 android: layout_width = "wrap_content" 
 android: layout_height = "wrap_content" 
 ads: adUnitId = "MY_AD_UNIT_ID" 
 Anzeigen: adSize = "BANNER" 
 ads: loadAdOnCreate = "true" /> 

Das meiste davon ist Boilerplate - der einzige wirklich eindeutige Code ist "MY_AD_UNIT_ID", den Sie in dieser Layoutdatei fest codieren oder aus einer Projektressource abrufen können. Es muss kein Code geändert werden. Der gesamte Abruf und die Anzeige von Anzeigen werden von der Anzeigenbibliothek verwaltet, die direkt aus dieser Layoutdatei aufgerufen wird.

Bitte beachten Sie, dass der obige Code vereinfacht ist. Ausführliche Informationen zur Implementierung finden Sie in den AdMob-Anweisungen. Darüber hinaus habe ich die XML-basierte Anzeigenintegration verwendet, um die einfache Erstellung mehrerer "Varianten" einer App zu ermöglichen. Wenn Sie beispielsweise zwei Versionen einer App mit zwei verschiedenen Anzeigen-IDs (oder eine ohne Anzeigen) möchten, können Sie mithilfe von Bibliotheksprojekten Ihren gesamten Code und Ihre Assets mit zwei untergeordneten Projekten in ein Bibliotheksprojekt einfügen. Die einzigen Dateien, die die untergeordneten Projekte enthalten müssen, sind die unterschiedlichen Layouts mit den jeweiligen Anzeigen-IDs. Zwischen den beiden Apps unterscheidet sich kein Code.

Ich habe auch das layoutbasierte Setup verwendet, um zwei verschiedene XML-basierte Anzeigenoptionen für Split-Tests auszutauschen.

Vorteile der Implementierung von Anzeigen in Code

Die andere Option besteht darin, den Platz für Ihre Anzeigen im Layout zu erstellen, das Laden der Anzeige jedoch im Code selbst zu übernehmen. Einige Entwickler, die in die Android-Welt einsteigen, sind möglicherweise eher mit der codebasierten Option als mit dem XML-basierten Setup vertraut.

Die Vorteile dieses Ansatzes umfassen:

  • Mehr Kontrolle - Die Logik im Code kann steuern, wie und wann die Anzeige geladen wird.
  • Die Möglichkeit, Metadaten festzulegen (einige Werbenetzwerke ermöglichen das Einbeziehen demografischer Informationen);
  • Die Möglichkeit, Split-Tests nach App Store durchzuführen (separate IDs für jeden Markt);
  • Zugriff auf Werbenetzwerke, die nicht in einer Layoutdatei eingerichtet werden können.

Einige dieser Optionen werden für fortgeschrittenere Strategien verwendet und sind für die Erstimplementierung nicht erforderlich. Zu den grundlegenden AdMob-Anweisungen gehört das Hinzufügen einer kleinen Menge Code:

 AdView adView = neues AdView (dies, AdSize.BANNER, MY_AD_UNIT_ID); 
 LinearLayout layout = (LinearLayout) findViewById (R.id.mainLayout); 
 layout.addView (adView); 
 adView.loadAd (new AdRequest ()); 

Nach wie vor ist das meiste davon Boilerplate, mit Ausnahme von "MY_AD_UNIT_ID". Der gleiche Code muss zu jeder Aktivität hinzugefügt werden, bei der Anzeigen geschaltet werden. Darüber hinaus sind kompliziertere Setups optional und können bei Bedarf durchgeführt werden. Der Hauptvorteil der codebasierten Implementierung ist die Flexibilität.

Gründe für die Wahl eines über dem anderen

Im Laufe der Zeit hat sich meine Präferenz von der Aufnahme der Anzeigen in das Layout (XML-basiert) zur Implementierung einer codebasierten Anzeigenlösung gewandelt. Dies ist zum Teil auf meine laufenden Forschungen zu Werbenetzwerken für die Bücher der Android Income Series zurückzuführen, aber auch auf die Verfolgung mehrerer Android App Stores.

Während ich die Einfachheit verloren habe, keinen Anzeigencode in meinen Aktivitäten zu haben, habe ich die Flexibilität erhalten, meine Werbeeinnahmen nach App Store zu verfolgen, um zu verstehen, welche Märkte am profitabelsten sind. Außerdem kann ich damit Anzeigenmediatoren verwenden. Derzeit wähle ich MoPub, bei dem die Anzeige im Code und nicht im Layout instanziiert werden muss. Ich musste den Wechsel vornehmen und in all meinen Apps einen kleinen Code hinzufügen, aber jetzt kann ich meine Anzeigen über eine Weboberfläche verwalten, ohne weitere Änderungen an meinen Apps vornehmen zu müssen.

Welches ist das Richtige für Sie?

Dies hängt zum Teil von Ihrer Anzeigenstrategie ab. Für viele Android-Entwickler ist es jedoch am wichtigsten, die ersten Anzeigen einfach zu integrieren. Welche Methode Sie auch immer besser kennen - XML-basiert oder Code-basiert - ist jetzt die richtige für Sie. Es ist nicht wirklich viel Arbeit, den Wechsel später vorzunehmen, wenn für eine neue Strategie Anzeigen im Code erforderlich sind.

© Copyright 2021 | mobilegn.com