從公共訪問中刪除的源代碼,如果您對Q-Municate感興趣,請與我們聯繫
Q-Municate是聊天應用程序的開源代碼,具有船上的全範圍通信功能(例如消息傳遞,文件傳輸,推送通知,音頻/視頻通話等)。我們受到啟發,可以為您提供聊天應用程序。您可以根據您的需求自定義此應用程序。與QuickBlox的後端一樣,您的服務是:https://quickblox.com/plans/在我們的開發人員部分中查找源代碼和更多信息以及安裝指南:https://quickblox.com/developers/q-munatiation從Quickblox ios Team中向您帶來了Quick Blox ios tem,以構建Quick api,從而將您從Quickblox ios Team中帶給您。這是為包括初學者在內的所有開發人員級別設計的逐步指南,因為我們從簡單到更複雜的實現。根據您的技能和項目要求,您可能會選擇本指南的哪些部分。享受,如果您需要QuickBlox iOS團隊的幫助,可以隨意通過創建一個問題讓我們知道。 Q-Municate是使用QuickBlox API完全露面的聊天應用程序。
- Q-Municate 3.0.0
- 1。要求和軟件環境
- 2。 QuickBlox模塊
- 3。功能
- 4。螢幕
- 5。音頻和視頻通話
- 6。擴展
- 7。代碼說明
- 8.如何構建自己的聊天應用
- 9。貢獻
- 10。許可
1。要求和軟件環境
- Xcode 10及以後。
- iOS 10.3及以後。
- QuickBlox IOS SDK 2.17.4及以後。
- QuickBlox WebRTC SDK 2.7.4及以後。
- 螺栓1.9.0版本。
- Facebook IOS SDK 5.6.0版本。
- Firebase 6.9.0版本。
1.1 QuickBlox IOS SDK
QuickBlox-通信和雲後端平台,將超級大國帶給您的移動應用程序。
1.2 Webrtc
Q-Municate使用WEBRTC進行視頻和音頻調用,這意味著這是一個很棒的跨平台解決方案。 webrtc本身是開源的,因此您可以根據需要修改代碼,也可以信任成千上萬的熟練開發人員為其開發做出貢獻。
VideoChat代碼示例允許您輕鬆地將視頻通話和音頻通話功能添加到iOS應用中。使用代碼示例作為基礎,啟用類似於FaceTime或Skype的視頻呼叫功能。
2。 QuickBlox模塊
Q-Municate應用程序的使用以下:
3。功能
它包括:
- 該應用程序支持景觀和肖像模式。
- iOS應用程序具有英語界面,易於添加本地化。
- 三種註冊方法以及登錄方式 - Facebook,Firebase(電話號碼)以及電子郵件/密碼
- 致電套件
- 共享擴展
- Siri擴展有關消息傳遞
- 查看帶有消息歷史記錄(私人和組聊天對話框)的所有活動聊天對話框的列表
- 查看,編輯和離開小組聊天對話框
- 查看並刪除私人聊天對話框
- 搜索:本地對話框搜索,聯繫人搜索和全局用戶搜索
- 創建和參與私人和小組對話
- 管理,更新和刪除對話框
- 音頻和視頻通話(使用QuickBlox WebRTC框架)
- 編輯自己的用戶資料
- 重置密碼和註銷
- 查看其他用戶資料
- 拉到刷新對話列表,聯繫人列表和用戶信息頁面
請注意,所有這些功能均在開源代碼中可用,因此您可以根據需要自定義應用程序。
4。螢幕
4.1歡迎
可用功能:
- 使用電話連接 - 此按鈕允許用戶使用Firebase輸入其電話號碼。如果竊聽,將顯示用戶協議彈出窗口。
- 通過電子郵件或社交按鈕登錄 - 通過點擊此按鈕操作表,將彈出額外的登錄方法。有諸如Facebook登錄和通過電子郵件/密碼登錄之類的方法。
- 使用Facebook登錄,用戶可以使用其Facebook憑據輸入該應用程序。如果竊聽,將顯示用戶協議彈出窗口。
- 如果應用程序已成功通過了Facebook授權,則該應用程序將將用戶重定向到聊天對話框列表屏幕。
- 通過電子郵件/密碼登錄,如果用戶提供正確且有效的電子郵件和密碼,則可以輸入該應用程序。通過點擊此按鈕,用戶將被重定向到登錄屏幕。
請注意,不再有可能使用電子郵件和密碼方法註冊用戶。您只能使用電話號碼和/或Facebook憑據註冊。
4.2使用電子郵件/密碼登錄
可用功能:
- 字段設置:
- 電子郵件 - 文本/數字/符號字段3個字符最小值 - 無邊界,強制性(包括電子郵件符號驗證)
- 密碼 - 文本/數字/符號字段8-40個字符(僅包含字母數字和標點字符),強制性
- 按鈕:
- 返回 - 返回用戶回到歡迎屏幕
- 完成 - 使用提供的電子郵件和密碼在字段驗證後執行登錄
- 忘記密碼 - 打開忘記密碼屏幕
4.3忘記密碼
- 字段設置:
- 電子郵件 - 文本/數字/符號字段3個字符最小值 - 無邊界,強制性(包括電子郵件符號驗證)
- 按鈕:
- 返回 - 返回用戶回到歡迎屏幕
- 重置 - 執行密碼重置
4.4選項卡欄
TAB BAR是應用程序的主要控制器。它由這樣的頁面組成:
4.5聊天對話框列表
- 搜尋:
- 搜索允許用戶通過其名稱過濾本地緩存中的現有對話框。
- 按鈕:
4.6新消息
如果僅選擇1個聯繫人 - 將打開(如果存在)或在需要時創建的私人聊天。否則將創建組聊天。
- 搜尋:
- 按鈕:
- 右欄按鈕 - 創建聊天對話框
- 返回 - 返回用戶返回聊天對話框頁面
4.7聊天
有可能發送:
- 簡訊
- 畫廊和相機的圖像
- 畫廊和相機的視頻
- 使用輸入工具欄右鍵的音頻記錄
可用功能:
4.8私人聊天
按鈕:
- 右欄按鈕 - 音頻和視頻通話按鈕,您只能在用戶在您的聯繫人列表中
- 返回 - 返回用戶返回聊天對話框列表屏幕
- 導航欄標題 - 將用戶重定向到對手配置文件頁面
4.9小組聊天
按鈕:
- 右欄按鈕和導航欄標題 - 將用戶重定向到組聊天信息屏幕
- 返回 - 返回用戶聊天對話框列表屏幕
- 對手用戶化身 - 通過在消息中點擊對手用戶化身,您將被重定向到該用戶的信息頁面
4.10組聊天信息
字段/按鈕:
- 通過敲擊Avatar,您可以通過拍攝新照片或從庫中選擇它來更改它
- 通過點擊組名稱,您將被重定向到組名稱更改屏幕
- 通過攻擊添加成員字段,您將被重定向到聯繫人屏幕以選擇用戶添加
- 通過點擊成員列表中的任何用戶,您將被重定向到他們的信息頁面(列表中的用戶除外)
- 通過點擊休假並刪除聊天字段 - 您將留下存在的組聊天並在本地刪除。
4.11聯繫人列表
搜尋:
- 搜索有兩個範圍按鈕:
- 本地搜索 - 允許用戶通過其名稱過濾現有聯繫人。
- 全局搜索 - 允許用戶查找用戶並通過全名查看其配置文件。
4.12用戶信息
字段/按鈕
- 聯繫人的操作:
- 發送消息 - 與用戶打開聊天,如果尚無聊天 - 創建它
- 音頻通話 - 撥打用戶的音頻電話
- 視頻通話 - 視頻通話給用戶
- 刪除聯繫人和聊天 - 從聯繫列表中刪除用戶並與他聊天
其他用戶操作:
- 添加聯繫人 - 向用戶發送聯繫請求或接受現有的請求
4.13設置
字段/按鈕:
- 全名,狀態和電子郵件字段將重定向您更新字段屏幕,您可以在其中更改信息。
- 通過挖掘頭像動作表將打開。您可以拍攝新圖片,也可以從庫中選擇它以更新您的用戶頭像。
- 推送通知開關 - 您可以訂閱或取消訂閱推送通知。
- 告訴朋友 - 打開共享控制器,您可以在其中與您的朋友共享此很棒的應用程序:)
- 提供反饋 - 反饋屏幕,您可以在其中向我們發送電子郵件,並提供錯誤,改進或建議信息,以幫助我們使Q -Municate更好!
5。音頻和視頻通話
Q-Municate使用QuickBlox WebRTC SDK作為呼叫服務。您可以在這裡找到更多信息。
5.1調用控制器
呼叫控制器有6個州:
- 傳入的音頻電話
- 傳入的視頻通話
- 傳出音頻電話
- 傳出視頻通話
- 主動音頻通話
- 主動的視頻通話
呼叫控制器由QMCallManager管理,基本上是Call Manager以特定的狀態分配,無論是傳入還是發出呼叫,然後呼叫控制器將其狀態更改為Active One,如果需要的用戶接受它。
5.2音頻通話
您可以在下面的傳入,傳出和主動的音頻呼叫屏幕上看到。
工具欄按鈕
- 來電:
- 下降 - 呼叫下降並關閉接收到的會話和控制器
- 接受 - 接受呼叫和更改呼叫控制器狀態到活動音頻通話
- 外向和主動電話:
- 麥克風 - 禁用麥克風進行當前呼叫
- 揚聲器 - 是否應在揚聲器或接收器中播放聲音。音頻呼叫的默認值是接收器。
- 衰落 - 掛斷電流和關閉控制器
5.3視頻通話
您可以在下面的傳入,傳出和主動的視頻通話屏幕上看到。
默認情況下,視頻通話的聲音在揚聲器中。
- 來電:
- 下降 - 呼叫下降並關閉接收到的會話和控制器
- 接受 - 接受通話和更改呼叫控制器狀態到活動視頻通話
- 外向和主動電話:
- 相機 - 啟用/禁用攝像機用於當前通話
- 攝像機旋轉 - 更改當前通話的相機(前/背面)
- 麥克風 - 禁用麥克風進行當前呼叫
- 衰落 - 掛斷電流和關閉控制器
5.4致電套件
Callkit允許將呼叫服務與系統上的其他與呼叫相關的應用集成在一起。 CallKit提供了調用接口,我們使用VoIP服務處理後端通信。對於傳入和傳出的呼叫,Callkit顯示與電話應用程序相同的接口,從而使Q-Municate應用程序具有更高的本地外觀和感覺。
6。擴展
6.1共享擴展
共享擴展為用戶提供了一種與其他實體共享內容的方便方法。可分享類型:
6.2意圖應用程序擴展(用於消息傳遞的Sirikit)
意圖應用程序擴展已接收用戶請求,以從Sirikit發送消息,並將其轉變為特定的操作。
7。代碼說明
您可以在下面看到基本代碼說明。有關詳細信息,請參閱大多數類中的標題文件的內聯文檔。我們試圖將每個班級及其方法的目的盡可能詳細描述。如果您有任何疑問,請隨時通過創建問題讓我們知道。
7.1故事板
我們已經分離了用於模塊的Q-Municate,例如:
每個模塊都有自己的故事板,所有故事板都與故事板鏈接相關聯(Xcode 7和iOS 8+以來可用的功能)。
8.如何構建自己的聊天應用
如果您想使用Q-Municate作為基礎構建自己的應用程序,請在此處遵循我們的詳細指南。
9。貢獻
特徵
- 叉子(https://github.com/ [my-github-username ]/q-municate-ios/fork)
- 創建您的功能分支(
git checkout -b my-new-feature ) - 提交您的更改(
git commit -am 'My new feature' ) - 推到分支(
git push origin my-new-feature ) - 創建一個新的拉請請求
問題
如果您發現問題,請創建一個問題。
10。許可
Apache許可證,版本2.0。請參閱許可證文件。