Admob libgdx android studio

Admob libgdx android studio

Здравствуйте! Не так давно начал изучение Java и фреймворка libGDX и вот настало время об этом написать. Сегодня я расскажу вам, как настроить показ рекламы от площадки AdMob в вашей игре. Приступим!

Сначала идем в AdMob и создаем новую площадку. Указываем Android приложение. Оттуда мы возьмем ID.

Затем открываем манифест вашего Android приложения и добавляем туда следующие строки:

Итак, что же мы сделали? Мы добавлили разрешения для приложения на связь с сетью, а также добавили активити наших объявлений.

Не забудьте изменить параметр minSdkVersion с 8 на 9.

Закрываем манифест и открываем наш класс AndroidLauncher.

В нем пишем что-то вроде этого:

Итак, после этого не забываем сделать импорт (в Eclipse Shift + Ctrl + O). Далее, теперь нужно создать интерфейс IActivityRequestHandler .

Далее, идем в наш основого приложения основной класс и добавляем в него:

Далее, ловим ошибки в Desktop приложении (и если у вас есть iOS приложение — в нем тоже). Правим их.

Теперь, чтобы скрыть ваши объявления на каком-то экране вызываем:

А чтобы показать:

И напоследок. Я долго не мог понять, почему у меня выскакивает ошибка 400. Выяснилось, что я неверно указывал publisher_id. Если что, он имеет вид: ca-app-pub-xxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxx (где первые символы, ваш ID, а вторые ID рекламного блока). Его можно получить в разделе Монетизация.

Источник

Admob libgdx android studio

Aug 15 · 3 min read

How to setup Google AdMob Ads with LIBGDX in Android Studio ?

While I was making a 2D game in Android Studio using LIBGDX, I faced problem in implementing Ads using Admob. So, after searching and understanding things more specifically I was able to implement it successfully. Although now a days people use LIBGDX in limited fashion to develop Games, this article can save time for those using it and facing problem.

Following will be the work flow to implement the ads :-

Create i nterface i n Core Game class → Implement interface in Android Launcher class → Initialize Ads in onCreate function in Anroid launcher →Use LayoutParams to position Ads → use Handler or runOnUiThread to show Ads → Bas hogya now ads will start showing

  1. let’s call Shareservices as interface name in core Game Class :-

2. Implementation of interface in Android launcher Class :

In above code snippet , gameView is a View object that will represent the game screen which will be used to place the banner ads anywhere on the screen.

Also, do comment out or delete the by defautlt intialization. i.e initialize(new MyGame, config), as it is already taken care of by intializeForView.

3. Initialize ads in onCreate function and use LayoutParams to position Ads

Above code snippet can simply be divided into 3 parts.

Google Admob SDK initialization, bannerAd Initialization and adding properties and creating Layout and positioning of banner Ads on the screen. The bannerAd size is set to AdSize.SMART_BANNER and I personally think this the best option for beginners. Rest codes are self explanatory .

4. use Handler to show Ads

or simply use runOnUiThread function

Both ways we try to run the bannerAd.setvisibility on UI thread or main thread otherwise you will be getting warning message as “Only the original thread that created a view hierarchy can touch its views”.

5. Bas Hogya now just call the interface function with bolean parameter where evere you want to show the Ads or hide the Ads ,during the flow of the game.

Do show appreciation if you like the content and found helpful.

The game which I have mentioned in this article is Dumb Bee : Challenging Game available on google play store, one can download and see how Ads is displaying with the above code explanation .

Источник

Gamedev suffering

Блог о разработке игр и серверных технологиях

libGDX: Часть 7.1. Использование AdMob

Ради интереса решил посмотреть сколько в принципе можно заработать на рекламе в не очень раскрученном приложении. Как раз дописывал Lode Runner’а, в него и запихнул. Решил показать, как добавить в свои игры на LibGDX рекламу.

Читайте также:  Посмотреть объем трафика андроид

Google AdMob Ads SDK для Android

В целом трудностей никаких нет. Порадовало, что в руководстве всё чётко расписано как делать, при чём на русском. Так же, не мало инфы можно на developer.android.com найти.

В Eclipse вообще проблем нет. Выбирайте Android SDK Manager и там скачивайте/обновляйте необходимый SDK. В принципе, можно и самому скачать SDK с developer.android.com.

