clearFcmToken method

Future<void> clearFcmToken()

Clears the stored FCM token. Call this on sign out.

Clears both new and legacy keys to ensure clean state.

Implementation

Future<void> clearFcmToken() async {
  _cachedFcmToken = null;
  _hasFcmTokenInitialized = false;
  await _tokenRefreshSubscription?.cancel();
  _tokenRefreshSubscription = null;

  final prefs = await SharedPreferences.getInstance();
  await prefs.remove(_fcmTokenKey);
  await prefs.remove(_legacyFcmTokenKey); // Clear legacy key too
  logd('FCM token cleared');
}