private async Task ProcessFailedTokensIfAny <T>(FcmTokenProvider fcmTokenProvider, BatchResponse response, IReadOnlyList <IFcmToken> tokens) { var failedTokens = tokens .Where((tokenRecord, i) => DeliveryFailedBecauseTokenIsInvalid <T>(tokenRecord, i, response.Responses)) .ToList(); if (failedTokens.Any()) { await fcmTokenProvider.ProcessFailedTokens(failedTokens); } }
public void WithTokenProvider(FcmTokenProvider tokenProvider) { _fcmTokenProvider = tokenProvider; }