getAdvertisingInfoAndCheckAuthorization static method

Future<AdvertisingInfoResponse> getAdvertisingInfoAndCheckAuthorization(
  1. bool check
)

Implementation

static Future<AdvertisingInfoResponse>
    getAdvertisingInfoAndCheckAuthorization(
  bool check,
) async {
  try {
    final isLimitAdTrackingEnabled =
        await AdvertisingId.isLimitAdTrackingEnabled;

    // Here, you can use the `check` parameter if you want extra logic.
    // Example: if check == true && isLimitAdTrackingEnabled == true, maybe treat as no ID.
    final advertisingId = await AdvertisingId.id(false);

    if (check && (isLimitAdTrackingEnabled ?? false)) {
      // If tracking is limited and check is required, treat ID as empty
      return AdvertisingInfoResponse.fallback();
    }

    return AdvertisingInfoResponse(
      id: advertisingId ?? '',
      isAdTrackingLimited: isLimitAdTrackingEnabled ?? false,
    );
  } catch (e, stack) {
    _logError('getAdvertisingInfoAndCheckAuthorization', e, stack);
    return AdvertisingInfoResponse.fallback();
  }
}