Flutter: Native Anzeigen von Google, die in einen Flutter-Widget-Baum integriert sind

Erstellt am 15. Sept. 2017  ·  133Kommentare  ·  Quelle: flutter/flutter

Dieser Kommentar erörtert die verschiedenen Möglichkeiten, die wir in Betracht ziehen, dieses Problem anzugehen, und enthält Links zu spezifischeren Problemen, die spezifische Schritte zur Lösung dieses Problems behandeln: https://github.com/flutter/flutter/issues/12114#issuecomment -505633342
An einigen davon arbeiten wir heute. Einzelheiten entnehmen Sie bitte den einzelnen Fehlern.


Sowohl Firebase (AdMob) als auch Facebook unterstützen ein „Native Ads“-Format:

Native Anzeigen werden inline mit dem Inhalt der App gerendert, wobei Rendering und Formatierung (Farben, Schriftarten) von der App selbst gesteuert werden.

P3 crowd firebase firebase_admob passed first triage plugin new feature transferred

Hilfreichster Kommentar

Wieder reaktivieren. #8098 war darauf beschränkt, nur Banner- und Interstitial-Unterstützung zu verfolgen.

Wenn Ihnen die Unterstützung von nativen Admob-Anzeigen wichtig ist, ziehen Sie bitte in Betracht, „abzustimmen“, indem Sie beim obersten Kommentar zu diesem Fehler auf „Daumen hoch“ klicken.

Alle 133 Kommentare

Wäre es nicht besser, DFP-Support zu haben? Würde es uns ermöglichen, eine breitere Palette von Produkten zu integrieren, einschließlich interner Banner, Ad Exchange/AdSense zusammen mit nativen/flüssigen Anzeigen?

Vielen Dank für Ihre Rückmeldung! Können Sie uns mit DFP verknüpfen?

Ich glaube, @gcshri bedeutet DoubleClick for Publishers , was lustigerweise früher DART hieß 😄

Voller Kreis!

Am Donnerstag, 12. Oktober 2017, 11:34 Uhr Eugenio Marletti [email protected]
schrieb:

Ich denke, @gcshri https://github.com/gcshri bedeutet DoubleClick for
Herausgeber https://en.wikipedia.org/wiki/DoubleClick_for_Publishers ,
was witzigerweise früher DART hieß 😄


Sie erhalten dies, weil Sie den Thread verfasst haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/flutter/flutter/issues/12114#issuecomment-336227022 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AAAVZzZFhnb80PxDhsBj6k_30sbrs7qXks5srlu6gaJpZM4PZQgi
.

Ja. Ich habe Dart gemieden, da ich immer dachte, es sei eine Skriptsprache, die aus dem Doubleclick-Shop stammt. Aber im Ernst, die Integration mit DFP würde Flutter für einige von uns öffnen, die auf Werbeeinnahmen von Google und anderen Quellen angewiesen sind.

Danke. Wenn Sie einige Links für für DFP relevante APIs hinzufügen können, können wir (und die Community) einen Blick auf die Anforderungen werfen.

Dies wäre wahrscheinlich der relevante Link.

https://developers.google.com/doubleclick-publishers/docs/clients

Die meisten Publisher verwenden die Javascript-Implementierung im Web oder
auf HTML5/Hybrid-Apps.

Git-Repositorys:

https://github.com/googleads

Wieder reaktivieren. #8098 war darauf beschränkt, nur Banner- und Interstitial-Unterstützung zu verfolgen.

Wenn Ihnen die Unterstützung von nativen Admob-Anzeigen wichtig ist, ziehen Sie bitte in Betracht, „abzustimmen“, indem Sie beim obersten Kommentar zu diesem Fehler auf „Daumen hoch“ klicken.

Geht das überhaupt ohne etwas Arbeit auf der Admob-Seite? Ich meine, Flutter verwendet benutzerdefinierte gezeichnete Steuerelemente und native Anzeigen verwenden native Steuerelemente.

Im Allgemeinen ist dieses Problem das Haupthindernis, Flutter in meinem aktuellen Projekt zu verwenden, da ich nicht weiß, wann es möglich sein wird, die nativen Anzeigen zu verwenden, und ob dies überhaupt möglich sein wird.

Dies wäre eine großartige Ergänzung, bei der native Anzeigen inline mit dem Inhalt der App angezeigt werden können.

irgendwelche Fortschritte diesbezüglich?

Wir (Community) brauchen das wirklich. Irgendwelche Fortschritte dabei?

Sogar Unity-Spiele (und -Apps) können native Anzeigen anzeigen: https://developers.google.com/admob/unity/custom-native

Einverstanden, diese Funktion wird wirklich benötigt. Etwas ehrgeizig, aber könnten wir das in den 1.0-Meilenstein oder früher bringen? cc @mit-mit

Leider haben wir keinen Zeitplan, den wir für diese Funktion anbieten können.

Wenn es nicht als Flatter-Widget ausgeführt werden kann, ist es möglich, dass wir (dh ich) die Kotlin-/Swift-Versionen des Codes bearbeiten und das SDK für mobile Anzeigen damit verwenden können? Ich bin mir nicht sicher, wie Flutter funktioniert, aber ich nehme an, dass dies möglich sein sollte, da es das Einhängen in native APIs ermöglicht?

Wenn Entwickler das AdMob-Paket verwenden und es mithilfe von Richtlinien und irgendeiner Art von Genehmigung positionieren könnten, wäre das erstaunlich – meiner Meinung nach sowohl von Nutzern als auch von Entwicklern.

irgendein Fortschritt?

Irgendwelche Fortschritte diesbezüglich. Das Ding wird ganz dringend gebraucht.

Erfordert diese Funktion grundlegende Änderungen an der Flatter-Engine?

Sieht vielversprechend aus.. https://github.com/YoussefKababe/admob_flutter

Irgendeine geplante Veröffentlichung zu diesem?

Ich frage mich auch, ob es eine geplante Veröffentlichung oder Neuigkeiten gibt. Ich würde Flutter gerne für mein bevorstehendes Projekt verwenden, aber native Anzeigen sind entscheidend. Ich möchte kein hässliches Banner am unteren Rand meiner App ...

Gleiche Sache. Native Anzeigen sind für eine gut aussehende Anwendung erforderlich.

Habe so lange auf dieses Ding gewartet :'(

Lieben Sie dieses am häufigsten nachgefragte Feature? Andere verwandte Pakete von Drittanbietern werden nicht gewartet. Das ist also die einzige Hoffnung.

Ich bin Student und möchte mit meiner Bewerbung nebenbei etwas Geld verdienen, aber die Standard-Anzeigentypen sind einfach zu aufdringlich. Ich hoffe sehr, dass diesbezüglich bald etwas unternommen werden kann.

Das sieht vielversprechend aus. https://pub.dartlang.org/packages/flutter_google_ad_manager , gerade getestet und funktioniert wie erwartet.

Ausgelöste Ausnahme auf iOS beim ersten Start, um sie zu beheben, folgen Sie den hier erwähnten Schritten: https://github.com/ko2ic/flutter_google_ad_manager/pull/4/commits/5ab12ad22927e1bab3615658e75636fac746fcf7.

Überprüfen Sie https://developers.google.com/ad-manager/mobile-ads-sdk/ios/quick-start oder https://developers.google.com/ad-manager/mobile-ads-sdk/android/quick -Start für mehr Details.

Ich verwende das rxDart-Paket in meinem Projekt und erhalte die Daten vom Server als Streams, fügte firebase_admob hinzu und zeige Anzeigen in der App, aber wenn sich die Werbung auf dem Banner ändert, starten meine Streams automatisch. Warum so?

Sieht vielversprechend aus.. https://github.com/YoussefKababe/admob_flutter

@Purus - gibt es einen anderen Grund, der Sie daran hindert, das oben genannte Plugin zu verwenden, abgesehen von der fehlenden Unterstützung für iOS und AndroidX? Ich glaube, letzteres sollte angesichts der jüngsten Entwicklungen dort bald gelöst werden ...

