Таргетинг

Из этого руководства вы узнаете, как передать настройки таргетинга в запрос объявления.

To see ad targeting in action, download the iOS API Demo app in Objective–C or Swift.

Скачать API Demo

Требования

DFPRequest

Объект DFPRequest собирает информацию о таргетинге, которая затем передается в запрос объявления.

Регулируемый таргетинг

Чтобы определить регулируемый таргетинг на уровне страницы, задайте свойство CustomTargeting в классе DFPRequest с ключами и значениями. Одному ключу можно присвоить несколько значений, как в случае с section в этом примере:

Objective-C

DFPRequest *request = [DFPRequest request];
request.customTargeting = @{@"gender" : @"male", @"section" : @[ @"sports", @"finance"]};

Swift

let request = DFPRequest()
request.customTargeting = ["gender": "male", "section": ["sports", "finance"]]

Посмотрите, как реализован регулируемый таргетинг DFP в приложении API Demo для iOS:

Objective-C Swift

Исключение категорий

Чтобы задать исключения рекламных категорий на уровне страницы, задайте свойство categoryExclusions в классе DFPRequest с массивом ярлыков для исключения.

Objective-C

DFPRequest *request = [DFPRequest request];
request.categoryExclusions = @[@"cars", @"pets"];

Swift

let request = DFPRequest()
request.categoryExclusions = ["cars", "pets"]

Посмотрите, как реализовано исключение категорий DFP в приложении API Demo для iOS:

Objective-C Swift

Расположение рекламы

Если в вашем приложении уже реализована платформа CoreLocation, вы можете использовать существующий экземпляр CLLocationManager, чтобы определять точное местоположение.

Objective-C

DFPRequest *request = [DFPRequest request];
CLLocation *currentLocation = locationManager.location;
if (currentLocation) {
  [request setLocationWithLatitude:currentLocation.coordinate.latitude
                         longitude:currentLocation.coordinate.longitude
                          accuracy:currentLocation.horizontalAccuracy];
}

Swift

let request = DFPRequest()
if let currentLocation = locationManager.location {
  request.setLocationWithLatitude(CGFloat(currentLocation.coordinate.latitude),
      longitude: CGFloat(currentLocation.coordinate.longitude),
      accuracy: CGFloat(currentLocation.horizontalAccuracy))
}

Из соображений конфиденциальности компания Google просит указывать данные о местоположении, только если они уже используются в приложении.

Пол

При использовании агрегатора SDK или объявлений AdMob для заполнения в запросе можно указывать пол в качестве критерия таргетинга. Эта информация также передается в адаптеры агрегатора рекламных сетей.

Objective-C

DFPRequest *request = [DFPRequest request];
request.gender = kGADGenderMale;

Swift

let request = DFPRequest()
request.gender = .Male

Полный список констант GADGender перечисляемого типа можно найти в файле GADRequest.h.

День рождения

При использовании агрегатора SDK или объявлений AdMob для заполнения в запросе можно указывать день рождения в качестве критерия таргетинга. Эта информация также передается в адаптеры агрегатора рекламных сетей.

Objective-C

DFPRequest *request = [DFPRequest request];
NSDateComponents *components = [[NSDateComponents alloc] init];
components.month = 3;
components.day = 13;
components.year = 1976;
request.birthday = [[NSCalendar currentCalendar] dateFromComponents:components];

Swift

let request = DFPRequest()
let components = NSDateComponents()
components.month = 3
components.day = 13
components.year = 1976
request.birthday = NSCalendar.currentCalendar().dateFromComponents(components)

Контент для детей

В SDK AdMob добавлена новая настройка – пометка о том, что контент предназначен для детей, в соответствии с Законом США о защите конфиденциальности детей в Интернете (COPPA).

С ее помощью разработчики могут указать, что их контент предназначен для детской аудитории, и Google будет отключать для таких запросов рекламу на основе интересов и ремаркетинговые объявления.

  • Если вы присвоили параметру tagForChildDirectedTreatment значение YES или true, вы указываете, что контент предназначен для детей, согласно закону COPPA.
  • Если вы присвоили параметру tagForChildDirectedTreatment значение NO или false, вы указываете, что контент не предназначен для детей, в соответствии с законом COPPA.
  • Если значение для параметра tagForChildDirectedTreatment не задано, запросы объявлений не будут содержать никаких указаний на то, как контент должен трактоваться в рамках закона COPPA.

Objective-C

