AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Admob Android

Ein Thema von Peter666 · begonnen am 17. Jun 2014 · letzter Beitrag vom 20. Jun 2014
Antwort Antwort
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#1

Admob Android

  Alt 17. Jun 2014, 07:46
Hi,

ich habe angefangen die Admob Interfaces für XE5 zu portieren. Ich weiß es gibt das schon in der XE6, aber deswegen mag ich aber kein Upgrade kaufen. Das Problem was ich derzeit habe ist, dass der JAdView und JAdSize nicht findet. Ich mache quasi so etwas: TJAdView.JavaClass.init(SharedActivity, FBannerSize, StringToJString(FUnitID)) und danach kommt eine Fehlermeldung.

Hat jemand eine Idee?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Admob Android

  Alt 17. Jun 2014, 08:00
Zitat:
und danach kommt eine Fehlermeldung.
Und welche?
Markus Kinzler
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#3

AW: Admob Android

  Alt 17. Jun 2014, 08:09
"Java Klasse JAdSize wurde nicht gefunden" erscheint. Am Manifest liegt es nicht, da hab ich folgendes activity mit drin:
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|ori entation|screenLayout|uiMode|screenSize|smallestSc reenSize"/>

Peter
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.852 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Admob Android

  Alt 17. Jun 2014, 08:18
Die Java-Klassen sind ohne J AdSize und AdView
Markus Kinzler
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#5

AW: Admob Android

  Alt 17. Jun 2014, 10:07
Das schaut bei mir so aus:

Delphi-Quellcode:
//https://developer.android.com/reference/com/google/android/gms/ads/AdView.html
[JavaSignature('com/google/ads/AdView')]
JAdView = interface(JRelativeLayout)
['{5AFB60B2-1C85-4443-BEBC-0FB6433F0ED5}']
  procedure destroy; cdecl;
  function getAdListener(): JAdListener;cdecl;
  function getAdSize():JAdSize;cdecl;
  function getAdUnitId():JString;cdecl;
  function getInAppPurchaseListener(): JInAppPurchaseListener;cdecl;
  procedure loadAd(adRequest: JAdRequest); cdecl;
  procedure pause();cdecl;
  procedure resume();cdecl;
  procedure setAdListener(adListener: JAdListener); cdecl;
  procedure setAdSize(AdSize: JAdSize); cdecl;
  procedure setAdUnitID(adUnitID: JString);cdecl;
  procedure setInAppPurchaseListener(InAppPurchaseListener: JInAppPurchaseListener);cdecl;
end;
TJAdView = class(TJavaGenericImport<JAdViewClass, JAdView>) end;
  Mit Zitat antworten Zitat
Peter666

Registriert seit: 11. Aug 2007
357 Beiträge
 
#6

AW: Admob Android

  Alt 20. Jun 2014, 10:32
Ich nochmal

Irgendwie will das mit Admob nicht und ich sehe den Fehler nicht.

Delphi-Quellcode:
uses
  Androidapi.JNIBridge,
  Androidapi.JNI.JavaTypes,
  Androidapi.JNI.GraphicsContentViewText;

{$R *.fmx}

type
 // https://developer.android.com/reference/com/google/android/gms/ads/AdSize.html
  [JavaSignature('com/google/ads/AdSize')]
  JAdSize = interface(JObject)
   ['{F2630EE1-D9D9-493B-8586-98779275393B}']
  { Methods }
    function equals(other: JObject): Boolean; cdecl;
    function getHeight: Integer; cdecl;
    function getHeightInPixels(context: JContext): Integer; cdecl;
    function getWidth: Integer; cdecl;
    function getWidthInPixels(context: JContext): Integer; cdecl;
    function hashCode: Integer; cdecl;
    function isAutoHeight: Boolean; cdecl;
    function isFullWidth: Boolean; cdecl;
    function toString: JString; cdecl;
  end;

  JAdSizeClass = interface(JObjectClass)
    ['{1D3C7938-2841-4BF0-B5FB-D4842D905FF7}']
  { Constants }
    function _GetAUTO_HEIGHT: Integer; // -2
    function _GetFULL_WIDTH: Integer; // -1
  { Fields }
    function _Get_BANNER: JAdSize;
    function _Get_FULL_BANNER: JAdSize;
    function _Get_LARGE_BANNER: JAdSize;
    function _Get_LEADERBOARD: JAdSize;
    function _Get_MEDIUM_RECTANGLE: JAdSize;
    function _Get_SMART_BANNER: JAdSize;
    function _Get_WIDE_SKYSCRAPER: JAdSize;
  { Methods }
    function init(width: Integer; height: Integer): JAdSize; cdecl;
  { Properties }
    property AUTO_HEIGHT: Integer read _GetAUTO_HEIGHT;
    property FULL_WIDTH: Integer read _GetFULL_WIDTH;
    property BANNER: JAdSize read _Get_BANNER;
    property FULL_BANNER: JAdSize read _Get_FULL_BANNER;
    property LARGE_BANNER: JAdSize read _Get_LARGE_BANNER;
    property LEADERBOARD: JAdSize read _Get_LEADERBOARD;
    property MEDIUM_RECTANGLE: JAdSize read _Get_MEDIUM_RECTANGLE;
    property SMART_BANNER: JAdSize read _Get_SMART_BANNER;
    property WIDE_SKYSCRAPER: JAdSize read _Get_WIDE_SKYSCRAPER;
  end;

  TJAdSize = class(TJavaGenericImport<JAdSizeClass, JAdSize>)
  end;

procedure TForm1.FormCreate(Sender: TObject);
var
  ad: JAdSize;
begin
  ad := TJAdSize.JavaClass.BANNER;
end;
Sobald ich das Objekt holen will kommt die Meldung das es nicht existiert.

Ich denke mal ich muss die Google Mobile Ads mit in meine classes.dex einbinden, aber wie mache ich das am dümmsten? Also so das alle schon vorhandenen Jars+Google Ads einkompiliert werden?

Geändert von Peter666 (20. Jun 2014 um 10:41 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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