@theneshofficial - unterstützt https://pub.dartlang.org/packages/flutter_google_ad_manager native Anzeigen?

Wir haben ein Plugin für unsere App, das native Anzeigen (AdMob) erfolgreich implementiert. Wir haben es über AndroidViews und UIKitViews implementiert. Leider zwingt Sie das AdMob-SDK dazu, die Anzeige in eine UnifiedNativeAd einzubetten, sodass Sie die Anzeigendaten nicht an Flutter senden können. Deshalb ist es auch gar nicht so einfach, ein Flutter-Plugin dafür zu schreiben. Stattdessen produzieren wir im Wesentlichen den größten Teil der Benutzeroberfläche in Dart und erstellen dann den gesamten Text, die Bilder usw. in Android/iOS selbst, die dann auf die Flatter-Benutzeroberfläche gelegt werden. Dies funktioniert, obwohl es natürlich nicht wünschenswert ist, da Layouts für beide Plattformen erstellt werden müssen. Trotzdem werden die Anzeigen gut angezeigt, sie können angeklickt werden usw.

Es gibt jedoch zwei große Blocker für uns, den Zustand von UIKitViews und die Leistung im Allgemeinen. Für Ersteres können, wie in #25965 zu sehen ist, UIKitViews derzeit nicht geclippt werden. Dies bedeutet, dass sie durch bestimmte UI-Elemente wie TabBar . Bei letzterem besteht das Problem darin, dass das Einbetten der Plattformansichten unsere UI-Leistung beeinträchtigt. Wir haben große Anstrengungen unternommen, um den Leistungseinbruch zu minimieren, bis zu dem Punkt, an dem wir keine Methodenkanäle mehr für dieses Plugin haben (wir konnten früher nachverfolgen, wann die Anzeige geladen wurde, aber dieser Aufruf stand in direktem Zusammenhang mit einem Problem in der UI-Leistung). Nichtsdestotrotz, insbesondere beim Start, gibt es eine erhebliche Menge an Jank im Zusammenhang mit der Erstellung nur einer dieser Plattformansichten. Das Laden von Indikatoren und Animationen hält im Allgemeinen für etwa eine Sekunde an. Danach wird dieser Performance-Einbruch geringer, aber da wir die Anzeige idealerweise in eine Liste einbetten möchten, können wir beim Scrollen keine 60 FPS aufrechterhalten (Performance-Profiler zeigt ein Maximum von etwa 100 ms pro Frame).

Hier ist ein kleines Beispiel für den Java-Code. Die iOS-Seite ist wirklich dasselbe.

    private UnifiedNativeAd mAd;
    private FrameLayout mView;

    FlutterAdView(Context context, Registrar registrar, int id) {
        mView = ... // Create a placeholder view

        // request an ad
    }

    <strong i="9">@Override</strong>
    public View getView() {
        return mView;
    }

    <strong i="10">@Override</strong>
    public void onUnifiedNativeAdLoaded(final UnifiedNativeAd unifiedNativeAd) {
        mAd = unifiedNativeAd;

        /* Inflate your layout
        /* ...
        */

        /* Set your views
        /* ...
        */

        adView.setNativeAd(ad);

        mView.addView(adView);
    }

    // Don't forget about dispose, etc


@JaspervanRiet – Mann, du entfernst im Grunde genommen die wichtigsten Flutter-Profis – plattformübergreifend, während du die nativen Anzeigen implementierst. Ich halte es nicht für sinnvoll, Flutter in Ihrem Fall zu verwenden. Würdest du einen Blick auf https://github.com/YoussefKababe/admob_flutter werfen und sehen, ob dich dieser Ansatz nicht zurück in einen Flutter-Bereich bringen würde?

@angel1st Das sind Werbebanner, die fast genauso implementiert sind. Wir brauchen native Anzeigen. Wir nutzen Flutters Leistung immer noch für jeden anderen Teil der App, daher ergibt Ihre Antwort für mich keinen Sinn. Dies ist eine Einschränkung im Anzeigen-SDK. Ich kann mir nicht vorstellen, dass sich dies in absehbarer Zeit ändert, es sei denn, es wird ein offizielles Anzeigen-SDK für Flutter veröffentlicht, da die Verwendung von UnifiedNativeAd eingeschränkt ist.

Wir @dreamsoftin haben das Facebook Audience Network für Flutter implementiert (https://github.com/dreamsoftin/facebook_audience_network). Derzeit ist das Plugin nur für Android verfügbar und unterstützt Banner, Interstitial, Rewarded Video, In Stream Video & Native Ads. Ich suche jemanden, der uns bei der Implementierung von iOS-Teilen helfen kann.

Demo für native Anzeigen:

Irgendein Fortschritt? würde es lieben, wenn dies mit Flattern erhältlich wäre

Hey Leute, die Entwickler priorisieren die beliebtesten (👍) Ausgaben der Reihe nach, also stimmt weiter für die Ausgabe. Danke!

Aus diesem Grund kann ich meine Flatter-App nicht aktualisieren (native Anzeigen). Wenn Sie uns sagen können, wann Sie sie implementieren werden, können wir die Dinge entsprechend planen.

Danke.

Bis es dazu ein offizielles Update gibt, können Sie admob_flutter verwenden
Paket v 0.2.0.

Danke,

Purusothaman Ramanujam

Am Mo, 13. Mai 2019, 22:03 Uhr Dunkle Schokolade, [email protected]
schrieb:

Ich bin einfach nicht in der Lage, meine Flatter-App zu aktualisieren, falls ihr es mögt
können uns sagen, wann Sie es implementieren werden, wir können die Dinge planen
entsprechend.

Danke.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/flutter/flutter/issues/12114?email_source=notifications&email_token=AAIHDZ245EMJ2W2HX6MIHDDPVGJ7JA5CNFSM4D3FBARKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVI3QJI#issuecomment-821 ,49189
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AAIHDZYX4MEYBTZTHKDQQFDPVGJ7JANCNFSM4D3FBARA
.

Der einzige knifflige Teil bei admob_flutter ist die fehlende iOS-Unterstützung. Abgesehen davon ist es viel besser als dieses hier.

@angel1st Dieser Thread ist für native Anzeigen und sogar admob_flutter unterstützt es nicht.

Schauen Sie sich https://github.com/dreamsoftin/facebook_audience_network an. Es unterstützt native Anzeigen.

@SachinGanesh - es gibt ernsthafte CPM-Bedenken mit FAN.

Kleines Geschwätz , das dieser Diskussion nichts Technisches hinzufügt - Für mich ist es seltsam, dass Google sein umsatzstärkstes Produkt (Werbung) nicht auf dem angeblich heißesten Framework für Entwickler unterstützt. Es gibt eine Trennung in der Kraft. :)

Schauen Sie sich https://github.com/dreamsoftin/facebook_audience_network an. Es unterstützt native Anzeigen.

@SachinGanesh Ist die Unterstützung nativer Anzeigen auf iOS möglich?

Einchecken. Bitte machen Sie dieses Plugin besser!

das brauchen wir alle😁😁

Dieses Plugin wurde aktualisiert, um auch iOS zu unterstützen, um Inline-Admob-Anzeigen anzuzeigen, native Anzeigen werden jedoch noch nicht unterstützt. https://pub.dev/packages/admob_flutter

Ich arbeite für einen sehr großen Verlag mit einer täglichen Reichweite von Millionen von Lesern (_Ich habe mit verschiedenen Mitgliedern des Flutter-Teams gesprochen und sie kennen den Verlag, auf den ich mich beziehe_). Wir haben eine MVP-Flutter-App, die problemlos mit dem einfachen firebase_admob veröffentlicht werden kann, aber wir überlegen uns, eine andere App zu erstellen, die DFP -Anzeigen erfordert, und die fehlende Unterstützung für native Anzeigen ist ein Hindernis. Das ist enttäuschend, da wir Ressourcen in Flutter investiert haben und durch den möglicherweise wichtigsten Aspekt für viele App-Entwickler zurückgehalten werden. POI: Die meisten unserer Werbepartner verwenden HTML-Ansichten und JavaScript in WebViews.

