实现i设备push notification的一堆要点


前言 一如既往地 苹果已经给了很详细的文档 https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html

如果嫌看文档太累 要点如下

0 背景知识 iOS的notification分成local和push两种 push notification是非得有网 连着苹果的推送服务器才能收到的提醒 一次提醒包括图标上的红圈小数字 声音 和消息内容 新浪微博的app在push时就只更新红圈小数字 没有声音和消息内容 instagram就只有消息内容 没有红圈小数字和声音 都看开发者爱好

1 最基础前提 你得拥有一个有效的开发者账号 测试这功能要用到苹果的推送服务器 它可不会让人免费用

2 在iOS Provisioning Portal里创建一个App ID 然后Configure一下 也就是提交个钥匙串 让Apple Push Notification service变成Enabled for Development (日后要正式发布了也同理)

3 创建一个包含你刚创建的App ID的Development Provisioning Profile 注意 Xcode4很贴心地帮你管理着一个App ID是*的通用Provisioning Profile 它只是方便你真机调试一般程序用的 要想测试push notification不能用这个 必须新建一个有明确App ID的Development Provisioning Profile 然后用它打包上真机

4 开始写客户端代码 在程序启动之后 一般也就是applicationDidFinishLaunching:里面 执行registerForRemoteNotificationTypes:方法 这时候需要联网

5 失败的话会执行 – (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err;

6 成功的话会执行 – (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken;

7 把devToken发给你的服务器 你的服务器要跟苹果的推送服务器建立连接了 这需要客户端给的devToken

8 客户端还应该考虑实现application:didReceiveRemoteNotification:方法 不过其实就算你不管它 客户端也可以正确收到push notification了

9 除此之外客户端还得考虑一下什么时候把红圈小数字置为-1 如果不理它 它将一直存在

10 好了 剩下的事儿都是服务器该操心的了 SSL证书和payload神马的 虽然那也很麻烦 但不在本文讨论范围之内

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值