getStrategy method
Implementation
DefaultStrategy getStrategy() {
final currentSdkStatus = Flagship.getStatus();
final currentConsent = visitor.getConsent();
final currentQAStatus = Flagship.sharedInstance().isQAAssistantConnected;
// Vérifier si la stratégie doit être invalidée
if (_cachedStrategy == null ||
_lastSdkStatus != currentSdkStatus ||
_lastConsentStatus != currentConsent ||
_lastQAStatus != currentQAStatus) {
// Créer une nouvelle stratégie seulement si nécessaire
_cachedStrategy =
_createStrategy(currentSdkStatus, currentConsent, currentQAStatus);
// Sauvegarder l'état actuel
_lastSdkStatus = currentSdkStatus;
_lastConsentStatus = currentConsent;
_lastQAStatus = currentQAStatus;
}
// Review later because we fallback on NotReadyStrategy too often
return _cachedStrategy ?? NotReadyStrategy(visitor);
}