DFPRequest *request = [DFPRequest request];
[request tagForChildDirectedTreatment:YES];

Swift

let request = DFPRequest()
request.tagForChildDirectedTreatment(true)

Устанавливая эту пометку, вы подтверждаете, что выбранный вами вариант соответствует действительности и что вы имеете право действовать от имени владельца приложения. Злоупотребление этой настройкой может привести к блокировке вашего аккаунта Google.

URL контента

Приложения, в которых монетизируется контент, соответствующий содержанию веб-страницы, могут передавать URL контента для таргетинга на ключевые слова.

Например, если в ваше приложение для чтения блогов загружена статья http://googleadsdeveloper.blogspot.com/2013/10/upgrade-to-new-google-mobile-ads-sdk.html и оно запрашивает объявление, то этот URL можно передать в запросе, чтобы настроить таргетинг на релевантные ключевые слова.

Objective-C

DFPRequest *request = [DFPRequest request];
request.contentURL = @"http://googleadsdeveloper.blogspot.com/2013/10/upgrade-to-new-google-mobile-ads-sdk.html";

Swift

let request = DFPRequest()
request.contentURL = "http://googleadsdeveloper.blogspot.com/2013/10/upgrade-to-new-google-mobile-ads-sdk.html"

Загрузка объявления с таргетингом

Указав в запросе всю информацию о таргетинге, вызовите функцию loadRequest в классе DFPBannerView с помощью экземпляра DFPRequest.

Objective-C

DFPRequest *request = [DFPRequest request];
request.gender = kGADGenderMale;
NSDateComponents *components = [[NSDateComponents alloc] init];
components.month = 3;
components.day = 13;
components.year = 1976;
request.birthday = [[NSCalendar currentCalendar] dateFromComponents:components];
CLLocation *currentLocation = locationManager.location;
if (currentLocation) {
  [request setLocationWithLatitude:currentLocation.coordinate.latitude
                         longitude:currentLocation.coordinate.longitude
                          accuracy:currentLocation.horizontalAccuracy];
}
[request tagForChildDirectedTreatment:YES];
request.contentURL = @"http://googleadsdeveloper.blogspot.com/2013/10/upgrade-to-new-google-admob.html";
[self.adView loadRequest:request];

Swift

let request = DFPRequest()
request.gender = .Male
let components = NSDateComponents()
components.month = 3
components.day = 13
components.year = 1976
request.birthday = NSCalendar.currentCalendar().dateFromComponents(components)
if let currentLocation = locationManager.location {
  request.setLocationWithLatitude(CGFloat(currentLocation.coordinate.latitude),
      longitude: CGFloat(currentLocation.coordinate.longitude),
      accuracy: CGFloat(currentLocation.horizontalAccuracy))
}
request.tagForChildDirectedTreatment(true)
request.contentURL = "http://googleadsdeveloper.blogspot.com/2013/10/upgrade-to-new-google-admob.html"
adView.loadRequest(request)

Идентификаторы, назначаемые издателем

Чтобы управлять ограничением частоты показов, сегментацией аудитории, таргетингом, последовательной ротацией объявлений и другими параметрами показов, связанными с аудиторией, на различных устройствах, можно задать идентификатор, назначаемый издателем (параметр PPID).

Параметр PPID задается в объекте DFPRequest.

Objective-C

DFPRequest *request = [DFPRequest request];
request.publisherProvidedID = @"AB123456789";

Swift

let request = DFPRequest()
request.publisherProvidedID = "AB123456789"

Посмотрите, как реализован идентификатор PPID издателя DFP в приложении API Demo для iOS:

Objective-C Swift

Часто задаваемые вопросы

Можно ли публиковать приложение, не удаляя из кода команду request.testDevices?
Да. Тестовые объявления показываются только на устройствах, указанных вами явно, поэтому все ваши пользователи смогут видеть рабочие объявления.
Какие настройки таргетинга используются при автоматическом обновлении объявления?
При обновлении объявления для таргетинга снова используется указанный ранее объект DFPRequest. Чтобы задать новые настройки, явно вызовите функцию loadRequest в классе DFPBannerView с новым объектом DFPRequest.
Как передавать дополнительные параметры таргетинга в агрегаторы рекламных сетей?
Подробную информацию об этом можно найти в руководстве по агрегаторам для издателей.

Оставить отзыв о...

Текущей странице
SDK for DFP Users on iOS
Нужна помощь? Обратитесь в службу поддержки.