IOSPush constructor
IOSPush( - AirshipModule module
)
Implementation
IOSPush(AirshipModule module) : _module = module {
if (Platform.isIOS) {
_module
.getEventStream("com.airship.flutter/event/override_presentation_options")
.listen((event) async {
print("Received override_presentation_options event: $event");
try {
final payload = PushPayload.fromJson(event['pushPayload']);
final requestId = event['requestId'] as String;
if (presentationOverridesCallback != null) {
try {
final result = await presentationOverridesCallback!.call(payload);
final options = result?.map((e) => e.name).toList();
await _module.channel.invokeMethod(
'push#ios#overridePresentationOptions',
{'requestId': requestId, 'options': options});
} catch (error, stack) {
print("Error in presentationOverridesCallback: $error\n$stack");
_module.channel.invokeMethod(
'push#ios#overridePresentationOptions',
{'requestId': requestId, 'options': null});
}
}
} catch (e, st) {
print("Failed to process push_received event: $e\n$st");
}
});
}
}