增加群组通知过滤

This commit is contained in:
gem
2025-11-20 14:27:36 +08:00
parent cdc12e513c
commit a35eba1160
23 changed files with 1062 additions and 126 deletions

View File

@@ -18,6 +18,14 @@ public class IMMananger: BaseServiceManager {
self["updateFcmToken"] = updateFcmToken
self["setAppBackgroundStatus"] = setAppBackgroundStatus
self["networkStatusChanged"] = networkStatusChanged
self["setNotificationVisibilityRule"] = setNotificationVisibilityRule
self["setNotificationVisibilityRules"] = setNotificationVisibilityRules
self["getNotificationVisibilityRule"] = getNotificationVisibilityRule
self["getNotificationVisibilityRules"] = getNotificationVisibilityRules
self["enableNotificationVisibilityRule"] = enableNotificationVisibilityRule
self["disableNotificationVisibilityRule"] = disableNotificationVisibilityRule
self["deleteNotificationVisibilityRule"] = deleteNotificationVisibilityRule
self["resetNotificationVisibilityRules"] = resetNotificationVisibilityRules
}
fileprivate func addObservers() {
@@ -107,6 +115,38 @@ public class IMMananger: BaseServiceManager {
func networkStatusChanged(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkNetworkStatusChanged(BaseCallback(result: result), methodCall[string: "operationID"])
}
func setNotificationVisibilityRule(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkSetNotificationVisibilityRule(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[int32: "notificationType"], methodCall[int32: "visibilityType"])
}
func setNotificationVisibilityRules(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkSetNotificationVisibilityRules(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[string: "rulesJSON"])
}
func getNotificationVisibilityRule(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkGetNotificationVisibilityRule(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[int32: "notificationType"])
}
func getNotificationVisibilityRules(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkGetNotificationVisibilityRules(BaseCallback(result: result), methodCall[string: "operationID"])
}
func enableNotificationVisibilityRule(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkEnableNotificationVisibilityRule(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[int32: "notificationType"])
}
func disableNotificationVisibilityRule(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkDisableNotificationVisibilityRule(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[int32: "notificationType"])
}
func deleteNotificationVisibilityRule(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkDeleteNotificationVisibilityRule(BaseCallback(result: result), methodCall[string: "operationID"], methodCall[int32: "notificationType"])
}
func resetNotificationVisibilityRules(methodCall: FlutterMethodCall, result: @escaping FlutterResult) {
Open_im_sdkResetNotificationVisibilityRules(BaseCallback(result: result), methodCall[string: "operationID"])
}
}
public class ConnListener: NSObject, Open_im_sdk_callbackOnConnListenerProtocol {