setConsumableDeliveryHandler method
Future<InappifySdkResult<void> >
setConsumableDeliveryHandler(
- InappifyConsumableDeliveryHandler? handler
override
Implementation
@override
Future<InappifySdkResult<void>> setConsumableDeliveryHandler(
InappifyConsumableDeliveryHandler? handler,
) async {
final previous = _deliveryHandler;
_deliveryHandler = handler;
NativeCallbacks.install(methodChannel);
NativeCallbacks.delivery = (call) async {
final selected = _deliveryHandler;
if (selected == null) return InappifyDeliveryResult.retryLater.name;
try {
final data = Map<String, dynamic>.from(call.arguments as Map);
return (await selected(InappifyConsumableDelivery.fromMap(data))).name;
} catch (_) {
return InappifyDeliveryResult.retryLater.name;
}
};
final result = await _invokeResult<void>(
method: InappifyChannelContract.setConsumableDeliveryHandler,
payload: {'enabled': handler != null},
);
if (!result.isSuccess) _deliveryHandler = previous;
return result;
}