- 实现了Android SDK的完整IM功能接口,包括消息、群组、好友、会话等核心功能 - 添加了消息收发、历史记录、撤回编辑等完整的消息操作能力 - 实现了群组管理功能,包括创建、成员管理、权限设置等操作 - 添加了好友关系链管理,支持添加、删除、分组等操作 - 实现了会话管理功能,包括置顶、免打扰、已读状态等 - 添加了黑名单、资料管理、搜索等辅助功能 - 补齐了批量操作接口,提升客户端操作效率 - 实现了WebSocket连接管理和事件监听机制 - 添加了离线消息同步和状态管理功能
49 行
1.4 KiB
Objective-C
49 行
1.4 KiB
Objective-C
#import <React/RCTBridgeModule.h>
|
|
#import <React/RCTEventEmitter.h>
|
|
|
|
@interface XuqmPushModule : RCTEventEmitter <RCTBridgeModule>
|
|
@end
|
|
|
|
@implementation XuqmPushModule
|
|
|
|
RCT_EXPORT_MODULE(XuqmPushModule);
|
|
|
|
- (NSArray<NSString *> *)supportedEvents {
|
|
return @[@"XuqmPushToken"];
|
|
}
|
|
|
|
+ (BOOL)requiresMainQueueSetup {
|
|
return NO;
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(detectVendor:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject) {
|
|
NSString *vendor = @"APNS";
|
|
#if TARGET_OS_SIMULATOR
|
|
vendor = @"FCM";
|
|
#endif
|
|
resolve(vendor);
|
|
}
|
|
|
|
RCT_EXPORT_METHOD(registerPush:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject) {
|
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
[[UIApplication sharedApplication] registerForRemoteNotifications];
|
|
resolve(@(YES));
|
|
});
|
|
}
|
|
|
|
// Called by the AppDelegate to report the device token
|
|
- (void)didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
|
|
const unsigned char *dataBuffer = (const unsigned char *)[deviceToken bytes];
|
|
NSUInteger dataLength = [deviceToken length];
|
|
NSMutableString *hexString = [NSMutableString stringWithCapacity:(dataLength * 2)];
|
|
for (NSUInteger i = 0; i < dataLength; ++i) {
|
|
[hexString appendFormat:@"%02x", dataBuffer[i]];
|
|
}
|
|
NSString *token = [hexString copy];
|
|
[self sendEventWithName:@"XuqmPushToken" body:@{@"token": token, @"vendor": @"APNS"}];
|
|
}
|
|
|
|
@end
|