Advertising id android studio

Как получить рекламный идентификатор в Android программно

Я хочу получить рекламный идентификатор для пользователей программным способом. Я использовал приведенный ниже код с сайта разработчика. Но он не работает

Как получить идентификатор рекламы пользователя программным способом? Помогите мне, пожалуйста

ОТВЕТЫ

Ответ 1

Возможно, я опаздываю, но это может помочь кому-то другому!

Ответ 2

Получить идентификатор GAID (рекламный идентификатор Google)

1. Загрузите последнюю версию SDK Google Play. 2. Импортируйте код и добавьте его в качестве проекта библиотеки.
3. Изменить AndroidManifest.xml.

4. Включите ProGuard для сжатия и обфускации кода в project.properties..

5. Добавить правила в proguard-project.txt.

6. Вызовите AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext()). getId() в рабочем потоке, чтобы получить идентификатор в String. как будто это

Ответ 3

На всякий случай кто-то заинтересован в попытке извлечь часть AdvertisingId во время Rx-ing, тогда это может быть полезно.

Ответ 4

Получить идентификатор рекламы из фонового потока:

Я добавил null для предотвращения любых сбоев. Код в Google

Ответ 5

Убедитесь, что вы добавили сервисы идентификации воспроизведения, затем вы можете получить идентификатор рекламы, выполнив такой поток:

Ответ 6

С проверкой ОС.

Назовите это в AsyncTask

Ответ 7

Вам нужно запустить свой код с помощью Async Task

Ответ 8

Вам нужно добавить gms libs, иначе вы не сможете получить идентификатор рекламы. Он может быть reset пользователем или когда вы выполняете factory reset (в factory reset время, когда идентификатор Android также reset).

Ответ 9

Вы можете вызвать приведенную ниже функцию в onCreate (Bundle saveInstanceState) действия

и в logcat-поиске UIDMY будет отображаться идентификатор: I/UIDMY: a1cf5t4e-9eb2-4342-b9dc-10cx1ad1abe1

Источник

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

Реклама в приложении — это очень важный момент, а иногда и единственный заработок.

Думаю, многие задавались вопросом о том, какая реклама лучше и где ее лучше размещать. Каждое приложение индивидуально, поэтому нужно экспериментировать.

Выпускать каждый раз обновления приложения с экспериментами? Не вариант. Гораздо лучше все настройки хранить на стороне сервера, а в приложении реализовать логику показа рекламы.

Но все ли так просто?

Цель данного поста:
— внести небольшой вклад в open source (исходники, демка)
— получить адекватную критику
— найти разработчиков, которые готовы поддержать проект
— попиарить приложение Цены в Китае, где используется данный подход

Предисловие

Сразу хочу сказать, что я не очень опытный Android/Java разработчик. Программирую в основном на php (более 5 лет). Это мое первое android приложение, поэтому не судите строго.

Возможности библиотеки

Виды рекламы

— AdMob
— StartAd.mobi
— свой баннер, написанный в виде html

Отображение

— Снизу
— Сверху
— В списке (с заданным шагом)
— Внутри указанного элемента (указываем id элемента)
— Межстраничная реклама (на весь экран)

Примеры использования

AdMob снизу

AdMob smart

Если нужно растянуть на всю ширину экрана

Свой баннер сверху

В списке с шагом 15

В конкретном месте

Межстраничный баннер

Настройки на стороне сервера

Подключение к проекту

На текущий момент это не библиотека, а обычное приложение. Чтобы использовать в своем приложении нужно сделать следующее:

Читайте также:  Голосовая связь для андроид

— перенести библиотеки из папки libs
— обновить зависимости в build.gradle

Планы на будущее

— реализовать backend для настроек на сервере. У меня это уже реализовано в проекте, но нужно как-то перенести.
— статистики показов (тоже реализовано) и кликов
— добавить больше типов рекламы
— исправить TODO и FIXME в коде
— оформить в виде библиотеки (а не в виде проекта с копирование файлов в нужные места)
— выложить в maven репозиторий

Помощь

Времени как всегда не хватает, поэтому любая помощь от разработчиков не помешает. Давайте не будем стесняться что-то делать и показывать это другим. Вспомнилась поговорка «Не бойся ошибиться, бойся не попробовать». Я не прошу реализовывать что-то сверхестественное. Просто если вы будете использовать что-то из этого в своем проекте и решите добавить что-новое, или найдете какой-то баг — не поленитесь, пришлите pull request.

