如何使用 Swift 按钮触发 OneSignal API 调用

How to trigger OneSignal API call with Swift Button

你们能帮我做一个项目吗?我是 API 的新手,我想知道调用 OneSignal 的创建新消息 API 的最佳方式是什么,使用 Xcode 中的可点击 UI 按钮和 Swift。我能够让 API 工作并在网络服务器上使用 PHP 发送通知,但我没有足够的知识将其转换为 Xcode 中的简单按钮。

API 文档列出了一大堆不同代码的不同示例,但我什至不知道 Swift 从哪一个开始。基本上,我只需要一个发送 API 请求以发送 OneSignal 推送通知的按钮。

API 文档:https://documentation.onesignal.com/reference#create-notification

如果你需要在UIButton点击事件上发送请求,你可以使用如下:

    @IBOutlet weak var btnTap: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()
        btnTap.addTarget(self, action: #selector(self.onTap(_:)), for: .touchUpInside)
    }

    @objc func onTap(_ sender: AnyObject) -> Void {

        let url = URL(string: "https://onesignal.com/api/v1/notifications")!

        var request = URLRequest(url: url)
        request.httpMethod = "POST"
        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue("application/json", forHTTPHeaderField: "Accept")

        //add the parameters here as needed
        let parameters = ["username": "foo", "password": "123456"]

        let task = URLSession.shared.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
            //the service response is here
            print(response)
        })

        task.resume()
    }

但是在处理通知时,最好的处理方式是服务器端。您可以使用您的 .php 文件作为端点,然后只向那里发送 post 请求。

我强烈建议阅读 this tutorial 以便更好地理解。