[React Native] Update RCTAdSupport

Summary:
No longer check for the `ASIdentifierManager` class. Since we only target iOS 7.0 and up, this is unnecessary. Instead, we should check for whether the `advertisingIdentifier` is non-nil. If it is, we send it; otherwise we send an error.
This commit is contained in:
Alex Akers
2015-07-06 10:22:02 -07:00
parent 7e70ee2e03
commit ca791dfe6f

View File

@@ -18,22 +18,18 @@ RCT_EXPORT_MODULE()
RCT_EXPORT_METHOD(getAdvertisingId:(RCTResponseSenderBlock)callback
withErrorCallback:(RCTResponseSenderBlock)errorCallback)
{
if ([ASIdentifierManager class]) {
callback(@[[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]]);
NSUUID *advertisingIdentifier = [ASIdentifierManager sharedManager].advertisingIdentifier;
if (advertisingIdentifier) {
callback(@[advertisingIdentifier.UUIDString]);
} else {
return errorCallback(@[@"as_identifier_unavailable"]);
errorCallback(@[@"as_identifier_unavailable"]);
}
}
RCT_EXPORT_METHOD(getAdvertisingTrackingEnabled:(RCTResponseSenderBlock)callback
withErrorCallback:(RCTResponseSenderBlock)errorCallback)
withErrorCallback:(__unused RCTResponseSenderBlock)errorCallback)
{
if ([ASIdentifierManager class]) {
BOOL hasTracking = [[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled];
callback(@[@(hasTracking)]);
} else {
return errorCallback(@[@"as_identifier_unavailable"]);
}
callback(@[@([ASIdentifierManager sharedManager].advertisingTrackingEnabled)]);
}
@end