Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Probleme mit TBannerAd unter Delphi XE7 (https://www.delphipraxis.net/181702-probleme-mit-tbannerad-unter-delphi-xe7.html)

RWarnecke 3. Sep 2014 19:08

Probleme mit TBannerAd unter Delphi XE7
 
Hallo zusammen,

ich wollte mein kleines Android-Projekt nach XE 7 migrieren. Leider läuft es nicht so wie ich es mir vorstelle. Denn mit der Komponente TBannerAd habe ich Probleme. Ich aktiviere das Banner im Quelltext so :
Delphi-Quellcode:
procedure TMobileMainForm.FormActivate(Sender: TObject);
begin
  // To load the Banner Ad
  BannerAd_Main.AdUnitID := 'ca-app-pub-xxxxxxxxxxxxxxxx/yyyyyyyyy';
  BannerAd_Main.LoadAd;
end;

procedure TMobileMainForm.FormCreate(Sender: TObject);
begin
  // To set the frame rate for the ani indicator
  TAnimation.AniFrameRate := 30;
end;
Die Ereignisse OnDidFail und OnDidLoad habe ich auch gefüllt, dass das Banner angezeigt wird wenn entsprechender Content geladen wurde und wenn es zu einem Fehler kommt wird das Banner ausgeblendet.

Das Banner wird aber weder ausgeblendet noch eines angezeigt. Wenn ich die Anwendung im Debug-Modus starte, bekomme ich die folgende Fehlermeldung :
---------------------------
Debugger Exception Notification
---------------------------
Project COOnline.apk raised exception class EJNIException with message 'java.lang.IllegalStateException: A required meta-data tag in your app's AndroidManifest.xml does not exist. You must have the following declaration within the <application> element: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />'.
---------------------------
Break Continue Help
---------------------------
Wenn ich das ganze richtig verstehe, fehlt eine Zeile in der AndroidManifest.xml und zwar die, die er mir in der Fehlermeldung anzeigt. Muss ich die manuell setzen und wenn ja wie müsste diese komplett aussehen ? Warum kann das Delphi XE7 nicht einfach selber mit reinsetzen, ist das so schwierig ?

Sherlock 4. Sep 2014 08:11

AW: Probleme mit TBannerAd unter Delphi XE7
 
Zitat:

Zitat von RWarnecke (Beitrag 1270940)
Warum kann das Delphi XE7 nicht einfach selber mit reinsetzen, ist das so schwierig ?

Geduld! XE8 steht doch schon vor der Tür. Ne, Spaß. Wird sicher noch ein Hotfix davor geben. Hast Du schon bei QC nachgesehen?
Ich kanns leider nicht nachvollziehen, weil ich kein Android hab.

Sherlock

RWarnecke 4. Sep 2014 09:09

AW: Probleme mit TBannerAd unter Delphi XE7
 
Zitat:

Zitat von Sherlock (Beitrag 1270974)
Hast Du schon bei QC nachgesehen?

Ja, habe zumindest keine Einträge gefunden.

RWarnecke 6. Sep 2014 08:42

AW: Probleme mit TBannerAd unter Delphi XE7
 
Ich habe die Lösung zu der Fehlermeldung. Unter XE6 musste für die Komponente TBannerAd nur die folgende Zeile in der AndroidManifest.xml hinzugefügt werden :
Code:
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
Damit hat ein AdMob-Banner hervorragend funktioniert. Ab XE7 sind es jetzt zwei Zeilen :
Code:
<meta-data android:name="com.google.android.gms.version" android:value="4323000" />
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>[
Danach funktioniert auch wieder die Anzeige eines AdMob-Banners unter Android und ganz wichtig ist, dass die Eigenschaft AdSize auf Auto steht. Ist dieses nicht der Fall, so kann es passieren, dass im Hochformat das Nexus 5 kein Banner anzeigt und das Nexus 7 schon.

Nachtrag:
Zitat:

Zitat von RWarnecke (Beitrag 1270940)
Warum kann das Delphi XE7 nicht einfach selber mit reinsetzen, ist das so schwierig ?

XE7 kann es selber. Wenn man eine leere multi Device Application erstellt, werden ja alle Plattformen automatisch hinzugefügt. Da ich nur ein reines Android Project benötige habe ich alle anderen Plattformen gelöscht. Diese Löschung hatte zur Folge, dass der Punkt Entitlement List aus den Projektoptionen ausgeblendet wurde. Denn in der Entitlement List gibt es die Option für das AdMob Banner, welche dann die oben stehenden Einträge automatisch in die AndroidManifest.xml einträgt. Einen Eintrag in der QC habe ich auch schon gemacht.

pixalynx 10. Sep 2014 04:47

AW: Probleme mit TBannerAd unter Delphi XE7
 
Hallo, ich frage mich, ob Sie eine Lösung für dieses Problem hatte , kann ich nicht scheinen, um herauszufinden , wie man die Arbeit an Android- Anzeigen machen . Ich habe die Manifest-Datei und alles fertig, aber die Anzeigen werden nicht auf android zeigen , funktioniert aber auf iOS . Haben Sie eine Lösung gefunden?

RWarnecke 10. Sep 2014 05:04

AW: Probleme mit TBannerAd unter Delphi XE7
 
Die Lösung steht in meinem letzten Beitrag.

pixalynx 10. Sep 2014 05:18

AW: Probleme mit TBannerAd unter Delphi XE7
 
Ich habe Ihre Lösung versucht, aber ich bin noch immer keine Anzeigen auf meinem Android- Gerät geladen . Die tbannerad kommt leer

pixalynx 10. Sep 2014 05:19

AW: Probleme mit TBannerAd unter Delphi XE7
 
Möchten Sie in der Lage, laden / senden Sie mir eine sourcode , die Sie haben , dass die Arbeit und zeigt Werbung auf Android sein?

RWarnecke 10. Sep 2014 07:15

AW: Probleme mit TBannerAd unter Delphi XE7
 
Hier eine Anleitung.

pixalynx 10. Sep 2014 07:28

AW: Probleme mit TBannerAd unter Delphi XE7
 
Ja, ich gefolgt , aber ich bekomme immer die Anzeige Lade fehlgeschlagen.

arnof 7. Apr 2015 12:16

AW: Probleme mit TBannerAd unter Delphi XE7
 
Hallo,

ich wollte nun zu Ostern mal TBannerAd einbinden (in XE7 mit SP zu Android 5), leider erscheint keinerlei Werbung und es wird auch nicht versucht diese irgendwie zu laden (alle Ereignisse des Banners habe ich geloggt).

Auch die XML-Tipps dieses Threads habe ich berücksichtigt (sonst macht die App beim LoadAd sofort zu).

Das gleiche nun unter XE8 Beta (NDA sollte ja heute beendet sein), geht wie es soll!

Ist hier ein Problem bekannt ?

xbkbk 22. Okt 2015 04:32

AW: Probleme mit TBannerAd unter Delphi XE7
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von pixalynx (Beitrag 1271922)
Möchten Sie in der Lage, laden / senden Sie mir eine sourcode , die Sie haben , dass die Arbeit und zeigt Werbung auf Android sein?

Der Beitrag ist zwar schon etwas älter, aber ich habe das Problem bei mir lösen können, indem ich unter Projekt > Optionen > Berechtigungsliste [Project > Options > Uses Permissions] den Admob Wert auf true gesetzt habe. Ohne weitere Änderungen in der AndroidManifest.template.xml hat das funktioniert. (Siehe Bild im Anhang)
Übrigens: Wenn man den Projektordner kopiert (er bei Bearbeitung in Delphi also einen anderen Dateipfad hat), muss ich teilweise erneut den Wert für Admob auf true setzen, da er dann manchmal wieder auf false steht. (Möglicherweise tritt der Fehler nur bei mi auf, aber ich wollte es mal anmerken.)


Hier ein paar Links, die eventuell auch helfen könnten:
http://tndelphifan.blogspot.de/2014/...e-7-admob.html
http://www.danielespinetti.it/2015/0...-ads-with.html
http://docwiki.embarcadero.com/RADSt..._AdMob_Service
http://docwiki.embarcadero.com/RADSt...ur_Mobile_Apps


Mein Projekt als .rar Datei (enthält alle benötigten Dateien) findet ihr hier:
https://mega.nz/#!ggwTkB4J!nHd6i8qf_...pfocvz3AzgFT3I


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz