Skip to content

Commit 2e7bb66

Browse files
authored
Merge pull request #498 from easemob/dev_3.9.0
Dev 3.9.0
2 parents cb95512 + 799e9c0 commit 2e7bb66

File tree

98 files changed

+8479
-4178
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+8479
-4178
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
## NEXT
22

3+
## 3.9.0
4+
5+
- 增加单人推送免打扰接口;
6+
7+
- 增加api referance;
8+
9+
- 增加renewToken api;
10+
11+
- 修改消息callback方式;
12+
13+
- iOS移除自动绑定deviceToken,如需使用,需要在iOS端单独增加;
14+
15+
- android移除多余权限;
16+
17+
- 修改已知bug;
18+
19+
## 3.8.9
20+
21+
- 增加单聊消息免打扰;
22+
- 去除不必要的信息收集;
23+
- 修复安卓某些场景下数据库损坏导致崩溃;
24+
- 移除对FCM11.4.0的依赖;
25+
- 修复安卓WAKE_LOCK权限导致的崩溃;
26+
- 增加用户被全局禁言时发消息错误码;
27+
- 增强数据传输安全性;
28+
- 增强本地数据存储安全性;
29+
- 新增使用Token登录时,Token过期的回调;
30+
- 修复拉取历史漫游消息不全的bug;
31+
- 默认使用https;
32+
- 优化登录速度;
33+
334
## 3.8.3+9
435

536
- 将设置推送相关操作从EMPushConfigs中移到EMPushManager中;

FlutterQA.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
iOS如何绑定deviceToken?
2+
3+
OC
4+
5+
```objectivec
6+
#import "AppDelegate.h"
7+
// 引入环信SDK
8+
#import <Hyphenate/Hyphenate.h>
9+
10+
@interface AppDelegate ()
11+
12+
@end
13+
14+
@implementation AppDelegate
15+
16+
17+
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
18+
19+
20+
// ...
21+
22+
23+
// // 获取UNUserNotificationCenter并申请[badge, alert, sound]权限。
24+
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
25+
[center requestAuthorizationWithOptions:
26+
UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound
27+
completionHandler:^(BOOL granted, NSError * _Nullable error) {
28+
if (granted) {
29+
dispatch_async(dispatch_get_main_queue(), ^{
30+
// 注册远程推送
31+
[application registerForRemoteNotifications];
32+
});
33+
}
34+
}];
35+
36+
37+
return YES;
38+
}
39+
40+
// 收到系统deviceToken获取成功回调
41+
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
42+
// 将deviceToken传给环信SDK
43+
[EMClient.sharedClient registerForRemoteNotificationsWithDeviceToken:deviceToken completion:nil];
44+
}
45+
46+
47+
48+
@end
49+
```
50+
51+
Swift
52+
53+
```swift
54+
import UIKit
55+
import Flutter
56+
// 引入环信SDK
57+
import HyphenateChat
58+
59+
@UIApplicationMain
60+
@objc class AppDelegate: FlutterAppDelegate {
61+
override func application(
62+
_ application: UIApplication,
63+
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
64+
) -> Bool {
65+
GeneratedPluginRegistrant.register(with: self);
66+
67+
// 获取UNUserNotificationCenter并申请[badge, alert, sound]权限。
68+
let center = UNUserNotificationCenter.current();
69+
center.requestAuthorization(options: [.badge, .alert, .sound]) { granted, error in
70+
if(granted){
71+
DispatchQueue.main.async {
72+
// 注册远程推送
73+
application.registerForRemoteNotifications();
74+
}
75+
}
76+
}
77+
78+
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
79+
}
80+
// 收到系统deviceToken获取成功回调
81+
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
82+
// 将deviceToken传给环信SDK
83+
EMClient.share.registerForRemoteNotifications(withDeviceToken: deviceToken, completion: nil)
84+
}
85+
}
86+
```

0 commit comments

Comments
 (0)