getFlagModification method
Implementation
@override
Modification? getFlagModification(String key) {
// First check if this flag belongs to a hidden campaign
final visitorMod = super.getFlagModification(key);
print('🔍 getFlagModification called for key: $key');
print(' hiddenCampaigns: $hiddenCampaigns');
print(' visitorMod campaignId: ${visitorMod?.campaignId}');
if (visitorMod != null && hiddenCampaigns.contains(visitorMod.campaignId)) {
print(
'🚫 QA Override: Flag "$key" belongs to hidden campaign ${visitorMod.campaignId}, returning null (default value)');
return null;
}
// Then check for QA forced modifications
if (qaaModifications.containsKey(key)) {
print('🎯 QA Override: Using QA modification for key: $key');
return qaaModifications[key];
}
// Finally return visitor modification (production value)
print(
'📦 Visitor: Using visitor modification for key: $key, value: ${visitorMod?.value}');
return visitorMod;
}