Как безопасно использовать iOS AdvertisingIdentifier? - PullRequest
0 голосов
/ 02 мая 2019

Согласно документации Apple :

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

ИтакИсходя из этого, приведенный ниже код должен работать безопасно и соответствовать документации Apple:

var advertisingID: String? {
    if ASIdentifierManager.shared().isAdvertisingTrackingEnabled == true {
        return nil
    } else {
        return ASIdentifierManager.shared().advertisingIdentifier.uuidString
    }
}

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

Этот код кажется мне правильным в соответствии с документацией Apple.

При этом,оно не соответствует названию свойства и не подходит для проектов с открытым исходным кодом на GitHub.

Ниже приведено несколько проектов с открытым исходным кодом, ссылки на которые делают это по-другому.

DeviceInfo :

return ASIdentifierManager.shared().isAdvertisingTrackingEnabled ? ASIdentifierManager.shared().advertisingIdentifier.uuidString : ""

дрифтер :

// Check whether advertising tracking is enabled
guard ASIdentifierManager.shared().isAdvertisingTrackingEnabled else {
    return nil
}
// Get and return IDFA
return ASIdentifierManager.shared().advertisingIdentifier.uuidString

Как видите, вместо того, чтобы возвращать это значение, если оно false, этирешения возвращают advertisingIdentifier, если isAdvertisingTrackingEnabled равно true.Это не то, что говорится в документации Apple.Но это имеет смысл, учитывая имя свойства.


Так что мой вопрос, который является правильным?Документация Apple неверна?Или эти проекты с открытым исходным кодом делают это неправильно?Или я просто упускаю что-то очевидное, и оба проекта с открытым исходным кодом и документация Apple верны?

1 Ответ

0 голосов
/ 02 мая 2019

Вы можете сделать все это, если значение false.Но обычное использование, которое предназначено для таргетинга объявлений, должно выполняться только при значении true.Поэтому подход к библиотекам является правильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...