ios push notification service _简单的服务器客服端解析以及代码。

一切都是浮云,官方文档才是王道。


————————

一,ios push流程,

1),用户装了我们的游戏或者应用,并同意打开通知。会发送token至我们自己的服务器。

2),我们服务器进行推送时候,将token和推送内容发至apple的 apns 服务器。

3),apns服务,接受我们服务消息对用户进行push。

4),成功便在这一刻。

下面是一张到处都有的图片,顺便拿过来也用一下。以便于看图说话。


二,乱七八糟的证书

这节不想说,到处都是apple的流程截图,唯一想说的是,作为新手的我遇到的问题:

1),用尽全身72变的功力,终于把证书搞定,正打算真机调试,竟忽然跳出error!花有别用红,瞬间明白error是红色的缘由了。。。编译器豪不犹豫的say:CodeSign error: Certificate identity ‘iPhone Developer: XXX (YYY)’ appears more than once in the keychain. The codesign tool requires there only be one.”

于是google各种答案,于是淡定的删除了其他的 “iPhone Developer: XXX (YYY)"只留下了这一个,但是xcode竟然还暴红。于是不淡定的删掉了所有的iPhone Developer: XXX (YYY)",重新再次生成了证书。这次xcode给面子了。

2),一开始进入真机调试的时候,总是得不到token并且进入didFailToRegisterForRemoteNotificationsWithError函数,log出来error内容是:"NSLocalizedDescription=未找到应用程序的“aps-environment”的权利字符串"。

问题在哪里呢?不错,问题又出在证书上,请用文档打开你的证书,搜索"aps",很开心,你会发型你找不到。这个时候请到developer.apple。上重新下载你的证书,并且搜索"aps",如果找到了。问题便解决了。

3),由于苹果新手,对于苹果中的 NSString,NSData,NSAarray,还有文件系统的操作完全不熟悉,最后。。。舍弃了ios的文件系统。用了c++。

三,客服端

客服端需要做的事情非常少,在你的AppDelegate里面只要做两件事:一,注册push服务;二,像自己的服务器发送token。

1),注册push服务,

didFinishLaunchingWithOptions函数里面调用

[[UIApplicatiosharedApplicationregisterForRemoteNotificationTypes:(UIRemoteNotificationTypeAler|UIRemoteNotificationTypeBadg| UIRemoteNotificationTypeSound)];

唯一需要注意的是,如果你的appdegelate文件是.mm那么上面的函数会报错,UIRemoteNotificationTypeAler|UIRemoteNotificationTypeBadg| UIRemoteNotificationTypeSound,只能在.m里面使用。

2),发送token至自己的服务器

故名思意,发送token(字符串)到自己的服务器。

在appdegelate里实现接口 didRegisterForRemoteNotificationsWithDeviceToken。并且在里面实现向自己服务器发送token数据。

四,服务器

服务器需要证书里面的数据,乱七八糟的,我也不知道是何物,总之就是苹果的一些类似于开业许可证,执照之类的吧。这个不细说,简单的服务代码网上到处都有,我也是从一个人的博客里面下载了服务器代码(c语言版本)。请原谅我忘记记下那人的博客地址,若有下次必定在次贴出。现在也把这些代码贴在此处。

1),推送的数据格式(json)

格式有两种:

1.1),{"aps":{"alert":"Hello,world!","sound":"default","badge":1}},其中alert是推送的文字,sound是播放声音,"default"是默认的声音,badge”字段是需要在主屏图标上显示的提示数字

1.2),{"aps":{"alert":{"action-loc-key":"Open","body":"Hello, world!"},"sound":"default","badge":2}}和上面的区别就是 alert的格式不同,上面只是一段文字,这个会多出一个"Open"的按钮。

2),服务器下载链接地址(xcode)

http://download.csdn.net/detail/id_for_xiaosi/5098541



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值