deleteToken method

  1. @override
Future<void> deleteToken()
override

Implementation

@override
Future<void> deleteToken() async {
  if (!_isGmsAvailable) {
    return;
  }

  if (Platform.isIOS) {
    // avoid attempts to deleteToken from iOS before retrieving native token
    // Sentry FirebaseException
    // [firebase_messaging/apns-token-not-set] APNS token has not been set yet.
    // Please ensure the APNS token is available by calling `getAPNSToken()`.
    final existingToken = await _firebaseMessaging.getAPNSToken();
    if (existingToken == null) {
      return;
    }
  }

  try {
    await _firebaseMessaging.deleteToken();
  } on Object catch (e, stack) {
    _logger.error(
      'Failed to deleteToken from firebase messaging',
      error: e,
      stackTrace: stack,
    );
  }
}