Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions FlutterQA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
iOS如何绑定deviceToken?

```objectivec

#import "AppDelegate.h"
// 引入环信SDK
#import <Hyphenate/Hyphenate.h>

@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {


// ...


// // 获取UNUserNotificationCenter并申请[badge, alert, sound]权限。
UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
[center requestAuthorizationWithOptions:
UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound
completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted) {
dispatch_async(dispatch_get_main_queue(), ^{
// 注册远程推送
[application registerForRemoteNotifications];
});
}
}];


return YES;
}

// 收到系统deviceToken获取成功回调
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken{
// 将deviceToken传给环信SDK
[EMClient.sharedClient registerForRemoteNotificationsWithDeviceToken:deviceToken completion:nil];
}



@end

```

```swift

import UIKit
import Flutter
// 引入环信SDK
import HyphenateChat

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self);

// 获取UNUserNotificationCenter并申请[badge, alert, sound]权限。
let center = UNUserNotificationCenter.current();
center.requestAuthorization(options: [.badge, .alert, .sound]) { granted, error in
if(granted){
DispatchQueue.main.async {
// 注册远程推送
application.registerForRemoteNotifications();
}
}
}

return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
// 收到系统deviceToken获取成功回调
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// 将deviceToken传给环信SDK
EMClient.share.registerForRemoteNotifications(withDeviceToken: deviceToken, completion: nil)
}
}




```
20 changes: 6 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
源码地址: [Github](https://github.com/easemob/im_flutter_sdk)
任何问题可以通过 [Github Issues](https://github.com/easemob/im_flutter_sdk/issues) 提问


[常见问题](FlutterQA.md)

## 前期准备

Expand Down Expand Up @@ -159,8 +159,6 @@ class _PageState extends State<Page> implements EMConnectionListener {
bool isConnected = await EMClient.getInstance.isConnected();
```



### EMChatManager

#### 获取会话列表
Expand Down Expand Up @@ -480,27 +478,27 @@ class _PageState extends State<Page> implements EMContactManagerListener {

@override
void onContactAdded(String userName) {

}

@override
void onContactDeleted(String? userName) {

}

@override
void onContactInvited(String userName, String? reason) {

}

@override
void onFriendRequestAccepted(String userName) {

}

@override
void onFriendRequestDeclined(String userName) {

}
}
```
Expand Down Expand Up @@ -1072,7 +1070,6 @@ class _PageState extends State<Page> implements EMGroupEventListener {
@override
void onWhiteListRemovedFromGroup(String groupId, List<String> members) {}
}

```

#### 同意加群申请
Expand Down Expand Up @@ -1421,7 +1418,6 @@ class _PageState extends State<Page> implements EMChatRoomEventListener {
@override
void onWhiteListRemovedFromChatRoom(String roomId, List<String> members) {}
}

```

### 推送
Expand Down Expand Up @@ -1522,10 +1518,6 @@ try {
List<String> list = await EMClient.getInstance.pushManager.getNoPushUsersFromCache();
```





### EMUserInfoManager

#### 更新自己的用户属性
Expand Down
25 changes: 24 additions & 1 deletion example/ios/Runner/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -1,13 +1,36 @@

import UIKit
import Flutter
// 引入环信SDK
import HyphenateChat

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
GeneratedPluginRegistrant.register(with: self);

// 获取UNUserNotificationCenter并申请[badge, alert, sound]权限。
let center = UNUserNotificationCenter.current();
center.requestAuthorization(options: [.badge, .alert, .sound]) { granted, error in
if(granted){
DispatchQueue.main.async {
// 注册远程推送
application.registerForRemoteNotifications();
}
}
}

return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
// 收到系统deviceToken获取成功回调
override func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
// 将deviceToken传给环信SDK
EMClient.share.registerForRemoteNotifications(withDeviceToken: deviceToken, completion: nil)
}
}



2 changes: 1 addition & 1 deletion example/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class EaseIMDemo extends StatelessWidget {
},
child: ScreenUtilInit(
designSize: Size(375, 667),
builder: () {
builder: (context) {
return MaterialApp(
builder: (context, child) => FlutterSmartDialog(child: child),
debugShowCheckedModeBanner: false,
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/chat/chat_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -447,7 +447,7 @@ class _ChatPageState extends State<ChatPage>
print('_moreCameraBtnOnTap');

var curser = await EMClient.getInstance.groupManager
.getGroupMemberListFromServer(widget.conversation.id);
.fetchMemberListFromServer(widget.conversation.id);

debugPrint(curser.data.toString());
}
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/conversations/conversations_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class ConversationPageState extends State<ConversationPage>
[
PopMenuItem('创建群组'),
PopMenuItem('添加好友'),
PopMenuItem('多人通话'),
// PopMenuItem('多人通话'),
],
callback: (index) {
if (index == 0) {
Expand Down
2 changes: 1 addition & 1 deletion example/lib/pages/group/joined_groups_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,7 @@ class JoinedGroupsPageState extends State<JoinedGroupsPage> {
}

List<EMGroup> groups =
await EMClient.getInstance.groupManager.getJoinedGroupsFromServer(
await EMClient.getInstance.groupManager.fetchJoinedGroupsFromServer(
pageSize: _pageSize,
pageNum: _pageNumber,
);
Expand Down