如何在 swift 中为信使应用程序实现“istyping”?
Posted
技术标签:
【中文标题】如何在 swift 中为信使应用程序实现“istyping”?【英文标题】:how to implement "istyping" for a messenger app in swift? 【发布时间】:2018-04-30 08:34:50 【问题描述】:如何在我的 ios Messenger 应用中实现“isTyping”?
我的想法:
假设我们有 2 个用户。 当 user1 开始输入时,客户端应用程序会将其告知服务器。 向 user2 发送静默推送通知 此通知使 user2 知道 user1 正在键入。 当 user1 停止输入时,它会通知服务器并发送另一个静默推送通知以使 user2 知道此更改。
关于这个想法的问题和疑问
静默推送通知的优先级较低 发送多个推送通知来执行此操作是否是个好主意 当我禁用 Telegram iOS 应用程序的推送通知时,它一直在提醒“isTypping”,那么有没有更好的方法来做到这一点?【问题讨论】:
您可以为此使用“SocketIO”。 您可以为此使用 sendbird、quickblox SDK。 您可以使用 Firebase,因为它易于实施且无需推送通知。 【参考方案1】:您可以使用Firebase
仅存储用户之间的输入信息。
由于Firebase
允许您实时观察属性,因此您可以在此属性的值更改时更改视图。
【讨论】:
【参考方案2】:您的用户表中可以有一个 DateTime 字段。假设 lastTypedCharacter 并存储 DateTime 并在用户 A 键入任何内容时每秒更新一次。当向其他用户 B 显示 lastTypedCharacter DateTime 与当前时间(如果小于 5 秒)时,您可以假设用户 A 不再键入
【讨论】:
以上是关于如何在 swift 中为信使应用程序实现“istyping”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 中为 Radio Live Streaming 服务实现 HLS
如何在 Swift 中为 iOS 10 和 iOS 9.3 初始化 NSManagedObject 子类
如何在 Swift 中为 Int 数组(自定义字符串结构)实现 Hashable 协议
如何在 Swift 中为 Int 数组(自定义字符串结构)实现 Hashable 协议