check method
The drop this gate decides, or null to let the request continue.
Implementation
@override
RoutingDropped? check(CampaignRequest request) {
final screen = _currentScreen();
if (request.campaign.allowsScreen(screen)) return null;
_log.d(
'Dropped — screen not targeted '
'(current=${screen ?? '<unset>'}, '
'targets=${request.campaign.targetScreenNames})',
campaign: request.campaign.campaignKey);
request.driver.policy
.onDropped(DropReason.screenNotTargeted, 'screen not targeted');
return RoutingDropped(
DropReason.screenNotTargeted,
deliveryDetail: {
'target_screens': request.campaign.targetScreenNames.take(20).toList(),
},
);
}