Перейти к содержанию
Fire Monkey от А до Я
  • 0

Не могу разобратся с BannerAD


mishapost

Вопрос

Всем доброго времени суток!

Пытаюсь разобраться с рекламным блоком для Android. Использую RAD Studio XE8.

1. Создал новый мобильный проект.

2. На форму положил BannerAD. Свойство Align - установил Top. Test Mode в true;

3. Project->Options->Entitlement List -> Admob Service установил в true

4. Дал разрешения: Access Network state и Internet

5. В обработчике формы Onshow написал BannerAd1.LoadAd;

Обработчики BannerAd1ActionCanBegin и BannerAd1ActionDidFinish пока не описывал, т.к. работаю в тестовом режиме

Запускаю приложение и в моем понимании я должен видеть, какой-то тестовый блок ---- Но там пусто.

Всю инфу черпал отсюда

Что не так?

Ссылка на комментарий

Рекомендуемые сообщения

  • 1

Вам надо еще ID присвоить,например в обработчике создания формы.

BannerAd1.AdUnitID := 'ca-app-pub-1111111111111111/2222222222';

ID можно получить тут GOOGLE ADMOB.

 

Изменено пользователем dante333
Ссылка на комментарий
  • 1
3 минуты назад, dante333 сказал:

Вам надо еще ID присвоить,например в обработчике создания формы.


BannerAd1.AdUnitID := 'ca-app-pub-1111111111111111/2222222222';

ID можно получить тут GOOGLE ADMOB.

 

Сначала тоже хотел написать это. Но автор поста запускает в тестовом режиме. 

Изменено пользователем Alex7wrt
Ссылка на комментарий
  • 1
Только что, Alex7wrt сказал:

Сначала тоже хотел написать это. Но автор поста запускает в тестовом режиме. Поэтому AdUnitID не нужен.

У меня без этого не приходило,даже в тестовом.На форме вообще лежал один  BannerAd.С ID же все заработало.Но это моё ИМХО.

Ссылка на комментарий
  • 0
17 минут назад, Alex7wrt сказал:

Не стану спорить. Возможно так и есть.

Думаю, стоит добавить в обработчике OnLoad блока такой код


procedure TForm1.BannerAd1DidLoad(Sender: TObject);
begin
    BannerAd1.Show;
end;

 

Вот это верно подмечено.

Изменено пользователем dante333
Ссылка на комментарий
  • 1

AndroidManifest.template видимо не правили.Добавьте

Перед <activity>

<meta-data android:name="com.google.android.gms.version" android:value="4323000"/>

После </activity>

<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

Должно помочь.

Вот тут можете посмотреть. 

Изменено пользователем dante333
Ссылка на комментарий
  • 0

AndroidManifest.template:

<?xml version="1.0" encoding="utf-8"?>
<!-- BEGIN_INCLUDE(manifest) -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.embarcadero.Project1"
        android:versionCode="1"
        android:versionName="1.0.0"
        android:installLocation="preferExternal">

    <!-- This is the platform API where NativeActivity was introduced. -->
    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="11" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission android:name="android.permission.CALL_PHONE" />

    <uses-permission android:name="android.permission.CAMERA" />

    <uses-permission android:name="android.permission.INTERNET" />


    <uses-feature android:glEsVersion="0x00020000" android:required="True"/>
    <application android:persistent="False" 
        android:restoreAnyVersion="False" 
        android:label="Project1" 
        android:debuggable="True" 
        android:largeHeap="False"
        android:icon="@drawable/ic_launcher"
        android:theme="@android:style/Theme.NoTitleBar"
        android:hardwareAccelerated="true">

        <meta-data android:name="com.google.android.gms.version" android:value="4323000" />


        <!-- Our activity is a subclass of the built-in NativeActivity framework class.
             This will take care of integrating with our NDK code. -->
<meta-data android:name="com.google.android.gms.version" android:value="4323000"/>
		<activity android:name="com.embarcadero.firemonkey.FMXNativeActivity"
                android:label="Project1"
                android:configChanges="orientation|keyboard|keyboardHidden"
                android:launchMode="singleTask">
            <!-- Tell NativeActivity the name of our .so -->
            <meta-data android:name="android.app.lib_name"
                android:value="Project1" />
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter> 
        </activity>
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
        <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />


        <receiver android:name="com.embarcadero.firemonkey.notifications.FMXNotificationAlarm" />
        
    </application>
</manifest>
<!-- END_INCLUDE(manifest) -->

 

Вобще мне не совсем понятно это действие.

Да в AndroidManifest.template этих строк у меня не было, но зато эти строки были в Androidmanifest.xml, который лежит в папке Debug и появляются они там когда в Project->Options->Entitlement List -> Admob Service установил в true.

Я так понимаю что редактирование AndroidManifest.template требовалось для ранних версий типа XE5,6,7 (т.е. для тех у которых не было Entitlement List).

Добавление строк в AndroidManifest.template проблему не решила.

 

Ссылка на комментарий
  • 0

Тогда по манифесту все ок.ну если только

<meta-data android:name="com.google.android.gms.version" android:value="4323000"/>

2 раза встречается.

Вот как у меня:

FormCreate:

BannerAd1.AdUnitID := 'ca-app-pub-11111111111111111/2222222222';

FormShow:

BannerAd1.LoadAd;
BannerAd1.Show;

Правда еще прописан BannerAd1ActionCanBegin.

Ссылка на комментарий
  • 1
'ca-app-pub-1111111111111111/2222222222'

Я выкладывал для примера.Вместо 1 и 2 должен быть Ваш уникальный ID.И не все советы учли.Вот Ваш проект с правками.Работает 100%.Осталось только вставить свой ID.Тестировал на эмуляторе.

TestAD.rar

Без имени-1.jpg

UPD.Вообщем еще потестил.Если ID не присваивать вообще,то не показывает.Если присвоить хотя бы 'ca-app-pub-1111111111111111/2222222222' то показывает.

Изменено пользователем dante333
Ссылка на комментарий
  • 0
В 24.03.2016 в 21:00, mishapost сказал:

Все разобрался. У меня на компе установлена Android Studio. Вот когда среду перенастроил на SDK и NDK от Android Studio --- все заработало.

Всем спасибо за помощь!

Добрый день. Сделал была та же проблема, сделал так же теперь тестовая реклама показывается, а вот если поставить TestMode = False, то ничего нет. Идентификатор прописал. В AndroidManifest.template добавлял строки, хотя как писалось выше, по факту они не нужны.

Ссылка на комментарий
  • 0
4 часа назад, Terik сказал:

Добрый день. Сделал была та же проблема, сделал так же теперь тестовая реклама показывается, а вот если поставить TestMode = False, то ничего нет. Идентификатор прописал. В AndroidManifest.template добавлял строки, хотя как писалось выше, по факту они не нужны.

Разобрался. Кто столкнется с такой же проблемой, в настройках рекламного блока выбирайте баннер

 

2016-04-13_16-17-44.png

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...