ios10推送通知开发教程

ios10推送通知开发教程
虽然通知是经常被滥用,通知确实是获得用户的关注,告诉他们,他们需要更新或acted.ios 10有新通知的一个有效途径,如在新信息的变化,商业信息和时间表。在本教程中,我将向你展示如何在你的iOS应用和显示iOS 10引入了新的功能,使用通知。开发iOS 10推你需要最新版本的Xcode的通知,Xcode 8测试,这是现在可供下载,在下载页面。

你可以去GitHub上本教程下载整个项目。

开始

使在Xcode的推送通知是很容易的,但你需要几个步骤

创建一个新项目并给它一个唯一的包标识符。

创建项目后,转到项目设置页面并选择功能列。打开推送通知,如下所示。

注意:如果您是苹果的付费开发人员,您可以看到推送通知功能。

转到开发人员帐户的列,选择证书、ID,并在左侧的菜单栏中描述文件,然后在标识符列中选择应用程序ID。找到已创建的应用程序的名称,并在服务列表中选择它。

不要关闭这一页,你很快就会回来的。

发送通知

在本文中,我将使用推送发送推送通知。您还可以使用其他解决方案,如休斯敦。

创建证书,打开钥匙串访问,选择证书菜单钥匙串访问证书证书->助理->请求。
填写表单并单击继续。确保您选择将其保存磁盘
返回到开发人员帐户的Web页面。您可以为应用程序ID生成一个开发(调试)证书或发布证书。

在右上角选择应用程序后,单击编辑。在推送通知部分中,单击创建开发(调试)证书。

在需要的时间,从钥匙链,继续上传生成证书请求。
现在您已经创建了一个证书,您可以下载它。打开下载的文件来安装它。
下载并运行推送器。程序的顶部需要填充一个推送证书。在密钥链中,OS X会询问是否允许推送者访问证书。
第二个字段需要设备令牌,您必须在下一步中对其进行攻击。
接到通知

它的时间来敲代码。收到通知的设备必须与苹果推送通知服务注册(APN)。你要送一个独特的令牌,当应用程序启动时。

Open AppDelegate.swift和添加下面的方法

注:本代码是基于swift3.0.the语法看起来不同于你以前。
功能registerpushnotifications(){
{ dispatchqueue.main.async
让设置= uiusernotificationsettings(类型:{。徽章,。声音。警报},类别:无)
uiapplication.shared()RegisterUserNotificationSettings(设置)。
}
}
我稍后会解释,在这个设置中,您将收到指定类型的通知。
函数的应用(应用程序:程序didfinishlaunchingwithoptions launchoptions:{ NSObject:_,任何物体})-> { bool
registerpushnotifications()
返回true
}
此时,应用程序将自动弹出警报,询问用户是否收到通知。
通知必须注册可送,和是否接受通知要求用户批准的uiapplicationdelegate方法处理的响应。
函数的应用(应用程序:程序didregister _,notificationsettings:uiusernotificationsettings){
如果notificationsettings.types!= UIUserNotificationType(){()
application.registerforremotenotifications()
}
}
首先检查用户授予的权限,然后调用该方法来注册远程通知。后者在请求完成时将调用另一个代理方法。响应包含一个您可以打印的用于调试的设备令牌。在发送推送通知时需要使用设备令牌来标识设备。
如果出现错误,则调用以下方法。
函数的应用(应用程序didfailtoregisterforremotenotificationswitherror _,错误:nserror){
打印(注册失败!
}
注:重要的是打电话给registerusernotificationsettings当应用程序启动时,因为用户可以更改权限的设置。同样的registerforremotenotifications也很重要,因为有些场景装置可以改变这样的通知将不再发送。

到目前为止,这足以让你得到一个简单的通知。

通知的内容

通过不同的通知内容,可以有不同的方法让应用程序接收不同类型的通知,其中包括用户信息或用户定义信息的应用通知。

使用JSON格式向用户发送通知,该JSON格式本身包含一个与AP键对应的字典,在这些第二个字典中,指定内容和键。

最常见的是:

向用户显示的通知消息。这是一个简单的字符串或字典键,与标题、文本等相同。

接收到通知的声音,可以是自定义声音,也可以是系统声音。

右上角的应用程序图标的数目。设置为0,消除角。

有效的内容。使用1的值向用户发送一个无声的通知。它不会播放任何声音或任何角度设置,但是当通知被唤醒时,将与应用服务器通信。
本教程的简单通知:
{
ap:{
警报:{
标题:你好!:
:应用程序关闭……
},
徽章:1,
声音:默认
}
}
应用程序的生命周期

在推杆的令牌复制设备和复制粘贴符号,JSON对象,在Pusherd的有效载荷部分。

尝试发送第一个通知。如果设备的屏幕被锁定,它看起来如下,但是什么也不会发生,当用户点击通知视图时。

要接受通知,您需要添加一个新方法:
私有函数getalert(通知:{ NSObject:任何物体})-(String,String){
让APS =通知{AP}和{字符串:任何物体}
让警报= AP {警报}是{字符串:任何物体}
让title =警报title}作为字符串
让身体=警报}作为字符串
返回(标题
}
如果结构相同,则返回接收的通知标题和文本。
功能notificationreceived(通知:{ NSObject:任何物体}){
让window.rootviewcontroller Controller =
让视图视图等视图=
view.addnotification(
标题:getalert(通知:通知0),
身体:getalert(通知:通知)1)。
}
该方法将添加一行程序的主视图表格(见ViewController完整工程代码)。

我测试了三例推送通知:

应用程序关闭时

如果用户打开应用程序的通知,该didfinishlaunchingwithoptions方法来更新,如下:
函数的应用(应用程序:程序didfinishlaunchingwithoptions launchoptions:{ NSObject:_,任何物体})-> { bool
应用程序启动后自定义的覆盖点。
application.applicationiconbadgenumber = 0; / /清晰的徽章,当应用程序启动
如果从通知启动
如果让通知= launchoptions { uiapplicationlaunchoptionsremotenotificationkey }是{字符串:任何物体} {
window.rootviewcontroller.present(ViewController(),动画:真的,完成:无)
notificationreceived(通知:通知)
{人}
registerpushnotifications()
}
返回true
}
假设用户已阅读此通知,然后角落将被清除。然后,检查应用程序是否是一个图标或打开一个通知。在第一种情况下,该registerpushnotifications()方法被调用,那么过程继续。如果应用程序是由开放的通知,自定义notificationreceived方法来添加行。

当应用程序在前台运行时

如果用户使用的应用程序,这意味着应用程序是在前台,并接受通知的方式如下,TableView的处理是添加到该通知的方法:
应用(应用程序功能:用户信息:didreceiveremotenotification _ NSObject:任何物体,{ }){
notificationreceived(通知:用户信息)
}
注意:在这种情况下,通知不会发出声音。

当应用程序在后台运行时

在这种情况下,我添加了一些方法来清除这个角落,前台的通知和应用程序的处理是一样的。

功能applicationwillenterforeground(_应用:UIApplication){
application.applicationiconbadgenumber = 0; / /清除应用程序或恢复时的徽章
}
最后,该列表中有三行内容来自通知内容。

最后

有了iOS 10的通知,开发人员会有比以前更多的有趣的机会和交互权限。我希望这个关于如何使用通知的教程帮助您更好地理解通知是如何工作的。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部