Для работы пакета Google AdMob Ads SDK для Android требуется операционная система Android версии 1.5 или более поздней. Убедитесь, что у вас установлена последняя версия SDK для Android и что компиляция настроена как минимум для Android 3.2 (задайте для target в default.properties значение android-13).

AdMob SDK в разделе Extras в менеджере.

Добавление JAR-архива SDK

1. Нажмите правой кнопкой мыши на проект своего приложения в Eclipse и выберите Properties. 2. Выберите Java Build Path. 3. На вкладке Libraries нажмите Add External JARs и добавьте SDK. 4. На вкладке Order and Export поставьте галку напротив либы.

Введение

В оффициальном мануале по либе написано как рекламу добавить. Может кто-то там не разберётся или ещё чего, поэтому сам распишу.

Background

Чтобы встроить рекламу, необходимо понять как работает LibGDX. Взглянем на типичную реализацию главного Activity для игры на LibGDX. Что-то вроде такого:

Нам тут интересен метод initialize. Посмотрим, что там внутри.

Что там происходит:

  • Создаётся объект AndroidGraphics с некоторыми параметрами.
  • Определяется, что у окна нет названия.
  • Определяется, что окно во весь экраню
  • Вызывается setContentView() .

Последний шаг всё связывает и позволяет использовать представление libgdx в качестве основного представления. Теперь надо понять, как туда впихнуть AdMob.

Инициализация

Надо понять, что AdMob использует свое собственное представление. И мы знаем, что libgdx создает представление. Вызывая setContentView () для представления libgdx, мы уже не можем впихнуть AdMob. Таким образом, вот то, что мы должны сделать:

  • Создать слой, который может включать в себя другие.
  • Создать представление libgdx, добавить к слою.
  • Создать представление AdMob, добавить его к слою.
  • Вызвать setContentView() для слоя.

Для этого идеально подходит RelativeLayout , которые может содержать другие слои, которые могут перекрывать друг друга. Приведу весь код целиком с комментами. После всех манипуляций метод будет примерно таким:

AndroidManifest

Нужно добавить разрешения на доступ к сети.

Ну и добавить само активити AdMob.

Управление рекламой

Теперь нам необходимо скрывать/отображать и подгружать рекламу. Для начала в админке AdMob надо выбрать пункт, что вы будете сами обновлять рекламу в коде. Можно этого и не делать. Но, с нашей реализацией реклама в фоне есть всегда, если она будет обновляться каждые 60 секунд, как пример, то CTR упадёт, так как юзер её не видит, а счётчик показов растёт.

Создадим метод, который будет отображать/скрывать рекламу, когда нам надо. Если сделать обычный метод, то при попытке вызова из игры, вывалиться ошибка Can’t create handler inside thread that has not called Looper.prepare(). Из-за того, что вызов происходит из рабочего дочернего потока.

Для обхода этой ошибки создадим интерфейс.

Реализуем его в нашем классе и будем работать с хэндлером и слать ему сообщения.

Теперь, когда вам необходимо показать рекламу, вызывайте метод showAdMob(true); и showAdMob(false); для скрытия.

Тестирование

Во время разработки должен быть включен тестовый режим, иначе вы не сможете нажимать на свои объявления. Для этого необходимо добавить строку adRequest.addTestDevice(«TEST_DEVICE_ID»); Как узнать ID для этого метода?

Добавьте фильтр для лога. Запустите ваше приложение в режиме отладки. Вы увидите в логе что-то вроде такого.

Берёте этот ID и вписываете в метод. Теперь при разработке вам будут показаны тестовые рекламные предложения. Они будут кликабельны и за клики по ним ваш аккаунт не заблокируют.

Источник

Get Started

Integrating the Google Mobile Ads SDK into an app is the first step toward displaying ads and earning revenue. Once you’ve integrated the SDK, you can choose an ad format (such as native or rewarded video) and follow the steps to implement it.

Before you begin

To prepare your app, complete the steps in the following sections.

App prerequisites

    Use Android Studio 3.2 or higher

Make sure that your app’s build file uses the following values:

  • A minSdkVersion of 16 or higher
  • A compileSdkVersion of 28 or higher

Set up your app in your AdMob account

Register your app as an AdMob app by completing the following steps:

Читайте также:  Girls und panzer android

Register your app with AdMob. This step creates an AdMob app with a unique AdMob App ID that is needed later in this guide.

