无法使用 Twilio 可编程聊天接收 image/video 条消息的推送通知

Unable to receive push-push notifications for image/video messages using Twilio Programmable Chat

我们在 iOS 应用中使用 Twilio SDK 作为聊天功能。最近我们遇到了一个问题,接收专门针对图像和视频“MessageKind”消息的推送通知,但这些类型的消息到达得很好。推送通知仅针对文本。

我一直在 Twilio Web 控制台上进行“推送通知配置”设置,但没有什么特别可以调整来为 image/video 启用推送通知。新消息已打开。 Twilio SDK 是版本 4.0.0

Push Notification Configuration

这是发送媒体消息时调用的函数:

    private func sendMediaMessage(messageData: Data, mediaMessageType: MediaMessageType, completion: @escaping (Bool, String?) -> Void) {
        let inputStream = InputStream(data: messageData)
        let options = TCHMessageOptions()
        
        let formatter = DateFormatter()
        formatter.dateFormat = "yyyy-MM-dd_HH-mm-ss-SSSS"
        
        switch mediaMessageType {
        case .photo:
            options.withMediaStream(inputStream,
                                    contentType: "image/jpeg",
                                    defaultFilename: formatter.string(from: Date()) + ".jpg",
                                    onStarted: {},
                                    onProgress: { (bytes) in },
                                    onCompleted:  { (mediaSid) in })
        case .video:
            options.withMediaStream(inputStream,
                                    contentType: "video/quicktime",
                                    defaultFilename: formatter.string(from: Date()) + ".mov",
                                    onStarted: {},
                                    onProgress: { (bytes) in },
                                    onCompleted: { (mediaSid) in })
        }
        
        self.sendTwilioMessage(messageOptions: options, completion: completion)
    }

从Twilio支持处得知Twilio Programmable Chat暂时不支持媒体消息的推送通知。

有一个 解决方法 虽然不是很干净:除了 image/video 消息之外,还发送一条带有属性的文本消息,其中包含推送通知文本,并使用这些属性以确定必须对聊天双方的用户隐藏此文本消息。