Получить IDFA iOS 8 всегда доступен, даже если IDFA отключен в настройках

Мне нужно использовать IDFA в моем приложении (iOS8). Я действую следующим образом, чтобы получить строку IDFA:

- (NSString *)identifierForAdvertising
{
    if([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled])
    {
        NSUUID *IDFA = [[ASIdentifierManager sharedManager] advertisingIdentifier];

        return [IDFA UUIDString];
    }
    return nil;
}

В этом методе я проверяю, включил ли пользователь отслеживание IDFA в настройках этого устройства. Это работает хорошо. Я заметил, что IDFA постоянно меняется, если я включаю/выключаю отслеживание IDFA в настройках своего устройства.

НО: даже если IDFA отключен (в настройках iOS), я могу получить его, позвонив напрямую:

NSLog(@"==>IDFA %@", [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]);

И это все равно, даже если я перезапущу свое приложение. Я не понимаю, почему и как именно это работает.

У кого-то есть идея? Спасибо. С уважением,


person Lapinou    schedule 20.01.2015    source источник


Ответы (1)


В документации для isAdvertisingTrackingEnabled указано -

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

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

person Paulw11    schedule 20.01.2015
comment
Идеальный! Большое спасибо Paulw11 ;) - person Lapinou; 20.01.2015