Tag: 特色

使用Bridgefy SDK创建脱机消息应用程序

使用Bridgefy SDK真的那么容易吗? 在为这个项目工作了将近两年之后,我可以说“是” ,但是我们需要展示它,还有比在应用程序上实现它更好的方法吗? 经过深思熟虑,鉴于Bridgefy最初是一个消息传递应用程序,我们决定最好使用即时消息传递应用程序。 主要思想是创建一个即时消息传递应用程序,该应用程序允许彼此靠近的设备之间进行通信。 该应用程序将包含2个屏幕: ChatList :它将是附近可用或已经可用的设备的列表,第二个是 ChatView :是发送消息的地方,可以是直接消息或广播消息。 用Xcode生成项目后,有必要添加Bridgefy SDK。 可以在以下位置查看执行此操作的步骤:https://github.com/bridgefy/bridgefy-ios-developer。 在同一页面上,您可以下载此代码以及使用Bridgefy SDK的其他示例应用程序的代码。 下一步是生成演示板屏幕,如下所示: 我们要使用的第一个类是ChatListController ,必须将其创建为UITableViewController的子类,在该类中,我们将实现SDK的所有委托方法。 为此,我们必须如下导入SDK: 导入Bridgefy SDK。 下一步是声明我们的类将实现BFTransmitter的委托方法。 ChatListController接口。 在最后一个代码段中,我们将使用所有变量和属性,其中: 发送器 : BFTransmitter的实例。 peerNamesDictionary :包含我们先前已连接的对等点的字典,每个对等点都表示为另一个字典。 对等字典结构。 onlinePeers :具有范围内的对等方的UUID的数组。 offlinePeers :数组,其范围的对等方的UUID不在范围内。 chatController :处理聊天视图的ChatViewController实例。 下一步是初始化发送器: BFTransmitter初始化。 我们定义要从发送器获取的日志类型,然后使用在Bridgefy站点上注册应用程序时获得的密钥初始化发送器。 此后,我们向发送方指示该类将是负责实现委托的类。 接下来,我们将激活背景模式,最后调用发射机的start方法以开始工作。 当发送方检测到与任何设备的连接时,将通过以下代表通知我们: 委托方法,用于通知已检测到连接。 当我们通过该委托人收到新连接的通知时,无法确定它是安全的连接。 仅当以前已经建立了安全连接并且密钥尚未过期时,才会发生这种情况。 对于此示例,我们希望在设备之间建立的所有连接都是安全的,因此我们必须实现以下BFTransmitterDelegate方法: 委托方法询问是否应建立安全连接。 现在,当与对等方建立安全连接后,下一个委托将通知我们: 用来通知何时建立安全连接的委托方法。 在此方法中,我们要做的第一件事是调用processNameForUser:方法,该方法将确定对等点是否已存在于我们的对等点列表中。 如果没有,它将创建记录并通过从其UUID的前5个字符生成名称来保存该记录,并为其分配未知的设备类型。 另外,在此方法中,将字典发送到刚与其建立连接的对等方,指示要在其对等方列表中显示的设备的名称和类型。 其余的代码会将对等方移动到范围内的对等方列表中,并更新显示它们的表。 由于我们已经实现了处理连接的代码,因此我们必须注意断开连接。 […]

Bridgefy SDK的传输模式

Bridgefy功能的基础是使邮件在附近的设备上跳跃,直到它们到达预期的收件人为止。 听起来很简单,不是吗? 我们也这么认为,但是发现事实并非如此,因此我们花了很多时间使所有使用我们SDK的人都可以轻松地保持这种状态。 经过多次会议,测试,错误纠正,模拟甚至方法的完全变更,我们完成了今年早些时候发布的产品。 自发布以来,我们已经与许多开发人员联系,邀请他们试用我们的SDK,并听取他们的使用问题和想法。 根据我们收到的反馈,一个问题已经反复出现: 我必须在我的应用程序中做什么才能使消息转发正常工作? 简短的答案是什么。 因为我们在SDK中实现的算法负责管理必须转发给收件人的邮件; 这些消息通过电话传递,而用户或开发人员却没有意识到。 使用Bridgefy SDK共享的消息可以包含在字典中序列化的信息或原始数据。 可以使用以下三种方法之一发送消息: 发送广播消息的示例。 初始化SDK后,开发人员将只需要担心为他们的消息选择最佳模式,然后Bridgefy SDK将负责其他所有事务。