addGeTuiEventHandler function
void
addGeTuiEventHandler({
- EventHandler? onReceiveDeviceToken,
- EventHandlerMessageModel? onReceiveMessageData,
- EventHandlerMessageModel? onNotificationMessageArrived,
- EventHandlerBool? onReceiveOnlineState,
- EventHandlerMessageModel? onNotificationMessageClicked,
- EventHandler? onRegisterVoIpToken,
- EventHandler? onAppLinkPayload,
- EventHandlerMap? onReceiveVoIpPayLoad,
消息监听
Implementation
void addGeTuiEventHandler({
/// Android 集成了厂商推送通道 获取厂商token
/// ios deviceToken deviceToken 不为空 表示个推服务注册成功
EventHandler? onReceiveDeviceToken,
/// android ios 收到的透传内容
EventHandlerMessageModel? onReceiveMessageData,
/// android 通知到达,只有个推通道下发的通知会回调此方法
/// ios 收到APNS消息
EventHandlerMessageModel? onNotificationMessageArrived,
/// android 在线状态
EventHandlerBool? onReceiveOnlineState,
/// android 通知点击,只有个推通道下发的通知会回调此方法
EventHandlerMessageModel? onNotificationMessageClicked,
/// ios voIpToken
EventHandler? onRegisterVoIpToken,
/// ios 收到AppLink消息
EventHandler? onAppLinkPayload,
/// ios 收到VoIP消息
EventHandlerMap? onReceiveVoIpPayLoad,
}) {
if (!_supportPlatform) return;
_channel.setMethodCallHandler((MethodCall call) async {
switch (call.method) {
case 'onReceiveOnlineState':
if (onReceiveOnlineState == null) return;
return onReceiveOnlineState(call.arguments as bool?);
case 'onReceiveMessageData':
if (onReceiveMessageData == null) return;
final Map<dynamic, dynamic>? map =
call.arguments as Map<dynamic, dynamic>?;
if (map != null)
return onReceiveMessageData(GTMessageModel.fromJson(map));
return onReceiveMessageData(null);
case 'onNotificationMessageArrived':
if (onNotificationMessageArrived == null) return;
final Map<dynamic, dynamic>? map =
call.arguments as Map<dynamic, dynamic>?;
if (map != null)
return onNotificationMessageArrived(GTMessageModel.fromJson(map));
return onNotificationMessageArrived(null);
case 'onNotificationMessageClicked':
if (onNotificationMessageClicked == null) return;
final Map<dynamic, dynamic>? map =
call.arguments as Map<dynamic, dynamic>?;
if (map != null)
return onNotificationMessageClicked(GTMessageModel.fromJson(map));
return onNotificationMessageClicked(null);
case 'onReceiveDeviceToken':
if (onReceiveDeviceToken == null) return;
return onReceiveDeviceToken(call.arguments.toString());
case 'onAppLinkPayload':
if (onAppLinkPayload == null) return;
return onAppLinkPayload(call.arguments.toString());
case 'onRegisterVoIpToken':
if (onRegisterVoIpToken == null) return;
return onRegisterVoIpToken(call.arguments.toString());
case 'onReceiveVoIpPayLoad':
if (onReceiveVoIpPayLoad == null) return;
return onReceiveVoIpPayLoad(call.arguments as Map<dynamic, dynamic>?);
default:
throw UnsupportedError('Unrecognized Event');
}
});
}