Configure your app

In your project-level build.gradle file, include Google’s Maven repository and Maven central repository in both your buildscript and allprojects sections:

Add the dependencies for the Google Mobile Ads SDK to your module’s app-level Gradle file, normally app/build.gradle :

Add your AdMob app ID (identified in the AdMob UI) to your app’s AndroidManifest.xml file. To do so, add a tag with android:name=»com.google.android.gms.ads.APPLICATION_ID» . You can find your app ID in the AdMob UI. For android:value , insert your own AdMob app ID, surrounded by quotation marks.

In a real app, use your actual AdMob app ID, not the one listed above. If you’re just looking to experiment with the SDK in a Hello World app, you can use the sample app ID shown above.

Note also that failure to add the tag as shown above results in a crash with the message:

(Optional) Declare AD_ID permission for previous versions to work with Android S.

If your app uses the Google Mobile Ads SDK version 20.4.0 or higher, you can skip this step since the SDK automatically declares the com.google.android.gms.permission.AD_ID permission and is able to access the Advertising ID whenever it’s available.

For apps that use the Google Mobile Ads SDK version 20.3.0 or lower and are targeting Android S, you must add the com.google.android.gms.permission.AD_ID permission in the AndroidManifest.xml file in order to target Android S:

To learn more about the com.google.android.gms.permission.AD_ID permission declaration, including how to disable it, please refer to this Play Console article.

Initialize the Google Mobile Ads SDK

Before loading ads, have your app initialize the Google Mobile Ads SDK by calling MobileAds.initialize() which initializes the SDK and calls back a completion listener once initialization is complete (or after a 30-second timeout). This needs to be done only once, ideally at app launch.

Ads may be preloaded by the Google Mobile Ads SDK or mediation partner SDKs upon calling MobileAds.initialize() . If you need to obtain consent from users in the European Economic Area (EEA), set any request-specific flags (such as tagForChildDirectedTreatment or tag_for_under_age_of_consent ), or otherwise take action before loading ads, ensure you do so before initializing the Google Mobile Ads SDK.

Here’s an example of how to call the initialize() method in an Activity:

Example MainActivity (excerpt)

Kotlin

If you’re using mediation, wait until the completion handler is called before loading ads, as this will ensure that all mediation adapters are initialized.

Select an ad format

The Google Mobile Ads SDK is now imported and you’re ready to implement an ad. AdMob offers a number of different ad formats, so you can choose the one that best fits your app’s user experience.

Rectangular ads that appear at the top or bottom of the device screen. Banner ads stay on screen while users are interacting with the app, and can refresh automatically after a certain period of time. If you’re new to mobile advertising, they’re a great place to start.

Interstitial

Full-screen ads that cover the interface of an app until closed by the user. They’re best used at natural pauses in the flow of an app’s execution, such as between levels of a game or just after a task is completed.

Native

Customizable ads that match the look and feel of your app. You decide how and where they’re placed, so the layout is more consistent with your app’s design.

Rewarded

Ads that reward users for watching short videos and interacting with playable ads and surveys. Used for monetizing free-to-play apps.

Additional resources

The Google Mobile Ads repository on GitHub demonstrates how to use the different ad formats that this API offers.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Источник

Добавление AdMob рекламы в Android приложение с использованием Firebase

Предисловие

Вводим «AdMob» в Google и первым сайтом уже будет не AdMob-ский, а Google-ский сайт. После перехода на оный Вас начнут по немногу переманивать на темную сторону Firebase (недавно купленный Google).

Читайте также:  Смартфоны с андроидом до 9000

Firebase дает довольно обширные возможности по аналитике (по крайней мере для меня, как программиста, а не маркетолога) рекламы в вашем приложениее (рост, вес, страна, кол-во просмотров, версии Android куда установливалось и тд. и тп.).

Первым делом был найден пост, но он для Eclipse, а после первых попыток сделать по примеру — начались предупреждения о depricated да и вообще ошибки.

Прочитав больше информации стало понятно, что переход AdMob на firebase произошел недавно и разбиратся придется самому.

Давайте посмотрим как с этим жить теперь

Минимальные требования: (с учетом которых была написана статья).

  • Android Studio 2.2.2
  • Быть зарегистрированным в Google Developer Console
  • Быть зарегистрированным на AdMob
  • Мозг

