从公共访问中删除的源代码,如果您对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。请参阅许可证文件。