Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как установить баннер AdMob в приложение?

Как установить баннер AdMob в приложение? Сделал всё по инструкции, размещённой на официальном сайте: но ничего не вышло! Пользуюсь самой последней версией ПО.
Ответ:
String deviceId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
Может и можно, только надо будет не забыть этот код убрать, а то все кто установил будут тестировать

Добавлено через 30 минут
String deviceId = Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);
Я думаю так все таки не надо, я проверил только что. Выдает совсем другое значение.
Вопрос: Из приложения А проверить наличие установленного на устройстве приложения В

Извиняюсь за нубский вопрос.

Подскажите в андроид есть возможность из приложения А проверить наличие установленного на устройстве приложения В. Если есть, то напишите пару слов о методах реализации такой проверки.

Добавлено через 13 минут
Приложение А обычное приложение, а В является виджетом.
Ответ: ок спасибо )
Вопрос: Баннер скачать приложение на сайте (Android)

Здравствуйте. Подскажите, есть ли готовое решение для отображение баннера приложения на сайте? Например в iOS это реализовано с помощью Smart App Banners
Ответ: Спасибо, разобрался
Вопрос: Встраивание рекламы ADmob

каков механизм и алгоритм добавление рекламы Admob в приложение? Поправьте, если не прав
1-выкладываем приложение без рекламы.
2- в Admob указываем ссылку на него и получаем ключ,
3 - встраиваем тестовый баннер, проверяем работу и т.д.
4 - меняем ключ тестового баннера на полученный
5 -заливаем новую версию.
Ответ: Сам не юзал. Суть в том что, самому ни при каких условиях, нельзя нажимать на рекламный баннер. Даже для проверки.
В тестовом режиме - можно, переход происходит, оплату не начисляют. Баннер сам по себе настоящий. Всегда.
Даже в примере указанно что ID нужен
An Ad Unit ID is a unique identifier given to the places in your app where ads are displayed. If you have an app with two activities, for example, each displaying a banner, you need two ad units, each with its own ID. AdMob ad unit IDs have the form ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN
Добавлено через 6 минут
А хотя там сейчас чего то переделали.

Добавлено через 55 секунд
Выкладывать, в любом случае нужно рабочее приложение.


Добавлено через 1 минуту
Вот как создавать рекламу -

Добавлено через 1 минуту
Приложение можно создать, даже если его нет в плее, а потом привязать
Вопрос: Пример AdMob компилируется, но не запускается

1. Взял пример с офиц сайта. () Запустил. На телефоне работает.
2. Решил проверить и разобраться. Создал новый пустой проект. Вставил в него строки из рабочего примера. Компилится. Но на телефоне не запускается - пишет "Приложение остановилось".

Где же здесь засада, ведь я просто перенес строки (Ctrl+C Ctrl+V) ?

MainActivity.java
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
package com.example.my.banner;
 
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
 
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
 
 
public class MainActivity extends ActionBarActivity {
    private AdView mAdView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        // Gets the ad view defined in layout/ad_fragment.xml with ad unit ID set in
        // values/strings.xml.
        mAdView = (AdView) findViewById(R.id.ad_view);
 
        // Create an ad request. Check your logcat output for the hashed device ID to
        // get test ads on a physical device. e.g.
        // "Use AdRequest.Builder.addTestDevice("ABCDEF012345") to get test ads on this device."
        AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .build();
 
        // Start loading the ad in the background.
        mAdView.loadAd(adRequest);
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
 
        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
    /**
     * Called when leaving the activity
     */
    @Override
    public void onPause() {
        if (mAdView != null) {
            mAdView.pause();
        }
        super.onPause();
    }
 
    /**
     * Called when returning to the activity
     */
    @Override
    public void onResume() {
        super.onResume();
        if (mAdView != null) {
            mAdView.resume();
        }
    }
 
    /**
     * Called before the activity is destroyed
     */
    @Override
    public void onDestroy() {
        if (mAdView != null) {
            mAdView.destroy();
        }
        super.onDestroy();
    }
 
}
activity_main.xml
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="16dp"
    tools:context=".MainActivity"
    tools:ignore="MergeRootFrame">
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        android:text="@string/hello_world" />
 
    <com.google.android.gms.ads.AdView
        android:id="@+id/ad_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id" />
</RelativeLayout>
strings.xml
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
<resources>
    <string name="app_name">Banner</string>
 
    <string name="hello_world">Hello world!</string>
    <string name="action_settings">Settings</string>
    <!-- This is an ad unit ID for a test ad. Replace with your own banner ad unit id. -->
    <string name="banner_ad_unit_id">ca-app-pub-9231756515545175/9464454040</string>
