trackingAuthorizationStatus property
Future<TrackingStatus>
trackingAuthorizationStatus
Get tracking authorization status without showing a dialog.
Consider using this value if you want to show a custom tracking explainer dialog before the system dialog.
// If the system can show an authorization request dialog
if (await AppTrackingTransparency.trackingAuthorizationStatus ==
TrackingStatus.notDetermined) {
// Show a custom explainer dialog before the system dialog
await showCustomTrackingDialog(context);
// Wait for dialog popping animation
await Future.delayed(const Duration(milliseconds: 200));
// Request system's tracking authorization dialog
await AppTrackingTransparency.requestTrackingAuthorization();
}
returns TrackingStatus.notSupported on Android
Implementation
static Future<TrackingStatus> get trackingAuthorizationStatus async {
if (defaultTargetPlatform == TargetPlatform.iOS) {
final int status =
(await _channel.invokeMethod<int>('getTrackingAuthorizationStatus'))!;
return TrackingStatus.values[status];
}
return TrackingStatus.notSupported;
}