withServiceAccount($this->serviceAccount) ->createMessaging() ->send( CloudMessage::new() ->withToken($token) ->withData($body) ->withHighestPossiblePriority() ); } catch (NotFound) { $validTokens = []; foreach ($this->identityQueryFactory->create()->byFirebaseToken($token)->fetch() as $_user) { Debugger::log($_user->getId() . ' ' . $token, 'firebase-not-found'); foreach ($_user->getFirebaseTokens() as $userToken) { if ($userToken === $token) { continue; } $validTokens[] = $userToken; } $_user->setFirebaseTokens($validTokens); } $this->entityManager->flush(); } } }