Skip to content
  • English
  • Polski
Digital Karabela
Primary Navigation Menu
Menu
  • Strona główna
  • Produkty
  • DevBlog
  • Castle Engine
  • Kurs bash
  • O firmie

Aktualizacja modułu Admob w Castle Game Engine

Castle Game Engine Logo

Castle Game Engine posiada wiele integracji z usługami dla gier mobilnych. Przy okazji prac nad grą na Androida, wprowadziłem wiele usprawnień do modułu Admob.

Wymagany identyfikator aplikacji

Od wersji 17 Ads SDK, Admob wymaga podania identyfikatora aplikacji (App ID) w AndroidManifest.xml. W przypadku silnika CGE, identyfikator ten podajemy w CastleEngineManifest.xml:

<service name="admob">
    <parameter key="app_id" value="..."/>
</service>

Do testów można użyć identyfikatora ca-app-pub-3940256099942544~3347511713. Pamiętaj, że korzystanie z tej usługi wymaga również dodania google_play_services.

Reklamy z nagrodą (rewarded)

Moduł obsługuje teraz reklamy z nagrodą (rewarded). Aby ich użyć wystarczy zainicjować Admoba procedurą TAds.InitializeAdMob z dodatkowym parametrem RewardedUnitId:

procedure TAds.InitializeAdMob(const BannerUnitId, InterstitialUnitId,
RewardedUnitId: string; const TestDeviceIds: array of string);

Jeżeli nie chcemy używać jakiejś formy reklam np. interstitial możemy w InitializeAdMob użyć pustego stringa. Do Wyświetlenia reklamy z nagrodą używamy procedury ShowFullScreen z typem atReward:

CGEAds.ShowFullScreenAd(anAdMob, atReward, true);

Dokładniejszy wynik w TAdClosedEvent

Zdarzenie TAdClosedEvent zostało przebudowane, parametr Watched jest teraz typu TAdWatchStatus zamiast Boolean.

Możliwe wartości nowego parametru Watched podaje poniższa tabela:

 

TAdWatchStatus Odpowiednik AdMob errorCode Opis
wsWatched – Reklama została wyświetlona i obejrzana
wsUnknownError ERROR_CODE_INTERNAL_ERROR Błąd wewnętrzny Admob lub nieznany błąd.
wsNetworkNotAvailable ERROR_CODE_NETWORK_ERROR Brak połączenia z internetem.
wsNoAdsAvailable ERROR_CODE_NO_FILL Brak reklam do wyświetlenia.
wsUserAborted – Wyświetlanie reklamy z nagrodą zostało przerwane przez użytkownika
wsAdNotReady – Reklama wciąż jest ładowana (błąd pojawia się gdy nie chcemy czekać).
wsAdNetworkNotInitialized – Sieć reklamowa nie jest zainicjowana lub próba wyświetlenia niezainicjowanej reklamy.
wsInvalidRequest ERROR_CODE_INVALID_REQUEST Invalid Request np. niepoprawny Unit ID.
wsApplicationReinitialized – Aplikacja Java została zabita, ale kod natywny przetrwał, czekając na zakończenie reklamy.

Debug

Jeśli chcesz widzieć więcej logu z modułu Admob, zmień wartość ServiceAdMob.debug z false na true. Plik źródłowy usługi znajduje się w: tools/build-tool/data/android/integrated-services/admob/app/src/main/java/net/sourceforge/castleengine/ServiceAdMob.java

Skąd to pobrać?

Zmiany zostały zmergowane i są dostępne w gałęzi master na githubie.

2019-07-25
Poprzedni wpis: Castle Game Engine wersja stabilna 6.4, czy beta 6.5?
Następny wpis: Obsługa kompresji ASTC w Castle Game Engine

Najnowsze wpisy

  • Wypróbuj moją pierwszą grę – Bricks Color Pick (Free to Play)
  • Jak sprawdzić co spowalnia moją grę?
  • Lazarus 2.0.6 wydany
  • Kompilacja i uruchamianie gier Castle Game Engine na Raspberry Pi
  • Mierzenie upływu czasu w Androidzie

Kategorie

  • DevBlog
  • Linux
    • Kurs bash
    • Narzędzie WoeUSB
  • Programowanie
    • Język D (dlang)
      • Kontrolki DlangUI
    • Język Object Pascal
      • Lazarus (pl)
    • Narzędzie make
  • Promocja
  • Tworzenie gier
    • Castle Engine (pl)
    • Godot
  • Windows 10
    • Narzędzie WoeUSB

Produkty:
Agile Commander

 

 

Digital Karabela – Andrzej Kilijański
76-015 Wyszebórz 32, Poland
https://digitalkarabela.com
Kontakt
Polityka prywatności