Тестирование интеграции Audience Network

Если вы интегрируете Audience Network Facebook в мобильный сайт или приложение, перед запуском не забудьте протестировать интеграцию на настоящих устройствах с настоящей рекламой. Используйте новейшие версии SDK Audience Network с актуальными исправлениями и улучшениями. В разделах ниже вы найдете пошаговые инструкции по тестированию интеграции рекламы из Audience Network в приложение или мобильный сайт.

Шаг 1. Тестирование с настоящей рекламой

Шаг 2. Проверка кодов ошибок в запросах настоящей рекламы

Шаг 3. Тестирование запросов рекламы с помощью инструмента для отладки запросов Audience Network

Шаг 4. Тестирование с тестовой рекламой

Шаг 5. Контрольный список для проверки интеграции рекламы из Audience Network

Шаг 1. Тестирование с настоящей рекламой

Тестирование с настоящей рекламой проходит в два этапа. Сначала добавьте людей на страницу с настройками компании, чтобы они могли видеть настоящую рекламу, до того как приложение будет одобрено. Затем этим тестировщикам следует войти на Facebook и начать использовать ваше приложение или мобильный сайт.

Добавление тестировщиков в приложение

Чтобы протестировать приложение или мобильный сайт на настоящих устройствах с настоящей рекламой, присвойте тестировщику какую-нибудь роль в своем приложении на Facebook. Мы рекомендуем добавить тестировщиков в приложение следующим образом:

  1. Откройте Настройки компании.
  2. Нажмите +Добавить во вкладке Люди слева.
  3. Введите эл. адрес человека, которого хотите добавить в свой аккаунт в Business Manager. Вы можете добавить несколько человек.
  4. Если нужно, назначьте людям роли, либо нажмите Пропустить, чтобы просто добавить их в свой аккаунт в Business Manager.

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

Тестирование мобильных приложений

  1. Отправьте приложение на устройства тестировщиков с помощью выбранного метода распространения и не забудьте указать тестировщиков на странице настроек в Business Manager.
  2. Каждый тестировщик должен установить приложение Facebook на своем устройстве и войти в него с помощью ID пользователя Facebook, который вы добавили в роль тестировщика. Благодаря этому Facebook будет знать, что этот человек связан с вашей компанией, и покажет рекламу именно ему.
  3. Теперь тестировщик может запустить ваше приложение и активировать плейсменты, которые вы хотите протестировать. Должна отобразиться настоящая реклама.

При тестировании плейсментов Facebook будет целенаправленно отправлять 20 % пустых запросов, чтобы вы могли протестировать, как приложение или мобильный сайт справятся с этим.

Когда вы будете распространять и тестировать приложение с помощью TestFlight, настоящая реклама в нем показана не будет. Вы должны будете настроить тестовый режим, как показано ниже, чтобы получать рекламу из Audience Network. Каждый раз, когда приложение, распространяемое с помощью Audience Network, запрашивает идентификатор для рекламодателя (IDFA), оно получает другой IDFA. Обычно для устройства используется один и тот же идентификатор IDFA, пока пользователь не сбросит его вручную. Однако если сборка TestFlight запрашивает у операционной системы IDFA, она получает не «настоящий» IDFA, а его «заменитель», который при каждом запросе изменяется.

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



Шаг 2. Проверка кодов ошибок в запросах настоящей рекламы

Когда вы будете тестировать интеграцию Facebook Audience Network, при выполнении запроса вы можете увидеть один из вероятных кодов ошибки. Эти коды ошибки описаны ниже:

1000 - Network Error

Отклик сервера Документация SDK