Beim Durchlesen einiger der oben in diesem Thread veröffentlichten Posts wird deutlich, dass viele versucht haben, dieses Problem auf ähnliche Weise wie unser eigenes Entwicklungsteam zu lösen, aber diese Ansätze erfüllen nicht die Anforderungen von Werbenetzwerken, ihre eigenen Betrugserkennungstechniken und Es ist grundsätzlich etwas, das vom Flutter-Team angegangen werden muss.

Ich möchte betonen, dass es sehr wichtig ist, dieses Thema anzusprechen, da es sich letztendlich auf die Einführung von Flutter in Unternehmen auswirken wird, in denen Anzeigen ein wichtiger Einnahmekanal sind.

Beispiele für Anzeigen, die wir zeigen müssen, sind solche, die diesen ähneln:
https://vimeo.com/186510665

Aktualisieren:

Einige weitere Hintergrundinformationen: Beim Testen unseres Beispiels mit Teads wird die Anzeige angezeigt und das eingebettete Video wird abgespielt, das Protokoll zeigt jedoch ein Problem mit dem korrekten Sichtbarkeits-Tracking:
Teads: W/teads#Visibility(17978): The Teads AdView is visible at 0%, hidded by 1 View(s): W/teads#Visibility(17978): - View of class io.flutter.plugin.platform.SingleViewPresentation$FakeWindowViewGroup, with id: -1, with contentDescription: null, with a size of: [width: 1050, height: 875] is hidding 100% of the ad

Schauen Sie sich https://github.com/dreamsoftin/facebook_audience_network an. Es unterstützt native Anzeigen.

@SachinGanesh Ist die Unterstützung nativer Anzeigen auf iOS möglich?

Jawohl. Mit dem UiKitView-Widget ist dies möglich. Native Ads für iOS sind jedoch noch nicht in facebook_audience_network implementiert

Ich arbeite mit @nodinosaur und um seinen Standpunkt zu ergänzen, wir haben ein bevorstehendes Projekt, das großartig mit Flutter wäre, aber keine Bewegung auf DFP / Anzeigen würde kein Flattern bedeuten.

Ich bin der Gründer des größten sozialen Netzwerks in meinem Land mit 15 Millionen aktiven Nutzern. Ich beschloss, zu Flutter zu migrieren, und als ich die Anwendung fertigstellte, wurde mir klar, dass ich sie nicht monetarisieren könnte. Ich werde die Benutzererfahrung nicht mit Banner und Interstitial ruinieren. Native ADS ist heute eine unverzichtbare Anwendung, da Sie damit Geld verdienen können, ohne aggressiv zu sein.
4 Monate verlorene Arbeit, ich gehe zurück zu Swift + Kotlin.

@jonataslaw danke für dein Feedback. Native DFP-Anzeigen funktionieren. Einige Publisher wie Teads verwenden ihren eigenen Sichtbarkeitserkennungscode. Ich glaube, ich habe das gelöst.

Der zugehörige Code ist https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/plugin/platform/SingleViewPresentation.java

Wie oben im Code erklärt:

/*
 * A presentation used for hosting a single Android view in a virtual display.
 *
 * This presentation overrides the WindowManager's addView/removeView/updateViewLayout methods, such that views added
 * directly to the WindowManager are added as part of the presentation's view hierarchy (to fakeWindowViewGroup).
 *
 * The view hierarchy for the presentation is as following:
 *
 *          rootView
 *         /         \
 *        /           \
 *       /             \
 *   container       state.fakeWindowViewGroup
 *      |
 *   EmbeddedView
 */

Dieses fakeWindowViewGroup wird über dem EmbeddedView platziert, obwohl seine transparenten Teads zumindest glauben, dass es die gesamte Ansicht abdeckt. Das fakeWindowViewGroup ist erforderlich, damit Popup-Menüs und Bedienfelder beim Hinzufügen über der nativen Ansicht positioniert werden.

Dies kann jedoch tatsächlich etwas anders erreicht werden. Die erste Ansicht in fakeWindowViewGroup sollte container sein. Dies macht dann das fakeWindowViewGroup zum Elternteil und nicht zum Geschwisterkind. Die Callbacks addView / removeView /etc des WindowManagers können dann einfach Ansichten hinzufügen und entfernen, wie sie es jetzt tun, was die Ansichten "auf" die EmbeddedView setzt, weil das so ist die standardmäßige Zeichnungsreihenfolge in Android. Lösung des Problems, dass das Geschwister fakeWindowViewGroup das EmbeddedView verdeckt.

/cc @amirh

Ich habe meinen eigenen lokalen eingebetteten Ansichtscode getestet, nur zum Testen.

private void findAndHideFakeWindowManagerViewGroup()
{
    final ViewGroup parent = (ViewGroup) ((ViewGroup) getParent()).getParent();
    parent.getChildAt(1).setVisibility(View.INVISIBLE);
}

Und dies löste das Problem. Wenn also die Plattform SingleViewPresentation.java so angepasst wird, dass sie funktioniert, wie in meinem vorherigen Kommentar vorgeschlagen, wird das Problem behoben.

__Dies ist keine Lösung, sondern eine Problemumgehung. Wenn Ihre eingebettete Ansicht versucht, ein Dialogfeld oder Popup-Menü oder eine Vollbildansicht anzuzeigen. Es wird nicht angezeigt, wenn Sie den obigen Code verwenden. Bitte warten Sie, bis die PR zusammengeführt wird in__

PR ist beigefügt, die das Problem auf Android beheben sollte. Ich weiß nicht, ob das gleiche Problem unter iOS besteht. Ich bin derzeit nicht in der Lage, die Engine zu bauen, um sie zu testen, also muss jemand einen Build ausführen. Wenn das Team dies direkt tun kann, können wir den benutzerdefinierten Engine-Build mit den lokalen Anzeigen-SDKs vergleichen, um sicherzustellen, dass die Fehlerbehebung funktioniert.

Gibt es Fortschritte bei dieser Funktion oder einen Zeitplan, auf den wir uns freuen können?

@RaresMihalcea Es ist für den zukünftigen Meilenstein (Fällig bis 1. Januar 2033) festgelegt, was angesichts der Bedeutung dieser Funktion etwas beunruhigend ist. Ich vermute, dass die fehlende Unterstützung für native Admob-Anzeigen für viele Entwickler ein Wendepunkt ist.

Wir haben einen Punkt erreicht, an dem wir einem Kunden sagen mussten: „Wir können alles tun, was Sie brauchen, Flutter ist fantastisch, aber wir können keine nativen Anzeigen auf iOS machen.“ Es fühlt sich verrückt an, dass dies nicht als große Sache angesehen wird, wenn es für einige, die zu diesem Framework kommen, ein Deal Breaker ist. Google bitte!

Einchecken. Irgendwelche Updates?

Also habe ich nach alternativen Tech-Stacks gesucht, die ich für mein Projekt verwenden kann, das native Anzeigen haben muss.
Ich habe herausgefunden, dass es auch keine Unterstützung für React-Native und Ionic oder einen realistischen Zeitplan für diese gibt.
Könnte es sein, dass native Anzeigen nur für native Tech- Ba dum tss sind ?
Leider scheint es, dass ich Kotlin lernen und eine Mac OS VM herunterladen muss, um tatsächlich an meinem Lieblingsprojekt zu arbeiten, weil ich es leid bin, es monatelang nicht starten zu können.

PS Wenn jemand ein Modul für Ionic oder React-Native kennt, das tatsächlich die Verwendung von nativer Werbung ermöglicht, wäre ich wirklich dankbar!