Источник

Подводные камни идентификации Android-устройства

Некоторым разработчикам может понадобится идентифицировать Android-устройства своих пользователей. Чаще всего это делается не для того чтобы распознать именно девайс, а для определения конкретной установки приложения. Также я встречала несколько кейсов, когда это было необходимо, если у разработчика появлялось несколько приложений и он хотел понимать, что они работают в одной среде.

Гугл говорит, что идентифицировать устройство очень просто. Но мы же говорим об Android:)

Данная статья ориентирована на приложения или библиотеки, которые не хотят привязываться к гугловым сервисам.

Итак, давайте погрузимся в это чудесное приключение по получению уникального идентификатора устройства.

Тут мы видим несколько путей:

  • Advertising ID
  • IMEI
  • MAC-address
  • Serial Number
  • Android ID

Выглядит пока что не плохо, не так ли? Целых пять способов получить уникальный идентификатор для Android-устройства. Я уверена, что если вы еще пошуршите по сети, то, наверняка, найдете еще парочку других способов, но тут я вынесла самые популярные. Итак, давайте пойдем по порядку.

Advertising ID

Это уникальный для пользователя рекламный идентификатор, предоставляемый службами Google Play. Он необходим для работы рекламы, чтобы Google понимал, какую рекламу можно показывать конкретному пользователю и какая реклама уже была показана с помощью встроенных в приложения рекламных баннеров. А так же это значит, что вы лишитесь этого идентификатора, если ваше приложение будет скачано, к примеру, с Amazon, а помимо этого вам придется втащить в ваше приложение гугловые библиотеки.

Вывод: мы не идентифицируем устройство во всех случаях.

Но мы же хотим наверняка, верно? Тогда идем дальше.

Это международный идентификатор мобильного оборудования, используемый на телефонах стандарта GSM. Номер IMEI используется сетями для идентификации смартфонов и блокировки доступа в сеть украденных или занесенных в черный список девайсов. Но к сожалению с IMEI может возникнуть ряд проблем:

  • Возникает ошибка «Invalid IMEI»
  • IMEI можно изменить
  • Для получения IMEI необходим permission:

Вывод: мы не идентифицируем устройство во всех случаях и нас еще и могут обмануть:C

MAC-address

It may be possible to retrieve a Mac address from a device’s WiFi or Bluetooth hardware. We do not recommend using this as a unique identifier. To start with, not all devices have WiFi. Also, if the WiFi is not turned on, the hardware may not report the Mac address.

Serial Number

Считается уникальным серийным номером устройства, который остается с ним до “самого конца”. Получить его можно таким способом:

Читайте также:  Тотал лаунчер для андроид

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

Вывод: мы не идентифицируем устройство во всех случаях, мы должны запросить permission у пользователя, которые их подбешивают и нас все еще могут обмануть.

Android ID

— Вот оно! — должны завопить мы. — Решение всех наших бед!

Android ID — это тоже уникальный идентификатор устройства. Представляет из себя 64-разрядную величину, которая генерируется и сохраняется при первой загрузке устройства.
Получить его можно вот так:

Казалось бы, такая короткая строчка избавляет нас от головной боли по идентификации устройства. Даже ребята из гугл использую Android_ID для LVL в примере.

И тут наши надежды рушатся и ничто уже не будет прежним. После обновления на Android 8 Android_ID теперь стал уникальным для каждого установленного приложения. Но, помимо этого, гугл ведь заботится о нас, так что приложения, которые были установлены до обновления останутся с прежними одинаковыми идентификаторами, которые гугл сохраняет с помощью специально написанного для этого сервиса. Но если приложение будет удалено, а затем заново установлено — Android_ID будет разным. Для того чтобы это не произошло, нужно использовать KeyValueBackup.


Но этот backup сервис нужно зарегистрировать, еще и package name указать. Более того, в документации написано, что это может не сработать по любой причине. И кто в этом виноват? Да никто, просто вот так.

Общий вывод

Если у вас хороший бекенд, то просто собирайте слепок устройства (установленные приложения, сервисы, любые данные об устройстве, которые можете достать) и сравнивайте параметры уже там, какой-то процент изменений считайте приемлемым.

Источник

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:

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.

Источник

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