</resources>
AndroidManifest.xml
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.my.banner">
    <!-- Include required permissions for Google Mobile Ads to run-->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
 
        <!--This meta-data tag is required to use Google Play Services.-->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <!--Include the AdActivity configChanges and theme. -->
        <activity
            android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
            android:theme="@android:style/Theme.Translucent" />
    </application>
 
</manifest>
build.gradle
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
apply plugin: 'com.android.application'
 
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
 
    defaultConfig {
        applicationId "com.example.my.banner"
        minSdkVersion 9
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
 
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.2.0'
    compile 'com.google.android.gms:play-services-ads:8.1.0'
}
Ответ: Не помешал бы логкэт конечно. В настройках блока должен быть баннер, а не межстраничное объявление. Так что попробуй проверить. Если все-таки у тебя там стоит не баннер, то переделай, и вставь айди нового блока. Если не выйдет, скинь логкэт.
Вопрос: Удалить app из AdMob

Какая то смешная ситуация, сначала парился с тем чтобы научиться вставлять банеры в свое приложение. В процессе этого квеста, в AdMob висит пара приложений, которые никак не могу оттуда удалить. Подскажите плз какие кнопки в какой последовательности нажать.
И еще подскажите где почитать, как управлять размером банеров.

Добавлено через 18 часов 47 минут
Сообщение от Alex_Fedor
И еще подскажите где почитать, как управлять размером банеров.
Сделал так
Java
1
2
3
4
5
6
try {
    mAdView1.setAdSize(AdSize.BANNER);
}   catch (Exception e) {
    // TODO: handle exception
    Log.d(MY_LOG, "Error  " +e.toString());
     }
Получил The ad size can only be set once on AdView. Как то не очень, если скажем свободное место на странице позволяет разместить несколько рекламных блоков. А модельки телефонов разные?
Похоже свои приложения с AdMob вручную тоже никак не удалить, только с удалением аккаунта. Тут еще один сюрприз, думаю напишу в поддержку пусть если мне не дают, так сами в моем аккаунте уборку сделают. Так и связи с поддержкой не нашел. Еще в AdMob можно кампании создавать. Это на сколько я понял, пользователь сам объявление дает и сам платит за это денежки. Страшно подумать если где то накосячил, тебе справедливо выставят счет и отказаться от этой услуги уже не сможешь.
Ответ: Приложения можно скрыть, сверху есть кнопка настройки -> управление приложениями -> галочками отметить
Вопрос: Admob и AIDE

Всем привет. Такой вот к вам вопрос.
Есть такое приложение AIDE может слышали...
Есть приложения которые хотелось бы монетизировать с помощью admob.
Ноутбука нет. An. Studio тоже нет..
Можно ли решить вопрос. ???
Что такое Ads SDK ? Как его воткнуть в AIDE ( можно ли )
И вообще какие идеи предложите?
Ответ:
Сообщение от Nikolarsen
Есть такое приложение AIDE может слышали...
Среды разработки здесь только вскольз осуждают. В основном по коду. Первый вопрос гуглу привел
Вам наверное лучше там спросить. Народ вроде юзает.
Вопрос: реклама от admob в приложениях андроид

Вставил рекламу в приложение в соответствии с инструкцией на сайте admob, но отображается только тестовый баннер. Почему?
Manifest.xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.denis1993.xxx_pc.calculator" >
 
    <application
        android:allowBackup="true"
        android:icon="@mipmap/aaa"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>
        <activity android:name=".MainActivity"
            android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
    </application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>
activity_main.xml:
XML
1
2
3
4
5
6
7
8
9
10
11
 xmlns:ads="http://schemas.android.com/apk/res-auto"
...
 <com.google.android.gms.ads.AdView
            android:id="@+id/adView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_alignParentBottom="true"
            ads:adSize="BANNER"
            ads:adUnitId="@string/banner_ad_unit_id">
        </com.google.android.gms.ads.AdView>
bulid.grandle:
...
compile 'com.google.android.gms: play-services-ads:8.3.0'
...
string.xml:
XML
1
2
3
4
<resources>
    <string name="app_name">Calculator</string>
    <string name="banner_ad_unit_id">ca-app-pub-7912591647703703/89855644</string>
</resources>
main_activity.java:
import com.google.android.gms.ads.AdRequest;
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
 import com.google.android.gms.ads.AdView;