Obwohl native Anzeigen ideal wären, da sich native Admob-Anzeigen selbst für die Entwicklung nativer Apps noch in der Beta-Phase befinden, würde ich mich in der Zwischenzeit freuen, wenn sie dies einfach in ihrem firebase_admob-Plug-in beheben könnten, das die folgenden Einschränkungen hat:

„Banneranzeigen haben eine eingeschränkte Positionierungsfunktion. Sie können am oberen oder unteren Rand des Bildschirms und in einem logischen Pixelversatz vom Rand positioniert werden.“

Wenn sie das zumindest beheben könnten, könnten wir alle Anzeigen auf eine "native" Art und Weise zeigen, wo Benutzer an ihnen vorbeiscrollen können usw.

Ich weiß, dass es andere Plugins gibt, die versuchen, dies zu lösen, aber sie sind fehlerhaft, insbesondere für iOS. Wäre toll, wenn es Teil des Flatter-unterstützten Plugins namens "firebase_admob" wäre.

Flutter ist großartig, aber ich werde nicht bis zum 1. Januar 2033 warten, um native Anzeigen zu haben. Das ist lustig, es ist wirklich lustig, es ist 2019, und um eine so relevante Rolle zu spielen, müssen wir auf die Geburt unserer Enkelkinder warten (im Jahr 2033 gibt es vielleicht nicht einmal „Android“ und die „IOS“-Technologie wird jedes Jahrzehnt erneuert ) haben native Anzeigen.

Vielen Dank an alle für Ihr Feedback.

In diesem Thread werden mehrere Funktionen und mögliche Lösungen diskutiert. Ich teile dies auf mehrere Probleme auf, um die Nachfrage der Community besser zu verstehen. Bitte fügen Sie Ihren Daumen nach oben zu den Problemen hinzu, die Sie interessieren.

Unterstützung von Native Ads Advanced durch Einbetten einer plattformspezifischen Benutzeroberfläche für native Anzeigen als Teil der Widget-Struktur

Der in der aktuellen Ausgabe verwendete Begriff „native Anzeigen“ bezieht sich auf ein bestimmtes AdMob-Anzeigenformat namens „ Native Anzeigen “, das derzeit nur einer begrenzten Anzahl von App-Entwicklern (Publishern) zur Verfügung steht. Das native Anzeigenformat ermöglicht es Entwicklern, die Art und Weise, wie Anzeigen gerendert werden, anzupassen (indem sie ihre eigenen Android-/iOS-Ansichten für die Anzeige erstellen).

Die hier besprochene Funktion bedeutet, dass App-Entwickler Android/iOS-UI-Komponenten (keine Flutter-Widgets) verwenden, um zu konfigurieren, wie die Anzeige gerendert wird, und die native Anzeige wird später in die Flutter-Widget-Struktur eingebettet, wie sie von der Plattform gerendert wird.

Dem gehen wir in der aktuellen Ausgabe nach.

Einbetten von AdMob-Banneranzeigen in eine Flutter-Widget-Struktur

Eine zusätzliche Funktion, die in dieser Ausgabe besprochen wird, ist die Möglichkeit, eine AdMob-Banneranzeige als Teil der Flutter-Widget-Baumstruktur einzubetten (im Gegensatz zum aktuellen Ansatz des firebase_admob-Plug-ins, bei dem die Banneranzeige über der Flutter-Benutzeroberfläche eingeblendet wird eine voreingestellte Position).

Dies wird in https://github.com/flutter/flutter/issues/35081 verfolgt, bitte fügen Sie Ihren Daumen nach oben hinzu, wenn Sie sich dafür interessieren.

Unterstützung von Native Ads Advanced durch Überlagerung einer plattformspezifischen nativen Anzeigen-UI über der Flutter-UI

Dies bietet ungefähr die gleiche Funktionalität wie die aktuelle Bannerunterstützung im firebase_admob-Plug-In, jedoch mit nativer Werbung (z. B. erscheint eine native Werbung an einer festen Position und schwebt über der gesamten Flutter-Benutzeroberfläche).

Obwohl die Möglichkeit, native Anzeigen einzubetten, offensichtlich die bessere Option ist, ist dieser „Floating“-Ansatz, der der aktuellen Bannerunterstützung ähnelt, innerhalb eines kürzeren Zeitrahmens vernünftigerweise zu erwarten.

Bitte fügen Sie Ihren Daumen nach oben zu https://github.com/flutter/flutter/issues/35082 hinzu, wenn diese Option Ihnen hilft.

Unterstützung von Native Ads Advanced mit Flutter-Rendering

Das bedeutet, dass Sie Flutter-Widgets verwenden, um die native Anzeige zu rendern, ähnlich wie Sie es tun würden, wenn Sie für natives Android/iOS entwickeln würden.

Beachten Sie, dass diese Option wahrscheinlich am schwierigsten zu erreichen ist und noch weit in der Zukunft liegt.

Dies wird in https://github.com/flutter/flutter/issues/35083 nachverfolgt

Obwohl native Anzeigen ideal wären, da sich native Admob-Anzeigen selbst für die Entwicklung nativer Apps noch in der Beta-Phase befinden, würde ich mich in der Zwischenzeit freuen, wenn sie dies einfach in ihrem firebase_admob-Plug-in beheben könnten, das die folgenden Einschränkungen hat:

„Banneranzeigen haben eine eingeschränkte Positionierungsfunktion. Sie können am oberen oder unteren Rand des Bildschirms und in einem logischen Pixelversatz vom Rand positioniert werden.“

Wenn sie das zumindest beheben könnten, könnten wir alle Anzeigen auf eine "native" Art und Weise zeigen, wo Benutzer an ihnen vorbeiscrollen können usw.

Ich weiß, dass es andere Plugins gibt, die versuchen, dies zu lösen, aber sie sind fehlerhaft, insbesondere für iOS. Wäre toll, wenn es Teil des Flatter-unterstützten Plugins namens "firebase_admob" wäre.

@matte5031 Ich habe ' https://pub.dev/packages/admob_flutter ' mit Android-Testanzeigen ausprobiert und bin bisher begeistert, wie Anzeigen unter dem Gerüst in die Listenansicht eingefügt werden können, und habe die meisten der Herausforderungen gelöst, mit denen ich nicht nur konfrontiert war andere Flutter-Admob-Plugins auch mit Tech-Stack von React.js und Apace Cordova. Ich teste jedoch nur mit AdMob-Testanzeigen und habe dies in der Produktion nicht bestätigt.

@ashishsukhija Ja , ich weiß, dass die Android-Testanzeige auch für mich funktioniert hat, aber das iOS nicht. Daher würde ich es viel lieber vorziehen, wenn dies von dem von Google verwalteten Plugin aufgenommen wird, das bereits existiert, aber dieses atm fehlt

Unterstützung von Native Ads Advanced durch Einbetten einer plattformspezifischen Benutzeroberfläche für native Anzeigen als Teil der Widget-Struktur

Dies ist bereits in Flutter mit Platform Views ( Android View / UIKitView ) möglich. Wir haben native Anzeigen im Facebook Audience Network -Plugin implementiert. Dies bedeutet auch, dass jedes Anzeigen-SDK mit nativen Anzeigen einfach zur Flatter-App hinzugefügt und im Widget-Baum angezeigt werden kann.

Hier ist ein Beispiel dafür, wie Native Ad in unserer Produktions-App aussieht:
Webp net-resizeimage

