#### **登錄方式說明**
#### AnyChat sdk支持兩種登錄方式,分別如下:
1. 密碼登錄
密碼登錄,只需要在AnyChat初始化接口中傳入服務器ip,端口號以及用戶賬號和密碼(密碼字段為可選),即可登錄。
```
AnyChatSDK anychatSDK = AnyChatSDK.getInstance();
AnyChatInitOpt initOpt = new AnyChatInitOpt( nickName, strUserId, password, serverIp, serverPort, loginEvent)
anychatSDK.sdkInit(initOpt);//初始化
```
2. 簽名登錄
一種更高安全級別的登錄方式,只有AnyChat服務集群與云平臺才支持簽名登錄,終端客戶登錄時,需要向身份驗證系統獲取簽名,簽名由應用的私鑰生成,AnyChat服務器使用應用公鑰認證簽名,并根據認證結果決定是否讓應用終端接入。
客戶如果購買的是AnyChat服務器集群,需在集群控制臺配置應用ID和公鑰;如果購買的是AnyChat視頻云服務,應用ID由購買應用時生成,密鑰由應用激活時生成。
```
AnyChatSDK anychatSDK = AnyChatSDK.getInstance();
// anychatSDK is the instance of sdk
AnyChatInitOpt initOpt = new AnyChatInitOpt( nickName, strUserId, password, serverIp, serverPort, loginEvent)
anychatSDK.sdkInit(initOpt);//初始化
```
#### 簽名登錄具體流程如下:

1. 業務系統需部署身份驗證系統,當用戶在業務系統的登錄頁面輸入用戶賬號和密碼進行登錄時,身份驗證系統首先驗證用戶登錄信息的合法性,如驗證通過,則根據應用id和用戶賬號生成簽名信息,并將簽名信息返回給前端。
2. 前端使用簽名信息登錄AnyChat服務器,AnyChat服務器返回登錄結果.
#### 應用簽名的生成請參考以下示例程序:
| 語言| 下載包 |
| --- | --- |
| java| [AnyChatSignDemo.rar](https://static.anychat.cn/code/AnyChatSignDemo.rar)|
| PHP| [AnyChatSignDemoForPHP.rar](https://static.anychat.cn/code/AnyChatSignDemoForPHP.rar)|
| Nodejs|[AnyChatSignDemoForNodejs.rar](https://static.anychat.cn/code/AnyChatSignDemoForNodejs.rar)|
- SDK介紹
- 工程準備
- 下載AnyChat Java SDK
- 導入SDK
- 開發流程
- 初始化SDK
- 初始化及自動登錄
- 退出及釋放連接
- 版本信息查詢
- 登錄方式說明
- 服務器連接斷開通知事件
- 會話保持注冊和銷毀事件
- 房間管理
- 注冊房間管理事件
- 注銷房間管理事件
- 進入房間
- 獲取房間中的用戶列表
- 房間內的文字交流
- 退出房間
- 音視頻操作
- 音視頻互動
- 本地麥克風管理
- 打開本地麥克風
- 關閉本地麥克風
- 本地攝像頭管理
- 打開本地攝像頭
- 關閉本地攝像頭
- 切換本地攝像頭
- 接收/終止對方音頻流
- 接收遠程音頻流
- 關閉遠程音頻流
- 接收/終止對方視頻流
- 接收遠程視頻流
- 關閉遠程視頻流
- 視頻呼叫
- 注冊視頻呼叫事件
- 客戶呼叫
- 客戶取消呼叫
- 接受視頻呼叫
- 拒絕接聽
- 掛斷通話
- 注銷視頻呼叫事件
- 錄制(錄音錄像)
- 開始錄制
- 在錄制文件中添加圖片水印
- 在錄制文件中添加文字水印
- 在錄像中插入圖片
- 結束錄制
- 視頻拍照
- 抓拍
- 智能排隊
- 初始化排隊模塊
- 營業廳操作
- 獲取營業廳列表
- 進入營業廳
- 席座服務狀態設置
- 離開營業廳
- 排隊操作
- 排隊
- 取消排隊
- 狀態查詢
- 查詢坐席狀態
- 查詢隊列排隊人數
- 查詢當前排隊時間
- 注冊智能排隊事件的監聽
- 注銷智能排隊事件的監聽
- 文件傳輸
- 初始化文件模塊
- 注冊文件接收通知事件
- 注銷文件接收通知事件
- 創建文件下載任務
- 創建文件傳輸任務
- 文件上傳到服務器
- 初始化文件上傳到服務器功能
- 創建上傳文件到服務器任務
- 透明通道
- 透明通道發送消息
- 注冊接收透明通道通知事件
- 注銷接收透明通道通知事件
- 錯誤碼