IOS 推送(本地推送、远程推送、三方推送[极光推送])

本文详细介绍了iOS的本地通知、远程推送,以及如何使用极光推送。内容包括:本地通知的实现、远程推送的设置和测试、极光推送的集成步骤,同时提供了相关的学习资源和代码示例,帮助开发者全面理解和应用iOS推送技术。
摘要由CSDN通过智能技术生成

1.本地通知【这里只是讲的一种传值方式,本地推送可以在网上搜索 简书里面有很多好文章】

关于本地推送的作用及意义:【后期完善】

实现步骤
大致4步:1创建通知、2注册通知、3实现函数、4删除通知
注意! 下面的内容中没有提到:在使用通知的时候,为了避免重复注册:最好在生命周期的函数中进行 注册 和 删除通知
如下:
//注册通知
- (void)viewWillAppear:(BOOL)animated
{
    、、、、、
}
//在这里删除通知 不然会导致 多次触发通知方法
- (void)viewWillDisappear:(BOOL)animated
{
    //删除通知
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

在A类中创建通知,并设置要传递的参数,和通知哪个方法使用这个参数。这里传递的是一个字典,方法名是: tongzhi


然后在需要获取通知的控制器类的viewDidLoad方法中注册通知


接着在这个类中实现A类中描述的方法,就可以获取到通知的信息了


最后在不使用通知的时候,需要删除通知




2.远程推送

下面两篇文件是兼容IOS的推送。 如果是使用三方【比如极光推送】的话,可以直接看三方的最新文档即可。

iOS开发 iOS10推送讲解(基础篇):http://www.jianshu.com/p/f5337e8f336d

:iOS开发 iOS10推送讲解(高阶1):http://www.jianshu.com/p/3d602a60ca4f



参考来自:http://blog.csdn.net/shenjie12345678/article/details/41120637

如果还有不明白的地方 可以 结合http://www.open-open.com/lib/view/open1431566847716.html 学习。


用推荐方式去实现更好!之后的内容是我的学习过程,方便理解。同样也可以实现

推荐方式:     http://blog.csdn.net/think12/article/details/8863411 from同事推荐[将文件的命名与文中保持一致,后面的命令行直接copy打印即可]


经验:只要正确下载好了配置文件和证书,在发送测试推送的时候 直接在命令行执行 php文件即可


注意事项:

*  在程序中注册推送的时候一定要区分系统版本 IO8之前和之后的注册方式是不同的!!!![见下面的绿色背景代码]

   注册推送的目的是想apns发送本应用的id和bundle,注册成功后apns会返回devicetoken

   devicetoken 并不是是唯一的,deviceToken的生成方式就是手机id+应用的bundle,测试版 和 发布版的deviceToken也不一样


1、主要注意证书、AppID、配置文件的设置和命名的规范【这个命名规范非常重要!格式错了 下面的整个过程结束后也得不到预期的结果】

1.2例如 在AppID的命名时 bundle的命名应该为 com.xxx.项目名称如下图



3、在运行程序之前在build setting中的Code Signing的参数设置[如下图]



第一部分、先来看一张苹果官方对其推送做出解释的概要图。

Provider是给你手机应用发出推送消息的服务器,而APNS(Apple Push Notification Service)则是苹果消息推送服务器。你本地的服务器当需要给应用推送一条消息的时候,先要将消息发出到苹果推送服务器,然后再由苹果推送服务器将消息发到安装了该应用的手机。

接下来再看一张解释图:


根据上图的逻辑我来给大家解释一下:

1.你的IOS应用需要去注册APNS消息推送功能。

2.当苹果APNS推送服收到来自你应用的注册消息就会返回一串device token给你(很重要)

3.将应用收到的device Token传给你本地的Push服务器。

4.当你需要为应用推送消息的时候,你本地的推送服务器会将消息,以及Device Token打包发送到苹果的APNS服

5.APNS再将消息推送给目的iphone


第二部分

1.从证书颁发机构颁发证书

打开你mac的钥匙串访问 然后点击钥匙串访问


随后它会弹出一个窗口

用户电子邮件信息

就填写你苹果开发者账号的名称即可(应该是一个邮件名称),点击保存到磁盘的选项,点击继续,显示如下


点击存储,文件名为:CertificateSigningRequest.certSigningRequest 随后将他放在一个文件夹中我们取名push吧!

第三部分


访问苹果开发者网址:https://developer.apple.com/


选中MemberCenter选项,进入登陆页面,用你的苹果开发者账号登陆,过一会网页就会自动跳转到下图。点击红色所选部分

内容进行下一步的操作。


选择Certificates选项,设置证书,如图所示先解释一下


Development选项的作用顾名思义就是用来作为开发使用的证书,Production选项则

是用来发布产品使用的,名称很陌生是不是,之前的开发者网页是没有这一选项的,可能是苹果把他修改了,用这个名称更加能让人

理解吧(字面上解释就是产品么)。两个选项生成证书的步骤是一样的,现在我们使用开发者的选项进行证书的制作,步骤如下:

选择Development选项


点击上面的加号选项,



选择APNS选项(开发么当然是在沙盒环境下了,模拟真实情况),然后Continue


这个AppID我们在下一部分讲如何生成,现在我用的是已经生成好的一个应用ID,继续Continue


这边就要选择在钥匙串访问环节下载下来的CertificateSigningRequest.certSigningRequest文件了,选择并生成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值