Skip to main content

LibGDX mit AdMob Google Ads und Google Play Game Services

Es war eine Odysee, so viel sei gesagt.

Ich wollte AdMob und Google Play Game Services zu meinem Android-Spiel hinzufügen, scheiterte aber immer wieder trotz genauem Befolgen der Anleitungen auf Google Developers und im LibGDX-Wiki.



Vor allem folgender Fehler ließ mich fast verzweifeln:
libgdx Error:Configuration with name 'default' not found.

Viele Anleitungen wichen stark von den beiden ab, waren aber häufig für Eclipse ausgelegt. Die Anleitung von Google selbst bezog sich auf Android Studio, welches zwar auf IntelliJ basiert, aber scheinbar doch nicht komplett kompatibel ist.


Nach ewigem hin und her entschied ich mich letztendlich doch Android Studio zu verwenden, und es klappte.


Hier die kurze Anleitung, ich baue sie bei Gelegenheit noch aus.

  1. importiert euer LibGDX-Projekt mit Open und dem build.gradle im Wurzelverzeichnis .../meinLibGDXprojekt/
  2. ladet das hier herunter
  3. entpackt den ordner und kopiert den Ordner BaseGameUtils unter libraries/ in den gleichen Ordner in dem euer LibGDX-Projekt liegt
  4. öffnet nun in Android Studio File > New > Import Module
  5. wählt dort den Ordner BaseGameUtils aus und beendet den Assistenten
  6. Android Studio trägt jetzt automatisch in eure settings.gradle ':BaseGameUtils' ein, falls nicht tut es manuell
  7. öffnet jetzt build.gradle und fügt am Ende der Android Dependencies folgendes ein

1:  project(":android") {  
2:    apply plugin: "android"  
3:    configurations { natives }  
4:    dependencies {  
5:      compile project(":core")  
6:      compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"  
7:      natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"  
8:      natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"  
9:      natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"  
10:      compile "com.badlogicgames.gdx:gdx-box2d:$gdxVersion"  
11:      natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi"  
12:      natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-armeabi-v7a"  
13:      natives "com.badlogicgames.gdx:gdx-box2d-platform:$gdxVersion:natives-x86"  
14:      compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"  
15:      natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi"  
16:      natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a"  
17:      natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86"  
18:      compile 'com.google.android.gms:play-services-games:8.1.0'  
19:      compile 'com.google.android.gms:play-services-ads:8.1.0'  
20:      compile project(':BaseGameUtils')  
21:    }  
22:  }  


Und nun wartet bis Android Studio die Änderungen an .gradle Dateien bemerkt und Synchronisieren will, klickt dann auf Sync Now - wenn man das manuell macht kann es komischerweise schief gehen.




Kommen wir nun zu Google Ads.

Dazu muss man nur

compile 'com.google.android.gms:play-services-ads:8.1.0'

in seine build.gradle im Android-Abschnitt einfügen, dann funktioniert es. Allerdings bei mir auch nur in Android Studio.

Diese beiden Google Anleitungen haben mir sehr geholfen - viel mehr als alle anderen Artikel und Wikis (das LibGDX-Wiki eingeschlossen)

Google Play Game Services

Google Ads

PS: Wenn ihr einen Fehler wegen der Google Services Version bekommt, durchsucht euren Stacktrace nach der erwarteten Version und fügt sie einfach in  android/res/values/version.xml ein.

Comments

Popular posts from this blog

Ubuntu 16.04 USB-Stick - "Das Ziel ist schreibgeschützt" lösen

Es gibt Dinge, die dürfen in einem nutzerfreundlichen Betriebssystem einfach nicht passieren. Vor allem dürfen Sie aber nicht monatelang bestehen bleiben. Mit Ubuntu 16.04 kann ich Freunden und Bekannten Ubuntu einfach nicht mehr empfehlen, wenn selbst ich an einfachsten Aufgaben scheitere. Gemeint ist hier das Kopieren von Dateien auf USB-Sticks. Trotz jahrelanger Ubuntu/Linux-Erfahrung gelang es mir erst nach gründlicher Recherche das Problem zu beheben. Ein Laie hat hier keine Chance. Damit ihr nicht lange suchen müsst, hier das Problem samt Lösung: Problem Datei oder Ordner auf Fat32-USB-Stick kopieren oder anlegen schlägt fehl mit der Meldung "Das Ziel ist schreibgeschützt". Lösung das Paket fuse-posixovl installieren und Ubuntu neu starten sudo apt-get install fuse-posixovl Viel Erfolg

[Unreal Engine][C++] How to create a simple trigger actor

[Unreal Engine][C++] How to create a simple trigger actor A Simple Trigger Volume in C++ Used Unreal Engine Version: 4.22 This is the first post of a small series of Unreal Engine C++ Tutorials. Keep in mind, that Unreal’s API changes rapidly and often. I still hope, this may be of some use to others. Coming from Unity, programming in C++ for Unreal is rather painful. I hope to give you some assistance and make life a little bit easier. Whay, would you say, should we make our own trigger actor? There is ATriggerVolume , right? Yes, there is, but inheriting from it is difficult and rather undocumented. I tried and failed. Yes, we have to give up some of ATriggerVolume 's functionality, but we learn a lot and at least we know exactly what it’s doing. First, we’ll create a new C++ class, inheriting from Actor , called SimpleTriggerVolume . Let’s add a protected property to hold a reference to our trigger component: /** Shape of the trigger volume componen

Der beste Weg um NintendoDS Schultertasten zu reparieren

Reparatur der NintendoDS Schultertasten ohne Löten! Selbst wenn man seinen NintendoDS wie ein rohes Ei behandelt kommt es doch immer wieder vor, dass nach einiger Zeit eine oder beide der Schultertasten nicht mehr wie gewohnt reagieren. Vor allem der NintendoDS Lite scheint häufig von diesem Problem betroffen zu sein. Wenn man im Internet nach diesem Problem sucht stößt man häufig auf diesen SoftMod: "Lippen über die Taste stülpen und hinein blasen." Diese Lösung funktioniert anfangs relativ gut. Aber der Erfolg ist nur von kurzer Dauer und die Methode von Mal zu Mal weniger erfolgreich. Jetzt bleiben drei Optionen. Bei Nintendo für 59€ ein Austauschgerät holen, eine neue Schultertaste einlöten ODER folgendes (Tipp von meinem Vater): Das wird benötigt: Tri-Wing Schraubenzieher, Elektronisches Reinigungsspray / Kontaktspray Man schraubt den NintendoDS auf (nur machen falls die Garantie abgelaufen ist) und nimmt, nachdem man die Batterie und Batterieklappe entfernt hat, die Rüc