@SachinGanesh Ihr Plugin unterstützt nur Android. UIKitView hat große Einschränkungen, wie z. B. die Unfähigkeit, abgeschnitten zu werden (#25965) , die behoben werden müssen, bevor wir dies als zuverlässige Methode bezeichnen können. Es gibt derzeit auch erhebliche Leistungsprobleme bei der Verwendung dieser Methode.

@JaspervanRiet Muss die Benutzeroberfläche für native Anzeigen abgeschnitten werden? Korrigieren Sie mich, wenn ich falsch liege, wird die maximale Breite des Containers verwendet, oder?

@FarmaanElahi Das Clipping ist nicht nur notwendig, weil es nützlich wäre, das eigentliche Widget zu clippen, sondern auch, weil die fehlende Unterstützung dafür bedeutet, dass UIKitViews derzeit UI-Elemente durchschneiden. Wenn Sie eine UIKitView mit einer Anzeige in eine Liste einfügen, wird diese Ansicht durch ein TabBar abgeschnitten. Das bedeutet, dass es für unser Projekt unbrauchbar ist, um Werbung anzuzeigen.

@SachinGanesh Das Plugin ist großartig und ehrlich gesagt das Beste, was wir im Moment in Bezug auf native Anzeigen haben.
Endlich kann ich zumindest den Code für meine UI mit all ihren Elementen schreiben. Könnten Sie bitte eine Roadmap veröffentlichen, wie Sie das Plugin auf seiner GitHub-Seite verbessern möchten? Ich bin gespannt, wann der iOS-Support rauskommt.

Da AndroidView und UiKitView von Flutter auf Low-Level-Manipulation von Plattform-UI-Komponenten angewiesen sind, ist es fast garantiert, dass sie mit dem Google Mobile Ads SDK auf eine Weise interagieren, die das Entwicklungsteam für mobile Anzeigen nicht erwartet und nicht getestet hat. Auch wenn der Ansatz derzeit so aussieht, als würde er funktionieren, werden wahrscheinlich Probleme mit der MRAID-Funktionalität, dem in den Creatives enthaltenen JS-Code sowie der Messung von Impressionen und Klicks auftreten. Letzteres ist besonders wichtig, da Anomalien in den Impressions- und Klickstatistiken zur Sperrung von Konten führen können.

Während wir mit den relevanten Parteien an diesen Problemen arbeiten, empfehlen wir dringend, das firebase_admob-Plug-in des Flutter-Teams zu verwenden, und raten davon ab, Plug-ins zu verwenden, die Plattformansichten zum Einbetten von AdMob-Anzeigen verwenden.

Danke für die Info @amirh <3

Dies ist ein absolutes Muss für Flutter, um eine praktikable Wahl für kostenlose Apps zu sein.

Können wir das Admob-Team dazu bringen, zu sehen, ob die Verwendung von AndroidView und UiKitView eine gültige Lösung ist? Wenn dies nicht der Fall ist, wie @amirh oben erklärt, was ist eine alternative Lösung?

@charleshan siehe https://github.com/flutter/flutter/issues/12114#issuecomment-505633342 für Probleme, die verschiedene Lösungen verfolgen (und hoffentlich bald ihre Lösung, Daumen drücken).

Das verifizierte Twitter-Konto für Google Admob gab bekannt, dass native Anzeigen allen Entwicklern zur Verfügung stehen werden. Dachte, dieser Thread möchte vielleicht etwas darüber wissen :).
image

Wie geht es Ihnen?

Vielen Dank an alle für Ihr Feedback.

In diesem Thread werden mehrere Funktionen und mögliche Lösungen diskutiert. Ich teile dies auf mehrere Probleme auf, um die Nachfrage der Community besser zu verstehen. Bitte fügen Sie Ihren Daumen nach oben zu den Problemen hinzu, die Sie interessieren.

Unterstützung von Native Ads Advanced durch Einbetten einer plattformspezifischen Benutzeroberfläche für native Anzeigen als Teil der Widget-Struktur

Der in der aktuellen Ausgabe verwendete Begriff „native Anzeigen“ bezieht sich auf ein bestimmtes AdMob-Anzeigenformat namens „ Native Anzeigen “, das derzeit nur einer begrenzten Anzahl von App-Entwicklern (Publishern) zur Verfügung steht. Das native Anzeigenformat ermöglicht es Entwicklern, die Art und Weise, wie Anzeigen gerendert werden, anzupassen (indem sie ihre eigenen Android-/iOS-Ansichten für die Anzeige erstellen).

Die hier besprochene Funktion bedeutet, dass App-Entwickler Android/iOS-UI-Komponenten (keine Flutter-Widgets) verwenden, um zu konfigurieren, wie die Anzeige gerendert wird, und die native Anzeige wird später in die Flutter-Widget-Struktur eingebettet, wie sie von der Plattform gerendert wird.

_Das verfolgen wir in der aktuellen Ausgabe._

Einbetten von AdMob-Banneranzeigen in eine Flutter-Widget-Struktur

Eine zusätzliche Funktion, die in dieser Ausgabe besprochen wird, ist die Möglichkeit, eine AdMob-Banneranzeige als Teil der Flutter-Widget-Baumstruktur einzubetten (im Gegensatz zum aktuellen Ansatz des firebase_admob-Plug-ins, bei dem die Banneranzeige über der Flutter-Benutzeroberfläche eingeblendet wird eine voreingestellte Position).

_Dies wird in #35081 verfolgt, bitte fügen Sie Ihren Daumen nach oben hinzu, wenn Sie sich dafür interessieren._

Unterstützung von Native Ads Advanced durch Überlagerung einer plattformspezifischen nativen Anzeigen-UI über der Flutter-UI

Dies bietet ungefähr die gleiche Funktionalität wie die aktuelle Bannerunterstützung im firebase_admob-Plug-In, jedoch mit nativer Werbung (z. B. erscheint eine native Werbung an einer festen Position und schwebt über der gesamten Flutter-Benutzeroberfläche).

Obwohl die Möglichkeit, native Anzeigen einzubetten, offensichtlich die bessere Option ist, ist dieser „Floating“-Ansatz, der der aktuellen Bannerunterstützung ähnelt, innerhalb eines kürzeren Zeitrahmens vernünftigerweise zu erwarten.

_Bitte fügen Sie Ihren Daumen zu #35082 hinzu, wenn diese Option Ihnen hilft._

Unterstützung von Native Ads Advanced mit Flutter-Rendering

Das bedeutet, dass Sie Flutter-Widgets verwenden, um die native Anzeige zu rendern, ähnlich wie Sie es tun würden, wenn Sie für natives Android/iOS entwickeln würden.

Beachten Sie, dass diese Option wahrscheinlich am schwierigsten zu erreichen ist und noch weit in der Zukunft liegt.

_Dies wird in #35083_ verfolgt

Ich verfolge diesen Thread schon eine Weile und habe es geschafft, diese Aufforderung zur Abstimmung für Features zu verpassen. Ich bin mir nicht sicher, wie sehr die Abstimmung hilft, da dieses Thema seit fast 18 Monaten zu den am häufigsten gewählten gehört und wir keinen Hinweis auf Fortschritte haben.

Ich erinnere mich, dass jemand dies hier vor ein paar Wochen geteilt hat, aber es sieht so aus, als hätte er/sie den Beitrag gelöscht.

Jeder hier sollte die vierteljährliche Umfrage des Flutter-Teams ausfüllen: https://twitter.com/flutterdev/status/1160961757118181378

Genauer gesagt dieser Teil:
image

Ich erinnere mich, dass jemand dies hier vor ein paar Wochen geteilt hat, aber es sieht so aus, als hätte er/sie den Beitrag gelöscht.

Jeder hier sollte die vierteljährliche Umfrage des Flutter-Teams ausfüllen: https://twitter.com/flutterdev/status/1160961757118181378

Genauer gesagt dieser Teil:
image

Die Umfrage ist nicht mehr aktiv.

Irgendwelche Neuigkeiten über den nativen Teil?

Es sieht nicht so aus, als ob dieses Problem in absehbarer Zeit gelöst wird. Vielleicht kann sich jemand vom Flutter-Team/Google an die Admob-Leute wenden, um zu sehen, ob von ihrer Seite aus etwas getan werden könnte. Ich frage mich, wie native Anzeigen in Unity funktionieren.
https://developers.google.com/admob/unity/custom-native