Code=1000 “Network Error"

  • Error 1000 - Network Error. SDK Audience Network не удалось обратиться к facebook.com (http://facebook.com/).
  • Ваше приложение должно попытаться выполнить еще один запрос, чтобы установить связь с сетью. Рекомендуем выполнять запросы, пока не будет установлено соединение либо пока не истечет время ожидания.

1001 - No Fill

Эта ошибка часто возникает при тестировании и относится к ответу "No Fill"; как правило, это происходит из-за того, что пользователь не выполнил вход в приложение Facebook при тестировании вашего мобильного приложения или не вошел на мобильный сайт Facebook при тестировании вашего мобильного сайта.

Отклик сервера Документация SDK

Code=1001 “No Fill”

  • Error 1001 - No Fill. Эта ошибка может возникнуть по одной из следующих причин:
  • Пользователь не выполнил вход в нативное приложение Facebook на мобильном устройстве
  • Включена настройка "Миним. трекинг рекл." (iOS)
  • Включена настройка "Отказаться от рекламы на основе интересов" (Android)
  • Нет подходящей рекламы для данного пользователя
  • На тестовом устройстве должно быть установлено нативное приложение Facebook.
  • Ваше приложение должно попытаться выполнить еще один запрос через 30 секунд.

1002 - Ad Load Too Frequently

Отклик сервера Документация SDK

Code=1002 “Load Too Frequently”

  • Запросы рекламы состоят из:
  • ID устройства
  • ID плейсмента
  • Формат отображения (баннеры, рекламные вставки, нативная реклама)
  • Ваше приложение должно попытаться выполнить еще один запрос через 30 минут. Кроме того, мы предлагаем настроить частоту обновления или частоту запроса.

1011 - Display Format Mismatch

Отклик сервера Документация SDK

Code=1011 “Display Format Mismatch”

  • Error 1011 - Display Format Mismatch возникает в следующих случаях:
  • Формат отображения в запросе рекламы не совпадает с форматом, указанным для этого плейсмента.
  • Каждому плейсменту может соответствовать только один формат изображения.
  • Чтобы использовать разные форматы отображения, создайте несколько плейсментов.

1203 - Not An App Admin, Developer or Tester

Отклик сервера Документация SDK

Code=1203 “Not An App Admin, Developer or Tester”

  • Первоначальный запрос из сборки должен быть отправлен администратором, разработчиком или тестировщиком приложения.

2000 - Server Error

Отклик сервера Документация SDK

Code=2000 “Server Error"

  • Error 2000 - Server Error. Возможные причины:
  • Недействительный ID плейсмента — у каждого плейсмента и типа должен быть уникальный ID
  • Неподдерживаемая или устаревшая версия SDK — скачайте новейшую версию или обновите Pod, если используете CocoaPods
  • Неверный вызов/использование метода loadAd. Предлагаем разместить контрольные точки в loadAd и соответствующих методах и обратных вызовах
  • Ваше приложение должно попытаться выполнить еще один запрос через 30 секунд.

2001 - Internal Error

Отклик сервера Документация SDK

Code=2001 “Internal Error”

  • Error 2001 - Internal Error. Audience Network SDK не удалось обработать ответ от facebook.com
  • Ваше приложение должно попытаться выполнить еще один запрос через 30 секунд.
  • Если вам не удастся исправить проблему, отправьте нам отчет об ошибке.


Шаг 3. Тестирование запросов рекламы с помощью инструмента для отладки запросов Audience Network

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

  1. Откройте Monetization Manager.
  2. Нажмите Управлять объектом монетизации
  3. Нажмите Настройки объекта монетизации > Отладчик запросов в верхнем правом углу.
  4. Нажмите Пуск, чтобы отслеживать запросы от приложения или сайта.

Откройте приложение на тестовом устройстве iOS или Android, чтобы активировать плейсменты Audience Network. Инструмент для отладки запросов отобразит запросы рекламы. Убедитесь, что в этих запросах правильно указаны ID плейсмента, название пакета или сборки и т. д.

Для этого нельзя использовать симулятор iOS или Android — только настоящее устройство.

Чтобы инструмент отслеживал запросы рекламы из приложения Facebook, вы должны войти в это приложение на тестовом устройстве.

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

  1. Убедитесь, что вы используете настоящее устройство, а не симулятор.
  2. Убедитесь, что на тестовом устройстве установлено необходимое вам приложение Facebook.
  3. Проверьте, есть ли у тестировщика, выполнившего вход на Facebook на тестовом устройстве, роль в вашей компании.
  4. Если вы используете промежуточную платформу, убедитесь, что она отправляет запросы в Facebook Audience Network.


Шаг 4. Тестирование с тестовой рекламой

Убедитесь, что тестировщику приложения назначена необходимая роль в Business Manager. Мы рекомендуем этот метод тестирования, потому что он позволяет увидеть настоящую рекламу на настоящих устройствах. Подробнее о рекомендуемом методе тестирования читайте в разделе Тестирование с настоящей рекламой.

Однако, как указано в предыдущем разделе, в некоторых случаях невозможно проверить, как будет выглядеть настоящая реклама в интерфейсе приложения. Кроме того, вы не можете быть уверены в том, что приложение получит именно рекламу с изображением, видеорекламу или рекламу с кольцевой галереей. Запросы настоящей рекламы не позволяют указать требуемое оформление и формат. Что, если вы хотите протестировать в интерфейсе приложения рекламу, содержащую видео в портретной ориентации?

Если вам нужно запросить тестовую рекламу, воспользуйтесь следующей строкой тестового типа рекламы, чтобы объединить ID плейсмента с "#" при запуске объекта рекламы на Facebook. Шаблон ID плейсмента для запроса тестовой рекламы выглядит следующим образом: TEST_AD_TYPE#YOUR_PLACEMENT_ID.

Ни в коем случае не открывайте общий доступ к приложению с указанным выше кодом, потому что этот код позволяет показывать только тестовую рекламу. Используйте вместо него макрос предварительной обработки, например DEBUG или TESTING, а затем #ifdef, по которому тестовую сборку можно будет отличить от сборки для выпуска.

Таблица типа тестовой рекламы

Тип тестовой рекламы Описание Поддерживаемый формат рекламы

VID_HD_16_9_46S_APP_INSTALL

Реклама 16x9 с HD-видео продолжительностью 46 секунд и призывом к действию для установки приложения

Вставки, видео с бонусами, нативная реклама

VID_HD_16_9_46S_LINK

Реклама 16x9 с HD-видео продолжительностью 46 секунд и призывом к действию для перехода по ссылке

Вставки, видео с бонусами, нативная реклама

VID_HD_16_9_15S_APP_INSTALL

Реклама 16x9 с HD-видео продолжительностью 15 секунд и призывом к действию для установки приложения

Вставки, видео с бонусами, нативная реклама

VID_HD_16_9_15S_LINK

Реклама 16x9 с HD-видео продолжительностью 15 секунд и призывом к действию для перехода по ссылке

Вставки, видео с бонусами, нативная реклама

VID_HD_9_16_39S_APP_INSTALL

Реклама 9x16 с HD-видео продолжительностью 39 секунд и призывом к действию для установки приложения

Вставки, видео с бонусами, нативная реклама

VID_HD_9_16_39S_LINK

Реклама 9x16 с HD-видео продолжительностью 39 секунд и призывом к действию для перехода по ссылке

Вставки, видео с бонусами, нативная реклама

IMG_16_9_APP_INSTALL

Реклама 16x9 с изображением и призывом к действию для установки приложения

Баннеры, вставки, нативная реклама

IMG_16_9_LINK

Реклама 16x9 с изображением и призывом к действию для перехода по ссылке

Баннеры, вставки, нативная реклама

CAROUSEL_IMG_SQUARE_APP_INSTALL

Квадратная реклама с кольцевой галереей и призывом к действию для установки приложения

Вставки, нативная реклама

CAROUSEL_IMG_SQUARE_LINK

Квадратная реклама с кольцевой галереей и призывом к действию для перехода по ссылке

Вставки, нативная реклама

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

Пример для запроса тестовой рекламы с помощью кода на устройствах iOS

Например, чтобы запросить для своего приложения iOS тестовую видеорекламу в формате 9:16 и с кнопкой призыва к действию для установки приложения, вам понадобится запустить объект FBNativeAd со следующей строкой кода:

[FBNativeAd *nativeAd = [[FBNativeAd alloc] initWithPlacementID:@"VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID"];

Вы можете выполнить код выше, чтобы запросить тестовую рекламу в проекте NativeAdSample из папки образцов Audience Network SDK.

Либо, если вам нужно запросить тестовую рекламу с произвольным форматом материалов, при тестировании на устройстве Android вы увидите следующее сообщение в Logcat:

#ifdef DEBUG
[FBAdSettings setLogLevel:FBAdLogLevelLog];
[FBAdSettings addTestDevice:@"HASHED_ID"];
#endif

Вы увидите следующее сообщение:

[FBAudienceNetworkLog/FBAdSettings:94] 
When testing your app with Facebook ad units,  
you must specify the device hashed ID to ensure the delivery of test ads, 
add the following code before loading an ad: `[FBAdSettings addTestDevice:@"HASHED_ID"]`
Test mode device hash: bd675f960298a92003630d76fa612b1706b745ab

Замените HASHED_ID на хэш устройства в тестовом режиме, указанный в записи выше.

По завершении тестирования удалите настройку тестового устройства с помощью этого кода:

[FBAdSettings clearTestDevice:[FBAdSettings testDeviceHash]]; 

Пример для запроса тестовой рекламы с помощью кода на устройствах Android

Чтобы запросить для своего приложения Android тестовую видеорекламу в формате 9:16 и кнопкой призыва к действию для установки приложения, вам понадобится запустить объект NativeAd со следующей строкой кода:

nativeAd = new NativeAd(this, "VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID");

Либо, если вам нужно запросить тестовую рекламу с произвольным форматом материалов, при тестировании на устройстве Android вы увидите следующее сообщение в Logcat:

Журнал: Хэш устройства в тестовом режиме: HASHED_ID Журнал: При тестировании приложения с рекламными объектами на Facebook необходимо указать хэшированный ID устройства, чтобы гарантировать показ тестовой рекламы. Перед загрузкой рекламы добавьте следующий код: AdSettings.addTestDevice("HASHED ID");

Для тестирования рекламы на устройстве добавьте следующую строку кода перед загрузкой рекламы:

AdSettings.addTestDevice("HASHED ID");

Если вы хотите протестировать рекламу на нескольких устройствах, просто создайте список строк, который будет добавлен перед загрузкой рекламы:

List<String> testDevices = new ArrayList<>();
testDevices.add("HASHED_ID_1");
testDevices.add("HASHED_ID_2");
AdSettings.addTestDevices(testDevices);

По завершении тестирования удалите настройку тестового устройства с помощью этого кода:

AdSettings.clearTestDevices();

Пример для запроса тестовой рекламы на панели агрегации

Помимо запроса тестовой рекламы из кода вы можете настроить значение ID плейсмента с тестовым типом рекламы на панели агрегации (если ваше приложение использует агрегацию). Например, если ваше приложение использует MoPub, вы можете изменить сеть Facebook и настроить значение ID плейсмента для нативной рекламы на VID_HD_9_16_39S_APP_INSTALL#YOUR_PLACEMENT_ID. Ваше приложение получит тестовую видеорекламу в формате 9:16 и с кнопкой призыва к действию для установки приложения.



Шаг 5. Контрольный список для проверки интеграции рекламы из Audience Network

  1. Установите на тестовом устройстве приложение Facebook и войдите в него.
  2. Добавьте людей, которые тестируют вашу рекламу в Audience Network, в свой аккаунт Business Manager.
  3. Не забудьте инициализировать экземпляр рекламы с ID плейсмента, созданным в Business Manager. См. статью Начало работы.
  4. Убедитесь, что приложение успешно запрашивает настоящую рекламу из Audience Network. Для диагностики используйте коды ошибок Audience Network и инструмент для отладки запросов Audience Network.
  5. Убедитесь, что реклама полностью видна пользователям приложения.
  6. Используйте тестовую рекламу, чтобы проверить, как реклама отображается в пользовательском интерфейсе. Не забудьте удалить сниппет кода тестовой рекламы перед добавлением приложения в магазин приложений. Если вы этого не сделаете, в приложении будет отображаться только тестовая реклама.