resolveOffering method
OfferingModel?
resolveOffering({
- required OfferingEvaluationContext evaluationContext,
- String? placement,
Resolves an offering using explicit, platform-independent inputs.
Implementation
OfferingModel? resolveOffering({
required OfferingEvaluationContext evaluationContext,
String? placement,
}) {
try {
if (usesServerTargeting) {
OfferingModel? find(String? identifier) {
if (identifier == null) return null;
for (final offering in offerings ?? <OfferingModel>[]) {
if (offering.identifier == identifier) return offering;
}
return null;
}
return find(placements?[placement]) ??
find(currentOfferingIdentifier) ??
offerings
?.where((offering) => offering.isDefault == true)
.firstOrNull;
}
return OfferingResolver.resolve(
offerings: offerings,
rules: rules,
placement: placement,
context: evaluationContext,
);
} catch (error) {
SdkLogger.error('Inappify offering resolution failed: ${error.runtimeType}');
return null;
}
}