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

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

Чтобы показать текстовую рекламу в симуляторе iOS или Android, нужно войти в режим тестирования и указать хэшированный ID устройства. Это первый шаг при тестировании интеграции. Рекомендуем также выполнить тестирование на настоящих устройствах с настоящей рекламой (см. инструкции ниже).

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

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

3. Тестирование с тестовой рекламой

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

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

В разделе «Audience Network» панели разработчика: https://developers.facebook.com/apps/<your_app_id>/audience-network/

Перейдите в раздел «Приложения» в левой панели под разделом «Audience Network» и прокрутите страницу до пункта «Инструмент для отладки запросов Audience Network». Нажмите кнопку Start, чтобы начать отслеживать запросы, которые отправляет ваше приложение.

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

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

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

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

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

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

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

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

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

  1. Откройте панель приложения и нажмите вкладку «Роли» слева.
  2. В разделе «Тестировщики» нажмите кнопку «Добавить тестировщиков». Кроме того, пользователям можно присвоить роль администратора или разработчика. Рекомендуем присвоить роль «Тестировщики» тем пользователям, которые будут тестировать приложение или сайт, но не должны просматривать его настройки на Facebook.
  3. Введите имя, ID на Facebook или имя пользователя человека, которое вы хотите добавить в качестве тестировщика, и нажмите «Отправить». Вы можете добавить несколько человек.
  4. Теперь вы должны увидеть людей, добавленных в качестве тестировщиков.

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

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

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

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

Коды ошибок в запросах настоящей рекламы

Когда вы будете тестировать интеграцию 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 минут. Кроме того, мы предлагаем настроить частоту обновления или частоту запроса.

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 секунд.
  • Если вам не удастся исправить проблему, отправьте нам отчет об ошибке.

Тестирование с тестовой рекламой

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

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

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

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

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

IMG_16_9_APP_INSTALL

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

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

IMG_16_9_LINK

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

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

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 секунд и призывом к действию для перехода по ссылке

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

CAROUSEL_IMG_SQUARE_APP_INSTALL

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

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

CAROUSEL_IMG_SQUARE_LINK

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

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

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

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

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

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

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

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

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

#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 на хэш устройства в тестовом режиме, указанный в записи выше.

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

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

[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 и с кнопкой призыва к действию для установки приложения.