Wenn das keine Option ist, können wir uns vorerst eine alternative Lösung vorstellen? Wir möchten kostenlose Apps auf unaufdringliche Weise monetarisieren. Wie wäre es also mit einer Art Partnerprogrammdienst (CJ-Affiliate)? Hat jemand auch Empfehlungen für ein Open-Source-Adtech, das wir verwenden können?

@charleshan - das scheint eine tote Gelegenheit zu sein. Erwägen Sie die Verwendung des Anzeigenmanagers und des zugehörigen Widgets flutter_ad_manager. Sie können dort einige Standard-Banner-Creatives hinzufügen und mehrere Widgets in Ihrer App erstellen.

Alle Firebase Plugins werden von https://github.com/flutter/plugins nach https://github.com/FirebaseExtended/flutterfire verschoben.
Bedeutet dies, dass die aktuelle Ausgabe veraltet ist? Anscheinend müssen wir dort ein neues Thema eröffnen.

Ich würde trotzdem ein Problem hier behalten, da wir möglicherweise Framework-/Engine-Änderungen benötigen, um dies vollständig zu unterstützen.

Das sieht vielversprechend aus: https://pub.dev/packages/native_ads. Wir konnten native Testanzeigen auf Android zum Laufen bringen. In iOS noch nicht getestet. Sie müssen native_ad_layout.xml zum Verzeichnis android/app/src/res/layout hinzufügen und den Paketnamen in Ihre Anwendungs-ID ändern.

Sieht so aus, als ob einige Fortschritte gemacht werden 🙌

https://github.com/FirebaseExtended/flutterfire/pull/169

@sethladd

Dieses Problem wurde nach https://github.com/FirebaseExtended/flutterfire/issues/968 verschoben. Die weitere Zusammenarbeit erfolgt dort.

Da firebase_admob Probleme sowohl auf der Flutter-Seite als auch auf der Plugin-Seite bearbeitet werden müssen, bleiben diese Probleme auch hier offen, bis sie gelöst sind.

Ich brauche dies auch, um eine App zu monetarisieren, die stark auf von Benutzern übermittelte Daten angewiesen ist. Ich brauche wirklich eine nicht aufdringliche Möglichkeit, Ad-Mob-Banner inline mit Inhalt anzuzeigen. Danke für die Bemühungen.

Seit Monaten bekomme ich das alles nicht zum Laufen. Wissen wir, ob es in der Zwischenzeit problemlos mit iOS funktioniert?

Irgendwelche Updates dafür?

Hallo, es gibt ein Paket namens native_ads, das native Anzeigen von Google Admob unterstützt. Ich habe es noch nicht ausprobiert, aber es ist nur ein Vorschlag.

Eine kurze Einschränkung zu native_ads und allen anderen Plugins, die versuchen, Flutters PlatformView -Widgets zum Anzeigen von Anzeigen zu verwenden:

Obwohl es großartig ist, Leute in der Community zu sehen, die an solchen Dingen arbeiten, sollte sich jeder darüber im Klaren sein, dass es nur ein Teil der Aufgabe eines Plug-ins für mobile Anzeigen ist, nur eine Anzeige auf den Bildschirm zu bringen. Zusätzlich zur Anzeige müssen Anzeigen Impressionen verfolgen, Klicks verarbeiten, Dinge wie MRAID, AdChoices-Platzierung, Anti-Spam-Funktionen und die genaue Messung einer ganzen Reihe von Signalen bewältigen.

Der Grund, warum es noch kein Plug-in von Google für native Anzeigen gibt, ist, dass es sehr schwierig ist, all das richtig zu machen, und die Folgen einer nicht richtigen Ausführung könnten Umsatzeinbußen, ungenaue Statistiken und sogar die Sperrung des Kontos durch AdMob oder andere sein vermitteltes Werbenetzwerk.

Aus diesem Grund empfehle ich dringend, vorerst beim firebase_admob -Plugin zu bleiben. Obwohl dieses Plug-in keine nativen Anzeigen enthält, sind die unterstützten Formate dafür bekannt, korrekt implementiert zu werden.

Es gibt Ingenieure bei Google, die daran arbeiten, eine bessere Anzeigenintegration zu entwickeln, aber es ist derzeit noch ein laufendes Projekt.

Eine kurze Einschränkung zu native_ads und allen anderen Plugins, die versuchen, Flutters PlatformView -Widgets zum Anzeigen von Anzeigen zu verwenden:

Obwohl es großartig ist, Leute in der Community zu sehen, die an solchen Dingen arbeiten, sollte sich jeder darüber im Klaren sein, dass es nur ein Teil der Aufgabe eines Plug-ins für mobile Anzeigen ist, nur eine Anzeige auf den Bildschirm zu bringen. Zusätzlich zur Anzeige müssen Anzeigen Impressionen verfolgen, Klicks verarbeiten, Dinge wie MRAID, AdChoices-Platzierung, Anti-Spam-Funktionen und die genaue Messung einer ganzen Reihe von Signalen bewältigen.

Der Grund, warum es noch kein Plug-in von Google für native Anzeigen gibt, ist, dass es sehr schwierig ist, all das richtig zu machen, und die Folgen einer nicht richtigen Ausführung könnten Umsatzeinbußen, ungenaue Statistiken und sogar die Sperrung des Kontos durch AdMob oder andere sein vermitteltes Werbenetzwerk.

Aus diesem Grund empfehle ich dringend, vorerst beim firebase_admob -Plugin zu bleiben. Dieses Plugin enthält zwar keine nativen Anzeigen, aber die Formate, die es _unterstützt_ unterstützt, sind dafür bekannt, korrekt implementiert zu werden.

Es gibt Ingenieure bei Google, die daran arbeiten, eine bessere Anzeigenintegration zu entwickeln, aber es ist derzeit noch ein laufendes Projekt.

Ok danke fürs Erklären!

Eine kurze Einschränkung zu native_ads und allen anderen Plugins, die versuchen, Flutters PlatformView -Widgets zum Anzeigen von Anzeigen zu verwenden:

Obwohl es großartig ist, Leute in der Community zu sehen, die an solchen Dingen arbeiten, sollte sich jeder darüber im Klaren sein, dass es nur ein Teil der Aufgabe eines Plug-ins für mobile Anzeigen ist, nur eine Anzeige auf den Bildschirm zu bringen. Zusätzlich zur Anzeige müssen Anzeigen Impressionen verfolgen, Klicks verarbeiten, Dinge wie MRAID, AdChoices-Platzierung, Anti-Spam-Funktionen und die genaue Messung einer ganzen Reihe von Signalen bewältigen.

Der Grund, warum es noch kein Plug-in von Google für native Anzeigen gibt, ist, dass es sehr schwierig ist, all das richtig zu machen, und die Folgen einer nicht richtigen Ausführung könnten Umsatzeinbußen, ungenaue Statistiken und sogar die Sperrung des Kontos durch AdMob oder andere sein vermitteltes Werbenetzwerk.

Aus diesem Grund empfehle ich dringend, vorerst beim firebase_admob -Plugin zu bleiben. Dieses Plugin enthält zwar keine nativen Anzeigen, aber die Formate, die es _unterstützt_ unterstützt, sind dafür bekannt, korrekt implementiert zu werden.

Es gibt Ingenieure bei Google, die daran arbeiten, eine bessere Anzeigenintegration zu entwickeln, aber es ist derzeit noch ein laufendes Projekt.

Ist das Mobile Ads SDK nicht für das Tracking von Impressionen, die Handhabung von Klicks, Anti-Spam-Funktionen und die genaue Messung einer ganzen Reihe von Signalen verantwortlich? Wie unterscheidet sich dies davon, dass wir eine native Android-App erstellen und die Anweisungen hier befolgen: https://developers.google.com/admob/android/native/start

