主要问题 - 如何检查收件人是否已打开 MSMessage?
我有一个 iMessage 扩展程序,用户可以在其中向其收件人发送 MSMessage。收到邮件后,收件人应该能够打开它并阅读发件人发送的内容(从 URL 中提取邮件)。
但是,在阅读一次之后(即在扩展关闭时),从那时起打开的消息会告诉他们他们已经阅读了该消息。
我如何保存信息(最有可能在 URL 中),以便应用程序可以查看它是否已经被收件人打开过一次?
需要考虑的事情:我看到了一些关于能够使消息过期并整体消失的事情,但听起来用户可以选择保存。如果有一种方法可以自动删除消息,那也可以
这是我编码到邮件 URL 中的信息:
var queryItems: [URLQueryItem] = []
let plain: URLQueryItem = URLQueryItem(name: "plainText", value: msgData.plainText)
let msg: URLQueryItem = URLQueryItem(name: "message", value: msgData.message)
let read: URLQueryItem = URLQueryItem(name: "read", value: "false")
queryItems.append(read)
queryItems.append(plain)
queryItems.append(msg)
var components = URLComponents()
components.queryItems = queryItems
message.url = components.url!
我想出的处理这类事情的唯一可靠方法是将状态保存在本地数据库 (Realm) 中,其中消息提供持久 key 。
我相当肯定,当您收到消息时,您无法将数据推回 url 字段。只有在创建新的时才可写。
关于ios - 快速编辑 MSMessage URL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55113561/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |