iOS推送详解(一)基本集成操作
来源:互联网 发布:sql字符串函数有哪些 编辑:程序博客网 时间:2024/06/11 06:15
后面举例采用百度推送服务,各类主流第三方推送大同小异只是方法有所不同
一:准备工作
1)登陆百度推送开发者平台(无账号申请注册),下载相关SDK,在官网上又详细的配置说明以及简单的demo例子,这里就不详细说明
2)在百度推送平台创建自己的应用,有两个注意事项
a.注意标识要同自己项目的 bundleId一致;
b,应用创建成功之后,把相应生成的APP ID(暂无用处) API KEY(写进appdelegate文件) SECRET KEY (给服务端后台)
3)配置相关证书生成pem证书,上传至百度推送自己创建应用的里面有。(具体配置证书详见百度推送官网),p12生成pem文件命令如下
openssl pkcs12 -in MyApnsCert.p12 -out MyApnsCert.pem -nodes
// 在 App 启动时注册百度云推送服务,需要提供 Apikey
[BPush registerChannel:launchOptions apiKey:@"这里填写上面的API KEY" pushMode:BPushModeDevelopment withFirstAction:@"打开" withSecondAction:@"回复" withCategory:@"test" useBehaviorTextInput:YES isDebug:YES];
上面注册之后,程序启动时会自动调用下述方法来获取channelId (作为每个手机的唯一标示,服务端后台发送推送都是给这个id推的)
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
在该方法中获取channelId,存在本地,后续使用(由于各种原因这里的
channelId
不一定能很快的获取到,所以有时直接操作会空值,有一点肯定这个方法是一直到获取到channelId为之的所以不担心会一直获取不到)
这里说几种我自己遇到的情况
一种、APP没有登陆选项,或者非必须登陆
实现方式,在什么时候获取到channelId什么时候向服务端发送这个
channelId,服务端保存 以后推送直接往这里推即可
二种、APP需要登陆
实现方式,一样在该方法中获取
channelId
,并保存本地,在登陆方法中把这个channelId
一并发给后台,作为后续的发送推送使用,但有时会再登陆时还没有获取到channelId
只能传一个空值给后台,处理办法:在获取到这个channelId
之后判断当前是否是已经登陆过了,如果未登陆那就什么也不做,等待登陆时穿后台即可,如果已经登陆那么就在重新向后台发送一次channelId
,让后台更新保存即可
至此基本的配置完成,下面可以做些简单的测试能否接到通知
下一篇文章讲解当接收到推送,在前台、后台做操作
- iOS推送详解(一)基本集成操作
- iOS推送证书操作(一)
- iOS 集成极光推送(一)
- IOS推送详解(一)------APNs
- iOS极光推送集成
- iOS极光推送集成
- iOS极光推送集成
- iOS集成极光推送
- iOS极光推送集成
- ios集成极光推送的一些坑点及详解
- ios集成极光推送的一些坑点及详解
- git 推送基本操作
- iOS 集成极光推送教程
- iOS集成个推推送
- React-Native-iOS推送集成
- iOS极光推送集成注意事项
- 极光推送集成步骤详解
- ios推送(一)
- react Native 一:在ubuntu MATE 16.04 下搭建android studio开发环境
- 金蝶KIS专业版实现'条码标签打印'功能对物料多个条码打印
- 常用JavaScript验证小工具集,以及部分jQuery 扩展再总结
- 常用机器学习算法分类概述
- 一个从阿里面试回来的程序员的感想
- iOS推送详解(一)基本集成操作
- ZXing实现条形码、二维码
- gitlab密码重置
- Android中Activity启动模式
- JS闭包问题?
- MSER最大稳定极值区域
- CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
- 微信小程序时代,我来了
- 对Apple ProRes编解码器的学习