Как протестировать рекламные объявления в сети Facebook через TestFlight?
Я пытаюсь интегрировать сеть Аудитории в свое приложение. Объявления работают правильно на тренажере и устройстве, когда я развертываю поверх XCode.
Я хочу распространять сборку над TestFlight, чтобы убедиться, что она будет работать в режиме выпуска. Когда я пытаюсь прямое развертывание с XCode на свое устройство в режиме выпуска, Facebook возвращает "Без заполнения" для объявлений. Объявления также не отображаются в TestFlight.
Есть ли идеи о показе объявлений для устройств в сборках TestFlight?
Ответы
Ответ 1
Для этого могут быть две основные причины. Во-первых, пользователь или тестеры не могли войти в приложение Facebook на устройстве. Тогда это может привести к Error 1001 - No Fill Rate
.
1001 - Без заполнения
Это общая ошибка, наблюдаемая во время тестирования, и относится к "Без заполнения", ответ; наиболее распространенной причиной этого является то, что пользователь не вошел в систему к Native Facebook App на тестовом устройстве.
Код ответа сервера SDK Код = 1001 Ошибка "Нет заполнения" 1001 - Нет Заполните. Возможно, из-за одного или нескольких из следующих:
- Пользователь не вошел в приложение Native Facebook на мобильном устройстве.
- Включено ограничение отслеживания объявлений (iOS)
- Нет инвентаризации объявлений для текущего пользователя
- На вашем тестовом устройстве должно быть установлено собственное приложение Facebook.
- Ваше приложение должно попытаться сделать другое запрос через 30 секунд.
Это то, что документация сообщает вам об ошибке 1001.
Во-вторых, вы все еще можете находиться в режиме отладки и, следовательно, вы не видите рекламу в режиме выпуска. Чтобы исправить эту ошибку, загрузите новейшие профили обеспечения из Центра разработчиков Apple и включите приложение Facebook, как было выпущено. Вы можете сделать это, войдя в консоль разработчика Facebook и выбрав свое приложение. Затем с левой стороны вы должны иметь этот столбец, в котором вы выбираете СТАТУС и ОБЗОР.
Затем перейдите в раздел "Хотите ли вы сделать это приложение общедоступным?" переключитесь на YES.
Это сделает ваше приложение доступным для всех, что означает, что объявления будут всплывать со всеми вашими тестерами.
Мои два цента из моего опыта здесь состоят в том, что вы не делали вас общедоступным или не добавляли пользователей в качестве бета-тестеров. Поэтому facebook не смог доставить какие-либо рекламные объявления, которые бросали ошибку 1001. Это должно быть быстрым решением, открыв приложение и проверив ваши тестеры через приложение facebook. У меня была аналогичная проблема с другой частью SDK для Facebook, которая была исправлена публичным выпуском.
Надеюсь, что это поможет, Джулиан
Ответ 2
Если у вас есть реклама во многих местах, вы можете поместить этот код в AppDelegate
Swift 3
import FBAudienceNetwork
private func facebookAdsControl() {
#if RELEASE
self.clearTestDevicesForFacebookAds()
#else
self.addTestDevicesForFacebookAds()
#endif
}
///remove for live mode
private func addTestDevicesForFacebookAds(){
let key = FBAdSettings.testDeviceHash()
FBAdSettings.setLogLevel(FBAdLogLevel.Log)
FBAdSettings.addTestDevice(key)
}
///add for live mode
private func clearTestDevicesForFacebookAds() {
FBAdSettings.clearTestDevices()
}
Этот код гарантирует, что ваши тестовые объявления будут отображаться на testflight или на симуляторе/устройстве, а также убедитесь, что при выпуске в хранилище приложений ваши объявления будут показаны как LIVE-объявления, а тестовые устройства будут очищены.
вызовите: facebookAdsControl()
в файле didFinishLaunchingWithOptions
Вы также можете вызвать этот код в коде, где у вас есть объявления, но не забудьте позвонить ему до adView.load()
Чтобы использовать макрос, вы должны добавить флаги в свои быстрые флаги в настройках сборки
Я надеюсь, что это поможет кому-то, поскольку Документы Facebook не очень понятны, как я выяснил.
Ответ 3
Я все еще сталкивался с такой же проблемой после применения вышеуказанных решений. Я решил, добавив deviceHashId: -
FBNativeAd *nativeAd;
static NSString *adPlacementId = @"xxxxxxxxx";
- (void)showNativeAd:(UIViewController *)vc
{
nativeAd = [[FBNativeAd alloc] initWithPlacementID:adPlacementId];
nativeAd.delegate = self;
NSLog(@"isTestMode1: %d",[FBAdSettings isTestMode]);
NSString *testDeviceKey = [FBAdSettings testDeviceHash];
if (testDeviceKey) {
[FBAdSettings addTestDevice:testDeviceKey];
}
[nativeAd loadAd];
}
У меня есть какая-то другая проблема, если у кого-нибудь есть вопрос, ответьте эту ссылку
Ответ 4
Ошибка 1001 - Нет скорости заполнения.
Если вы хотите протестировать настоящие объявления, выполните следующие действия:
- Записано приложение Facebook
- Открыть Safari
- Найти в google "macbook air buy", открыть любой магазин, добавить macbook в корзину
- Откройте приложение Facebook, нажмите, чтобы обновить историю Facebook.
- Откройте приложение
- Повторите шаги 2-5 с разными условиями поиска, пока объявления не появятся в вашем приложении.
Для наших тестовых устройств он работает почти каждый раз.