#swift #admob
#swift #admob
Вопрос:
Я добавил Google Admob framework для показа рекламы в приложении и получения ошибки, связанной с использованием отслеживания пользователей, в разделе конфиденциальности приложения itunes connect. iTunesConnect не позволяет отправлять приложение. После этого у меня есть соответствующий ключ и описание в info.plist.
<key>NSUserTrackingUsageDescription</key>
<string>App would like to access IDFA for tracking purpose</string>
А также добавил код для запроса разрешения на странице входа в систему и вызвал его в viewDidLoad.
func requestPermission() {
if #available(iOS 14, *) {
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
// Tracking authorization dialog was shown
// and we are authorized
print("Authorized")
// Now that we are authorized we can get the IDFA
print(ASIdentifierManager.shared().advertisingIdentifier)
case .denied:
// Tracking authorization dialog was
// shown and permission is denied
print("Denied")
case .notDetermined:
// Tracking authorization dialog has not been shown
print("Not Determined")
case .restricted:
print("Restricted")
@unknown default:
print("Unknown")
}
}
} else {
// Fallback on earlier versions
}
}
Но по-прежнему ошибка не передается из iTunesConnect после загрузки новой сборки, я не могу отправить сборку.
Кто-нибудь сталкивался с тем же?
Как эта ошибка будет скрыта>
Комментарии:
1. Обновили ли вы новую конфиденциальность «Предварительный просмотр страницы продукта»? это новая краткая политика конфиденциальности. Похоже, вам нужно его обновить. Поскольку ваша кнопка «Опубликовать» отключена, я бы предположил, что вы этого не сделали. В нем будет указано «Опубликовано XX дней назад XXXX»
2. Да, @loremipsum bro, который также обновлен, пожалуйста, смотрите Обновленный Скриншот целиком для раздела конфиденциальности, и кнопка публикации по-прежнему не включена.
3. Вы говорите, что данные не собираются, но в то же время вы используете IDFA. Это сбор. Возможно, вы не получаете IDFA самостоятельно, но AdMob есть. Вы должны отвечать на вопросы о конфиденциальности, чтобы соответствовать Политике конфиденциальности AdMob. В вашем описании использования также указано отслеживание, но в вашей политике конфиденциальности указано «нет», это отключение. Вы несете ответственность за все, что делает AdMob.
4. Возможно, вам захочется еще раз проверить, есть ли в вашем приложении версия для Mac. Несмотря на то, что он был отключен в моем приложении, я обнаружил, что он включен в целевых установках Pods.
5. Спасибо @loremipsum, я изменил раздел конфиденциальности и выбрал раздел идентификатора устройства и сторонней рекламы, теперь я могу отправить сборку.
Ответ №1:
Вам нужно только использовать свойство NSUserTrackingUsageDescription в info.plist, если вы собираете пользовательские данные для рекламы и / или сторонних библиотек.
Если вы сохраняете информацию в своем приложении или для целей аутентификации, вы не отслеживаете; следовательно, вам не нужно это свойство. (Надеюсь, я правильно это истолковал.)
Другими словами, информация, предоставленная вами в разделе конфиденциальности приложений App Store Connect, несовместима со свойством NSUserTrackingUsageDescription в info.plist.
Комментарии:
1. Спасибо за эту информацию, но как кто-либо должен это знать? Я часами боролся с отключенной кнопкой публикации. Есть ли у вас ссылка на какую-либо документацию, в которой перечислено выше?
2. ОБНОВЛЕНИЕ: решением для меня было вернуться назад и снять все флажки, а затем добавить их обратно по одному, для которых мы собираем данные.
Ответ №2:
Проблема связана с тем, как настроен раздел «Конфиденциальность приложения». Основываясь на ваших решениях, он определил, что вы не собираете никаких данных.
Это неверно, потому что вы используете IDFA (рекламный идентификатор), поэтому вы собираете «идентификаторы».
Вам необходимо пересмотреть «Конфиденциальность приложения» и изменить свой выбор.
Ответ №3:
Я получаю аналогичную ошибку: «Ваше приложение содержит описание NSUserTrackingUsageDescription, указывающее, что вы будете запрашивать разрешение на отслеживание пользователей»..
Я удалил описание NSUserTrackingUsageDescription из файла info.plist, а также библиотеку UMP в новой сборке и все, что с ней связано.
И все запросы Admob имеют [GADMobileAds.sharedInstance.requestConfiguration тегForChildDirectedTreatment:ДА];
Но Appstoreconnect продолжает выдавать ту же ошибку. Похоже, что appsstoreconnect проверяет все сборки, даже если они не используются.
Комментарии:
1. удалось ли вам найти решение этой проблемы? У меня аналогичная проблема, когда уже выпущенная версия приложения использует описание NSUserTrackingUsageDescription, но новая версия, которую я пытаюсь выпустить, этого не делает. Конфиденциальность приложения не может быть обновлена, поскольку в нем говорится, что я все еще использую этот ключ.
2. Нет, у меня нет решения.
Ответ №4:
Вы должны указать причину, по которой вы хотите использовать описание NSUserTrackingUsageDescription Это приложение хотело бы использовать это для повышения производительности
Комментарии:
1. он уже сделал <key>NSUserTrackingUsageDescription</key> <string>Приложение хотело бы получить доступ к IDFA для целей отслеживания</string>