....
  AdView mAdView = (AdView) findViewById(R.id.adView);
            AdRequest adRequest = new AdRequest.Builder().build();
            mAdView.loadAd(adRequest);
Пробовал и на реальном устройстве , и на эмуляторе , и через Google Play устанавливать, всё равно показывается только тестовый баннер
Ответ: вот так
Вопрос: AdMob не показывает рекламу

Встроил в свое приложение рекламу за вознаграждение AdMob, привязал туда несколько аккаунтов из разных рекламных сетей:


Уже прошло трое суток, все находится в ожидании, ничего не меняется. Приложение выдает в логах одну и ту же ошибку:
Code
1
W/Ads: Failed to load ad: 3
Вот код самого показа рекламы:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
public class RewardedAdController implements AdsControllerBase, RewardedVideoAdListener {
 
    private Context context;
    private LinearLayout layout;
    private MainActivity mainActivity;
 
    private static final String AD_UNIT_ID = "";
    private static final String APP_ID = "";
 
    private boolean mIsRewardedVideoLoading;
    private RewardedVideoAd rewardedVideoAd;
 
    private final Object mLock = new Object();
 
    public RewardedAdController(Context context, LinearLayout layout, MainActivity mainActivity) {
        this.context = context;
        this.layout = layout;
        this.mainActivity = mainActivity;
    }
 
    @Override
    public void configure() {
        MobileAds.initialize(mainActivity, APP_ID);
 
        rewardedVideoAd = MobileAds.getRewardedVideoAdInstance(mainActivity);
        rewardedVideoAd.setRewardedVideoAdListener(this);
        loadRewardedVideoAd();
    }
 
    private void loadRewardedVideoAd() {
        synchronized (mLock) {
            if (!mIsRewardedVideoLoading && !rewardedVideoAd.isLoaded()) {
                mIsRewardedVideoLoading = true;
 
                Bundle extras = new Bundle();
                extras.putBoolean("_noRefresh", true);
 
                AdRequest adRequest = new AdRequest.Builder()
                        .addNetworkExtrasBundle(AdMobAdapter.class, extras)
                        //.addTestDevice("FB0E8E4D2E9391021E39B1AF4BFD16B8")
                        .build();
 
                rewardedVideoAd.loadAd(AD_UNIT_ID, adRequest);
            }
        }
    }
 
    @Override
    public void show() {
        if (rewardedVideoAd.isLoaded()) {
            rewardedVideoAd.show();
        }
    }
 
    @Override
    public void onRewardedVideoAdLoaded() {
        mIsRewardedVideoLoading = false;
 
        Toast.makeText(context, "onRewardedVideoAdLoaded", Toast.LENGTH_SHORT).show();
 
        layout.setVisibility(View.VISIBLE);
    }
 
    @Override
    public void onRewardedVideoAdOpened() {
        Toast.makeText(context, "onRewardedVideoAdOpened", Toast.LENGTH_SHORT).show();
 
        layout.setVisibility(View.GONE);
    }
 
    @Override
    public void onRewardedVideoStarted() {
        Toast.makeText(context, "onRewardedVideoStarted", Toast.LENGTH_SHORT).show();
 
        layout.setVisibility(View.GONE);
    }
 
    @Override
    public void onRewardedVideoAdClosed() {
        Toast.makeText(context, "onRewardedVideoAdClosed", Toast.LENGTH_SHORT).show();
 
        layout.setVisibility(View.GONE);
 
        loadRewardedVideoAd();
    }
 
    @Override
    public void onRewarded(RewardItem rewardItem) {
        Money.getInstance(context).incrementMoney(1);
 
        mainActivity.showMsg(R.string.reward);
    }
 
    @Override
    public void onRewardedVideoAdLeftApplication() {
        Toast.makeText(context, "onRewardedVideoAdLeftApplication", Toast.LENGTH_SHORT).show();
    }
 
    @Override
    public void onRewardedVideoAdFailedToLoad(int i) {
        Toast.makeText(context, "onRewardedVideoAdFailedToLoad", Toast.LENGTH_SHORT).show();
 
        layout.setVisibility(View.GONE);
 
        mIsRewardedVideoLoading = false;
    }
}
Всегда срабатывает метод onRewardedVideoAdFailedToLoad. Не могу никак с этим разобраться, подскажите, что нужно делать.
Заранее огромное спасибо.
Ответ: Вверх
Вопрос: Реклама Android приложения через AdMob

Подскажите, хочу разместить рекламу своего приложения в AdMob. Какую цену выбирать за клик и какую поставить цену за 1000 просмотров?
Ответ: если даже можно то оно переведет в адвордс