iOS
Send Push Notifications
使用Swift客户端在iOS中发送推送通知的完整指南
10 分
在swift中从客户端发送推送通知 介绍 本节解释如何通过您的ios客户端使用back4app发送推送通知。 这就是它的样子 随时,您都可以在我们的 https //github com/templates back4app/ios install sdk 中访问使用本教程构建的完整项目。 先决条件 要完成此快速入门,您需要: https //developer apple com/xcode/ 在 back4app 创建的应用程序。 请遵循 https //www back4app com/docs/get started/new parse app 以了解如何在 back4app 创建 parse 应用程序。 一个连接到 back4app 的 ios 应用程序。 注意: 请遵循 https //www back4app com/docs/ios/parse swift sdk 以创建一个连接到 back4app 的 xcode 项目。 一个通过 https //www back4app com/docs/ios/push notifications/best ios push notification service 设置的 ios 应用程序。 一台运行 ios 10 或更高版本的 ios 设备,iphone 或 ipad。 一个付费的 apple 开发者账户。 接下来,我们将假设您已完成所有步骤的 https //www back4app com/docs/ios/push notifications/best ios push notification service , 即使您使用的是我们在 https //github com/mpc20001/ios objc push cloud code 中提供的此教程构建的 ios 项目。 您应该已经能够基本使用推送通知,并且能够通过管理控制台发送推送。 1 启用客户端推送 访问 https //www back4app com/ 登录,找到你的应用并点击服务器设置。 找到“核心设置”块并点击 设置 设置 。 “核心设置”块看起来是这样的 3\ 滚动到页面底部并点击 编辑详情 编辑详情 按钮,如下所示 4\ 你会看到一个名为 允许客户端推送通知 允许客户端推送通知 的复选框,在编辑页面的末尾,勾选该框并点击 保存 保存 按钮,如下所示 2 订阅你的设备到新闻频道 假设您已经完成了 https //www back4app com/docs/ios/push notifications/best ios push notification service , 您将想要修改该教程中完成的项目或从我们的 https //github com/back4app/ios objc push 首先,您将向您的安装对象添加一个频道。您将通过更改 createinstallationonparse createinstallationonparse 方法来做到这一点,方法位于您的 appdelegate 文件中。打开您项目的 appdelegate swift appdelegate swift 文件并添加以下代码行 ‘ installation setobject(\[”news1”] forkey ”channels”]; ’ 这将设置安装对象的频道数组以包含一个名为 news news 的频道。 appdelegate m 1 func createinstallationonparse(devicetokendata\ data){ 2 if let installation = pfinstallation current(){ 3 installation setdevicetokenfrom(devicetokendata) 4 installation setobject(\["news"], forkey "channels") 5 installation saveinbackground { 6 (success bool, error error?) in 7 if (success) { 8 print("you have successfully saved your push installation to back4app!") 9 } else { 10 if let myerror = error{ 11 print("error saving parse installation \\(myerror localizeddescription)") 12 }else{ 13 print("uknown error") 14 } 15 } 16 } 17 } 18 } 这将允许您通过云代码向所有订阅名为 news news 的频道的用户发送消息。 确保您的版本 didregisterforremotenotificationswithdevicetoken didregisterforremotenotificationswithdevicetoken 与下面的代码相同。 2\ 接下来,我们将向您的应用委托添加一个方法,以便在每次应用启动时向 新闻 新闻 频道发送推送。打开您项目的 appdelegate swift appdelegate swift 文件,并添加下面的方法,确保每次应用启动时通过从 didfinishlaunchingwithoptions didfinishlaunchingwithoptions 调用它来触发此方法。 appdelegate m 1 func application( application uiapplication, didfinishlaunchingwithoptions launchoptions \[uiapplicationlaunchoptionskey any]?) > bool { 2 let configuration = parseclientconfiguration { 3 $0 applicationid = "paste your application id here" 4 $0 clientkey = "paste your client id here" 5 $0 server = "https //parseapi back4app com" 6 } 7 parse initialize(with configuration) 8 9 unusernotificationcenter current() requestauthorization(options \[ alert, sound, badge, carplay ]) { 10 (granted, error) in 11 print("permission granted \\(granted)") 12 guard granted else { return } 13 self getnotificationsettings() 14 } 15 sendpushonlaunch() 16 return true 17 } 18 func sendpushonlaunch(){ 19 let push = pfpush() 20 push setchannel("news") 21 push setmessage("push from device") 22 push sendinbackground() 23 } 3 测试您是否可以通过客户端向自己发送定向推送通知 在模拟器中打开您的应用,同时保持您的物理设备关闭并锁定屏幕。 当应用在模拟器上打开时,您应该能在设备的锁屏上看到推送通知。 最后的想法 您应该对如何从客户端发送推送有一个清晰的理解。 您可以将其与pfquery结合,以根据某种属性(如年龄、位置或对象id)来定位用户。 请记住,如果启用了客户端推送,它 可能会被利用 并且 在不限制所有客户端推送的情况下无法关闭 。建议您勾选来自云代码的推送, 但知道这一点仍然是好的。 完成了! 在这个阶段,您可以通过back4app使用客户端推送发送推送通知!