requestTrackingAuthorization static method

Future<TrackingAuthorizationStatus> requestTrackingAuthorization()

Display App Tracking Transparency authorization request on iOS. This has effect only on iOS

To display the App Tracking Transparency authorization request for accessing the IDFA, update your Info.plist to add the NSUserTrackingUsageDescription key with a custom message describing your usage. Here is an example description text:

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

The usage description appears in the App Tracking Transparency dialog box:

Learn more

For more info, read the documentation

Implementation

static Future<TrackingAuthorizationStatus>
    requestTrackingAuthorization() async {
  if (Platform.isIOS) {
    final result = await _pluginChannel
        .invokeMethod<int>('requestTrackingAuthorization');
    if (result != null)
      switch (result) {
        case 0:
          return TrackingAuthorizationStatus.notDetermined;
        case 1:
          return TrackingAuthorizationStatus.restricted;
        case 2:
          return TrackingAuthorizationStatus.denied;
        case 3:
          return TrackingAuthorizationStatus.authorized;
        default:
          return TrackingAuthorizationStatus.notDetermined;
      }
  }
  return TrackingAuthorizationStatus.notDetermined;
}