微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 UNNotification 操作添加到远程推送通知 - Swift

如何解决将 UNNotification 操作添加到远程推送通知 - Swift

如何以编程方式向远程通知添加操作? Here 是 Apple 用于构建用于发送推送通知的 JSON Payload 的文档。重要的部分如下:

enter image description here

我有一个 PushNotification.swift 可以像这样发送推送通知

import SwiftUI

class PushNotification {
    func send(to token: String,title: String,subtitle: String,body: String) {
        let urlString = "https://fcm.googleapis.com/fcm/send"
        let url = URL(string: urlString)!
        
        let payload: [String : Any] =
            [
            "to" : token,"notification" : [
                "title" : title,"subtitle" : subtitle,"body" : body,]
        ]
        
        var request = URLRequest(url: url as URL)
        request.httpMethod = "POST"
        request.httpBody = try? JSONSerialization.data(withJSONObject: payload,options: [.prettyPrinted])
        request.setValue("application/json",forHTTPHeaderField: "Content-Type")
        request.setValue("key=\(SERVER_KEY)",forHTTPHeaderField: "Authorization")
        
        let task =  URLSession.shared.dataTask(with: request as URLRequest)  { (data,response,error) in
            do {
                if let jsonData = data {
                    if let jsonDataDict  = try JSONSerialization.jsonObject(with: jsonData,options: JSONSerialization.ReadingOptions.allowFragments) as? [String: AnyObject] {
                        print("JSON Data: \(jsonDataDict)")
                    }
                }
            } catch let error as NSError {
                print(error.debugDescription)
            }
        }
        task.resume()
    }
}

如何为类别操作构建负载?此外,我的 apns 文件如何与我的 POST 请求中的值相对应?没有 JSON 字符串插值,例如

{
"aps" : {
    "alert" : {
        "title" : ${content.title},...
        }
    }
}

我可以通过本地通知做到这一点,但我在添加操作然后允许用户通过远程通知回复所述操作时迷失了方向。

注意:我使用的是 Firebase (Firestore) 云消息传递

那只是服务器端。这应该无关紧要,因为它适用于操作,对吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。