Шаг 1

Добавляем зависимости в build.gradle файлы. Первым делом в ‘Module: app’:

Теперь во второй (‘Project: AdMobOnHabr’):

После чего рекомендуется сделать Tools → Android → «Sync Project with Gradle Files» и скомпилировать проект. Видимого результата еще нету, но главное — ошибок нету? Отлично! Идем дальше.

Шаг 2

Входим в свой аккаунт на AdMob. Выбираем ручное добавление приложения (если Ваше приложение уже опубликовано в Google Play — воспользуйтесь поиском в первой вкладке).

Добавим в наше приложение рекламный баннер (с другими видами предлагаю ознакомится самостоятельно). Частоту обновления Я выбрал минимально допустимую — 30 сек., название рекламного блока на Ваше усмотрение.

Дальше Вам предложат «Настройте Firebase Analytics (необязательно)» — нужное слово подчеркул. Пока что это ни к чему — пропускаем. Ознакамливаемся с «инструкциями по интеграции», жмем Готово. После переадресации видим страницу и долгожданный ID рекламного блока:

Добавляем ad unit ID в strings.xml:

Не забудьте, что для рекламного блока на другой Activity нужен новый ID.

Шаг 3

Добавляем AdView элемент на activity_admobbanner.xml:

В атрибут ‘ads:adUnitId’ записываем ресурс из strings.xml с ID рекламного блока.

Несколько советов и заметок:

    Не перепутайте ads и app при добавлении namespace в родительский ViewGroup;

На API Совет по Code Style тэга

Google рекомендует писать тэг закрывая так:

Шаг 4

Инициализируем Google Mobile Ads SDK. Для этого Вам понадобится app ID взятый с AdMob. Жмем шестеренку справа вверху → Управление приложением:

Вот оно, счастье нужный app ID:

Пишем саму, собственно, инициализацию используя свой app ID:

Шаг 5

Последнее действие по версии Google — загрузить долгожданную рекламу в AdView элемент:

На эмуляторе следуя политике AdMob вы не можете выводить реальную рекламу (показывается только тестовая). Довольно логично. Но если у Вас есть реальное устройство — можете протестировать рекламу в действии на нем и порадовать себя успехом.

  • Для отображения рекламы на реальном тестовом девайсе перепишите код вот так:

Остается вопрос — где взять волшебный DEVICE_ID_EMULATOR? Все в один голос рекомендуют очень «трушный» способ: пишите вместо DEVICE_ID_EMULATOR любое значение, к примеру:

После чего запускаете приложение на своем устройстве и смотрите logcat. Там найдете лог подобный этому:

Что делать дальше ясно — копируйте полученный код в метод упомянутый выше и радуйтесь жизни.

Заметка:
Дело было ночью, спать хотелось, в общем не повторяйте моих ошибок:
При поиске ID вашего реального устройства — не забудьте выбрать logcat девайса, на котором запущено приложение (у меня, к примеру, было запущено еще несколько эмуляторов и Я упорно не мог понять почему в лог эмулятора не выводится так нужный мне ID)

Вроде бы все сделали как написано, все должно работать, а нам пора ложится спать работать над следующей фичей но…

Шаг 6

Где-то между строк Вы должны были прочитать, что без google-services.json оно работать не будет. Скорее всего, даного файла у Вас еще нету. Давайте искать вместе.

Google любезно предоставляет Вам «простыни» инструкций как сделать google-services.json. Но у меня возник вопрос — неужели в 2к16 году нужно самому сидеть и писать этот файл, который, к всему, скорее всего довольно шаблонный?

Ответ находится в Google Developer Console, где все таки подумали про желание ленивого программиста.

Жмем Continue. Выбираем Google Sing-In. Дальше просто — Вы же знаете на память свой SHA-1?

Если вдруг запамятовали — могу помочь. SHA-1 можно узнать с помощью keyltool или немного по-топорному — через gradle в самой AS . Так как лишних действий делать не хочется — выберем второй способ:

Вставляем полученый SHA-1 код, жмем «Enable Google Sign-In» и «Continue to Generate configuration files».

Ну, вы поняли. Скачиваем сгенерированный файл и копируем в корневой каталог приложения:

Собираем свой проект — готово. Путем подобных несложных манипуляций в Вашем приложении теперь есть реклама.

Источник

Оцените статью