Eine kurze Einschränkung zu native_ads und allen anderen Plugins, die versuchen, Flutters PlatformView -Widgets zum Anzeigen von Anzeigen zu verwenden:
Obwohl es großartig ist, Leute in der Community zu sehen, die an solchen Dingen arbeiten, sollte sich jeder darüber im Klaren sein, dass es nur ein Teil der Aufgabe eines Plug-ins für mobile Anzeigen ist, nur eine Anzeige auf den Bildschirm zu bringen. Zusätzlich zur Anzeige müssen Anzeigen Impressionen verfolgen, Klicks verarbeiten, Dinge wie MRAID, AdChoices-Platzierung, Anti-Spam-Funktionen und die genaue Messung einer ganzen Reihe von Signalen bewältigen.
Der Grund, warum es noch kein Plug-in von Google für native Anzeigen gibt, ist, dass es sehr schwierig ist, all das richtig zu machen, und die Folgen einer nicht richtigen Ausführung könnten Umsatzeinbußen, ungenaue Statistiken und sogar die Sperrung des Kontos durch AdMob oder andere sein vermitteltes Werbenetzwerk.
Aus diesem Grund empfehle ich dringend, vorerst beim firebase_admob -Plugin zu bleiben. Dieses Plugin enthält zwar keine nativen Anzeigen, aber die Formate, die es _unterstützt_ unterstützt, sind dafür bekannt, korrekt implementiert zu werden.
Es gibt Ingenieure bei Google, die daran arbeiten, eine bessere Anzeigenintegration zu entwickeln, aber es ist derzeit noch ein laufendes Projekt.

Ist das Mobile Ads SDK nicht für das Tracking von Impressionen, die Handhabung von Klicks, Anti-Spam-Funktionen und die genaue Messung einer ganzen Reihe von Signalen verantwortlich? Wie unterscheidet sich dies davon, dass wir eine native Android-App erstellen und die Anweisungen hier befolgen: https://developers.google.com/admob/android/native/start

Die Sache ist, dass die Plattformansicht Nebenwirkungen haben und sich anders verhalten kann als die gleichen Anzeigen, die direkt auf den nativen Plattformen angezeigt werden.
Zum Beispiel, wenn die Sichtbarkeit der Anzeige gezählt wird, wenn der Prozentsatz der Ansicht für einen bestimmten Zeitraum angezeigt wird.
Sind Sie sich nicht 100%ig sicher, dass der 1. Pixel der Anzeige erscheint und in Native und Futter gleich gezählt wird?

Die Verwendung von Anzeigen in einem nicht vorgesehenen Umfeld kann bei Google zu Einwänden führen. Vor allem, dass es sich direkt auf ihr Geschäftsmodell auswirkt.

Es ist zumindest eine Grauzone.

Anders ausgedrückt muss jedes Plug-in, das für Flutter entwickelt wurde, um mobile Anzeigen anzuzeigen, garantieren können, dass es die Fähigkeit des Anzeigen-SDKs, seine Arbeit zu erledigen, nicht beeinträchtigt, was eine knifflige Sache ist. Hinzu kommt der Druck, der mit der Arbeit an einem Plugin einhergeht, das buchstäblich für den Lebensunterhalt von jemandem verantwortlich sein könnte, und Sie können sehen, wie wichtig es ist, das Plugin felsenfest zu machen, bevor Sie es veröffentlichen.

Dies sind alles faire Punkte über ein Plug-in für native Anzeigen von Drittanbietern. Sobald wir eine bessere Lösung von Google haben, werden wir unsere App aktualisieren.

Ich habe an einer News-Feed-App gearbeitet und muss unbedingt native Anzeigen platzieren, die in Posts integriert sind. Daher sollte ich höchstwahrscheinlich eher den Add-to-App- als den Plugin-Ansatz wählen, sodass der Auflistungsbildschirm in Swift/Kotlin implementiert wird, um mit Anzeigen umzugehen, die restlichen Bildschirme, die keine Anzeigen enthalten, können in Flutter implementiert werden.

Ich möchte darauf hinweisen, dass das flutter_admob -Plug-in derzeit mindestens eine von den Admob-Richtlinien abgeratene Bannerimplementierung implementiert.

Ich glaube, es implementiert "Werbung, die sich mit App-Inhalten überschneidet" und in den meisten Android-Fällen die "Werbung zwischen App-Elementen". Die dazugehörigen Informationen finden Sie hier .

Abgesehen davon bin ich mir nicht sicher, was das Schlimmste ist, wenn man sich wie oben erwähnt in einer „Grauzone“ befindet oder direkt etwas implementiert, das auf der Admob-Richtlinienseite selbst als „gegen die Richtlinie“ angegeben ist 🤔

Ich glaube, wir sollten zumindest einen Fortschrittsbericht über die aktuellen Fortschritte erhalten. In der heutigen Zeit der konkurrierenden Anwendungen wäre es großartig, zumindest mit der Konkurrenz Schritt zu halten.

Ein Banner-Overlay auf dem Bildschirm sieht _sehr ekelhaft_ aus, besonders wenn es mit der schönen Flatter-UI/UX gepaart wird.

Bis wir eine robuste Lösung für die Monetarisierung von Apps mit Werbung haben, befürchte ich, dass dies ein wichtiger Grund für kleinere App-Entwickler sein wird, Flutter zu meiden. Es ist eine Sache, eine leichtgewichtige App als Proof of Concept zu erstellen, aber ohne die Haken, um konsistente Werbeeinnahmen zu erzielen, ist es nur ein nettes, glänzendes Tool mit begrenzten Anwendungsfällen in der realen Welt. Ich habe fast zwei Jahre darauf gewartet, dass dies priorisiert wird.

Es sieht so aus, als ob native Anzeigen vor ein paar Tagen hinzugefügt wurden: https://github.com/FirebaseExtended/flutterfire/pull/169

Anscheinend wurden vor ein paar Tagen native Anzeigen hinzugefügt: FirebaseExtended/flutterfire#169

Es ist wirklich schön, dass sie das hinzugefügt haben. Tolle Arbeit Jungs!
Sie können es jedoch immer noch nicht in Ihrer Ansichtshierarchie positionieren.
Meines Wissens nach gibt es nur die Methode show , die die Ansicht von unten als Overlay anzeigt.

Ich habe MainActivity.kt und nicht MainActivity.java;

Kann ich native Anzeigen verwenden? Wie man?

Es sieht so aus, als wäre es nur Android?

Es sieht so aus, als wäre es nur Android?

Es sieht so aus, als ob auch native Anzeigen auf IOS hinzugefügt wurden https://github.com/FirebaseExtended/flutterfire/pull/2106

Aber können Sie es in Ihrer Ansichtshierarchie platzieren?

Es scheint, dass es nur eine Show-Methode gibt, die die Ansicht von unten als Overlay öffnet, was sie als native Anzeige ziemlich nutzlos macht.

Ich dachte, das war der springende Punkt, sonst ist es genauso nutzlos.

Irgendwelche Fortschritte dabei?

Kann bestätigen, es ist im Moment buchstäblich nur eine Bannerwerbung mit Anpassbarkeit nur von Android-Layouts.

Ich verstehe nicht wirklich, wie die aktuelle Implementierung mit der Anzeige von Anzeigenansichten umgeht, wenn sie keine Plattformansichten verwendet.

Zeigt es eine native Android-Ansicht / iOS-UIView über der Flutter-Ansicht an?
Eine neue Aktivität für Interstitials erstellen?

Könnte mir bitte jemand zeigen, wo dies im Code getan wird?

Es überlagert die Anzeigen über dem Flatter-Widget. Werbung gehört nicht zu Flattern
Widget-Hierarchie Sie können das also nicht in ein Widget einbetten. Beispiel
eine Listenansicht

Am Do, 30. April 2020, 22:32 Uhr schrieb dasebasto [email protected] :

Ich verstehe nicht wirklich, wie die aktuelle Implementierung mit der Anzeige von umgeht
Anzeigenaufrufe, wenn keine Plattformaufrufe verwendet werden.

