環信3.0ios客戶端的整合(四)
版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2017.06.08 |
前言
很多app種都整合環信做第三方資訊通訊工具,這裡我們就看一下環信的主要功能和整合方法。先給出環信3.0的地址。
感興趣的可以參考:
1. 環信ios客戶端的整合(一)
2. 環信ios客戶端的整合(二)
3. 環信ios客戶端的整合(三)
這一篇主要說一下iOS SDK 快速整合。
一、快速整合單聊功能
第 1 步:整合環信SDK
第 1 步:整合環信SDK
方式一:推薦使用Cocoapods整合環信SDK。Cocoapods提供了一個簡單的依賴管理系統,避免手動匯入產生的錯誤(首先需要確認已經安裝了Cocoapods)。
sudo gem install cocoapods
pod setup
在Xcode專案的根目錄下,新建一個空檔案,命名為Podfile,向此檔案新增以下行:
#Lite版本
pod 'HyphenateLite'
#Full版本
pod 'Hyphenate'
在Podfile目錄下,執行以下指令:
pod install
方式二:手動整合
在環信官網下載SDK。
手動將SDK匯入到自己的工程中(整合介紹)
第 2 步:初始化環信SDK
以Cocoapods方式整合SDK,需要引入相關標頭檔案
//Lite版本
#import <HyphenateLite/HyphenateLite.h>
//Full版本
#import <Hyphenate/Hyphenate.h>
在工程的 AppDelegate 中的以下方法中,呼叫 SDK 對應方法。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//AppKey:註冊的AppKey,詳細見下面註釋。
//apnsCertName:推送證書名(不需要加字尾),詳細見下面註釋。
EMOptions *options = [EMOptions optionsWithAppkey:@"douser#istore"];
options.apnsCertName = @"istore_dev";
[[EMClient sharedClient] initializeSDKWithOptions:options];
return YES;
}
// APP進入後臺
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[[EMClient sharedClient] applicationDidEnterBackground:application];
}
// APP將要從後臺返回
- (void)applicationWillEnterForeground:(UIApplication *)application
{
[[EMClient sharedClient] applicationWillEnterForeground:application];
}
第 3 步:登入環信
登入:呼叫 SDK 的登入介面進行的操作。
[[EMClient sharedClient] loginWithUsername:@"8001"
password:@"111111"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"登入成功");
} else {
NSLog(@"登入失敗");
}
}];
第 4 步:匯入EaseUI
方式一:下載Release版本SDK,在自己的專案中匯入EaseUI整個目錄。
方式二: 通過cocoapods整合EaseUI。
pod 'EaseUI', :git => 'https://github.com/easemob/easeui-ios-hyphenate-cocoapods.git'
第 5 步:初始化單聊頁面
//環信ID:@"8001"
//聊天型別:EMConversationTypeChat
EaseMessageViewController *chatController = [[EaseMessageViewController alloc] initWithConversationChatter:@"8001" conversationType:EMConversationTypeChat];
二、快速整合群聊功能
首先需要完成快速整合單聊上述步驟。
1. 建立群組
EMError *error = nil;
EMGroupOptions *setting = [[EMGroupOptions alloc] init];
setting.maxUsersCount = 500;
setting.style = EMGroupStylePublicOpenJoin;// 建立不同型別的群組,這裡需要才傳入不同的型別
EMGroup *group = [[EMClient sharedClient].groupManager createGroupWithSubject:@"群組名稱" description:@"群組描述" invitees:@[@"6001",@"6002"] message:@"邀請您加入群組" setting:setting error:&error];
if(!error){
NSLog(@"建立成功 -- %@",group);
}
2.初始化群聊頁面
//群ID:@"groupId"
//聊天型別:EMConversationTypeGroupChat
EaseMessageViewController *chatController = [[EaseMessageViewController alloc] initWithConversationChatter:@"groupId" conversationType:EMConversationTypeGroupChat];
三、快速整合好友功能
首先需要完成快速整合單聊上述步驟。
1.新增好友
[[EMClient sharedClient].contactManager addContact:@"8001"
message:@"我想加您為好友"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"邀請傳送成功");
}
}];
//同意好友申請
[[EMClient sharedClient].contactManager approveFriendRequestFromUser:@"8001"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"同意好友成功");
}
}];
//拒絕好友申請
[[EMClient sharedClient].contactManager declineFriendRequestFromUser:@"8001"
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"拒絕好友成功");
}
}];
2.刪除好友
// 刪除好友
[[EMClient sharedClient].contactManager deleteContact:@"8001"
isDeleteConversation: YES
completion:^(NSString *aUsername, EMError *aError) {
if (!aError) {
NSLog(@"刪除成功");
}
}];
3.獲取好友
//從伺服器獲取所有的好友
[[EMClient sharedClient].contactManager getContactsFromServerWithCompletion:^(NSArray *aList, EMError *aError) {
if (!aError) {
NSLog(@"獲取成功");
}
}];
//從資料庫獲取所有的好友
NSArray *userlist = [[EMClient sharedClient].contactManager getContacts];
四、快速整合演示視訊
後記
未完,待續~~~~~
相關文章
- 環信3.0iOS客戶端的整合iOS客戶端
- [Redis 客戶端整合] SpringBoot 整合 LettuceRedis客戶端Spring Boot
- [Redis 客戶端整合] SpringBoot 整合 JedisRedis客戶端Spring Boot
- [Redis 客戶端整合] Java 中常用Redis客戶端比較Redis客戶端Java
- spring系列—CAS客戶端與SpringSecurity整合Spring客戶端Gse
- SnailSVN 專業版:與訪達整合的 SVN 客戶端AI客戶端
- 4.1.7.2.5 與快速應用程式通知整合的Oracle客戶端Oracle客戶端
- java版gRPC實戰之四:客戶端流JavaRPC客戶端
- 搭建eureka叢集環境以及客戶端配置客戶端
- Python socket的客戶端Python客戶端
- dubbo客戶端客戶端
- Pulsar客戶端客戶端
- mqtt 客戶端MQQT客戶端
- 《golang筆記》第四篇-網路客戶端Golang筆記客戶端
- Spring Cloud系列(四):Eureka原始碼解析之客戶端SpringCloud原始碼客戶端
- Kubernetes官方java客戶端之四:內部應用Java客戶端
- 服務端,客戶端服務端客戶端
- 客戶端,服務端客戶端服務端
- 微服務整合Spring Cloud Alibaba Seata (二) 客戶端連線微服務SpringCloud客戶端
- Nacos - 客戶端心跳續約及客戶端總結客戶端
- Spring Boot 整合 WebSocket 實現服務端推送訊息到客戶端Spring BootWeb服務端客戶端
- CAS SSO單點登入客戶端環境搭建客戶端
- 客戶端與服務端的三次握手與四次揮手客戶端服務端
- 物理DataGuard客戶端無縫切換--客戶端TAF 配置客戶端
- zookeeper的Java客戶端APIJava客戶端API
- Elasticsearch的PHP客戶端操作ElasticsearchPHP客戶端
- FastDFS伺服器叢集部署和整合客戶端到SpringBootAST伺服器客戶端Spring Boot
- springboot2整合websocket,實現服務端推送訊息到客戶端Spring BootWeb服務端客戶端
- java websocket 客戶端JavaWeb客戶端
- redis客戶端管理Redis客戶端
- iscsi linux客戶端Linux客戶端
- Zookeeper 客戶端 API客戶端API
- 客戶端加解密客戶端解密
- Tower:GIt客戶端Git客戶端
- YouTube macYouTube客戶端Mac客戶端
- Redis-客戶端Redis客戶端
- 客戶端筆記客戶端筆記
- ftp客戶端,ftp客戶端軟體具體怎麼使用?FTP客戶端
- bilibili mac客戶端 嗶哩嗶哩 b站mac客戶端Mac客戶端