Zeigt es native Android-Ansichten / iOS-UIView über der Flatteransicht an?

Könnte mir bitte jemand zeigen, wo dies im Code getan wird?


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/flutter/flutter/issues/12114#issuecomment-621980272 ,
oder abbestellen
https://github.com/notifications/unsubscribe-auth/AESIMECDHHOREM7OCD6UC63RPGVIVANCNFSM4D3FBARA
.

Wenn das wirklich so ist, was soll das Ganze dann?

Der häufigste und natürlichste Ort für eine native Anzeige ist eine Listenansicht. Wenn dies nicht möglich ist, welchen Mehrwert bringt sie?

Genau, es geht darum, sie einzubetten und in den Widget-Baum anzupassen. So können sie sich dem Stil der App anpassen. Das ist buchstäblich der springende Punkt einer nativen Anzeige.

Irgendwelche Fortschritte dabei?

Nicht nur native Anzeigen, auch Banner-Anzeigen sollten in den Widget-Baum integriert werden. Nach kurzer Verwendung dieses Widgets wurde mir klar, wie schwierig es ist, mit schwebenden Bannern in der App zu arbeiten. Sie stören viele visuelle Elemente in der App, Menüs, Listenansichten, unteren Dialogen und Oberflächen auf iOS usw. usw. Sie sind einfach nicht für bestimmte Anwendungen geeignet. Normale Widget-Banner sind das, was wir brauchen.

Betrachten Sie auch AdSense für Flutter Web

Einerseits sagt das Flutter-Team, dass sie Probleme nach der Anzahl der erhaltenen Daumen nach oben priorisieren (dieses Problem ist derzeit auf Platz 4 im gesamten Repo), und andererseits wird dieses Problem als P6 bezeichnet, was "Ein Feature oder Fehler" bedeutet werden wir wahrscheinlich nicht ansprechen".
Die Bereitstellung einer einfachen und nahtlosen Möglichkeit, mobile Apps über Anzeigen zu monetarisieren, ist eine grundlegende Funktion für jedes Framework, aber bei Flutter scheint dies nicht der Fall zu sein.

@kf6gpe kannst du bitte etwas Licht ins Dunkel bringen?

Ich würde das diesem Ticket beigefügte Projekt beachten.
Das „Ökosystem – Bitcoin“ enthält viel „Zeug“ für PlatformViews, was erklären könnte, warum wir keine Dart-Implementierung der Anzeigen erhalten.

Will das Flutter-Team zuerst (Funktionalität und Leistung) von PlatformViews verbessern, um dann einfach die nativen Anzeigen-SDKs zu verwenden, ohne sie neu zu schreiben?

Dennoch wäre mehr Transparenz sehr wünschenswert.

Leute, was machen wir? Dies ist im Grunde ein Fehler der Kategorie 1, soweit es die meisten Menschen betrifft. Es sieht aus wie ein kompletter Showstopper für meine Anwendung und ich erwäge andere plattformübergreifende Frameworks, nachdem ich den ganzen Tag darüber gelesen habe, wie diese Funktion seit mehr als 3 Jahren ohne nennenswerte Fortschritte in Arbeit ist. Ich betrachte die Möglichkeit, native Anzeigen als verherrlichte Banner anzuzeigen, nicht als Fortschritt. Wir müssen native Anzeigen eingebettet haben oder zumindest die Möglichkeit haben, native Anzeigen auf Flutter-Widgets zu legen, sonst gibt es einfach keinen Anreiz, mit einer ansonsten fantastischen Plattform fortzufahren.

Ich weiß, das ist nicht genau das, was wir wollen, es sind keine nativen Admob-Anzeigen, aber es funktioniert, also finden Sie es vielleicht nützlich.

Es gibt ein Paket für native Anzeigen des Facebook Audience Network, das hervorragend funktioniert und sowohl auf Android als auch auf iOS getestet wurde.

https://pub.dev/packages/facebook_audience_network

@jebwatson - schau mal hier https://pub.dev/packages/admob_flutter. Ich habe bisher keine bessere Option in Bezug auf die AdMob- und Flutter-Implementierung gefunden.

Darauf warte ich auch noch. Ich möchte nur AdMob-Banner inline mit meinen Flatteransichten anzeigen. Das Banner über der Flutter-App schweben zu lassen, ist einfach hässlich und untergräbt den gesamten Zweck dieser Plattform.

Wir haben https://pub.dev/packages/native_ads verwendet

tidewatch

Meine Sorge wäre, dass dies eine Grauzone ist.
Es besteht die Möglichkeit, dass Google Anwendungen blockiert, die Anzeigenlösungen verwenden, die nicht für sie entwickelt wurden.

Derzeit ist die einzige verfügbare Lösung, die die Bibliotheken von Drittanbietern verwenden, um native Anzeigen als Teil des Flutter-Widget-Baums (z. B. ListView) anzuzeigen, die native Android- und iOS-Ansicht mit AndroidView bzw. UiKitView einzubetten was laut Flutter Docs eine teure Operation ist und vermieden werden sollte, und als Ergebnis gibt es eine erhebliche Verzögerung beim Scrollen.

Ist dies der Grund, warum das Flutter-Team die Implementierung nativer Anzeigen als Teil des Flutter-Widget-Baums verzögert, weil es auf eine bessere und schnellere Möglichkeit wartet, native Ansichten in Flutter oder andere Verbesserungen einzubetten?

Aber wäre es nicht möglich, Admob (native Ads) komplett in Flutter/Dart zu implementieren, ohne von Android und iOS abhängig zu sein?

Sie möchten unbedingt Unterstützung für native Anzeigen in Flutter-Listenansichten haben. Jede Art von Zeitplan darüber, wann wir in der Lage sind, native Anzeigen im Flatter durch das Team zu verwenden, wird hilfreich sein.

Es gibt so viele Plug-ins von Drittanbietern, die native Anzeigen von AdMob implementieren. Da ich die Bekanntheit von Google kenne, Entwickler für triviale Probleme zu sperren, habe ich Angst, diese Lösungen zu verwenden. Ich freue mich auf die erste Implementierung davon. Könnten Sie bitte einen Zeitplan angeben?

Mit der heutigen Ankündigung der Beta-Unterstützung für diese Funktion haben wir gute Neuigkeiten für Sie alle:
Unterstützung für Inline-Banner und native Anzeigenformate in Flutter

Derzeit befindet sich dies in einer geschlossenen Betaphase, aber wir empfehlen Ihnen dringend, sich für die Teilnahme zu bewerben, wenn Sie bereit sind, diese Funktion in einer Produktions-App zu verwenden. Unter der Annahme, dass alles gut geht, planen wir, dies Anfang 2021 breiter zu öffnen.

Mit der heutigen Ankündigung der Beta-Unterstützung für diese Funktion haben wir gute Neuigkeiten für Sie alle:
Unterstützung für Inline-Banner und native Anzeigenformate in Flutter

Derzeit befindet sich dies in einer geschlossenen Betaphase, aber wir empfehlen Ihnen dringend, sich für die Teilnahme zu bewerben, wenn Sie bereit sind, diese Funktion in einer Produktions-App zu verwenden. Unter der Annahme, dass alles gut geht, planen wir, dies Anfang 2021 breiter zu öffnen.

Das ist toll ❤️. Es ist ein paar Tage her, dass ich mich für das Beta-Programm beworben habe. Warte sehnsüchtig auf eine Antwort ✨

@timsneath
Ich bin sehr froh über diese Bemühungen, die Flutter-App ohne Abhängigkeit von Firebase leicht monetarisierbar zu machen

Ich hoffe auch, dass die gleiche Anstrengung unternommen wird
zuerst _flutter web_ seo-freundlich zu machen und dann adSense zu unterstützen
eine gewisse _Parität_ zwischen allen von Flutter unterstützten Plattformen zu haben

Ich habe mich auch für das Beta-Programm beworben. Hat jemand eine Antwort erhalten?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen