前言

记录一下这几天学习的百度推送,觉得这个东西弄的还挺糟心的,好多注意的地方

正文

1.先申请一个百度开发者账号 http://push.baidu.com/fc

2.创建一个新应用,并应用配置

3.选择苹果的图标,开发用就选择开发状态,上线就可以选择生产状态

4.此时就让你上传开发证书,这个上传的文件需要时pem形式的,下面介绍,这个证书怎么配置

*创建APP ID,同一个公司可能会使用类似于 com.example.* 这样通用的 App ID,但是如果要在 App 中加入消息推送功能,那么是不能使用通用 ID 的,需要为之单独创建一个。

首先登陆 iOS Dev Center ,然后进入 Member Center,然后选择 Certificates,Identifiers & profiles,如下图:

然后点击下图红框中的任意条目,进入证书界面,如下图:

在进入证书界面后,在左边的Identifiers选择中选定App IDs,点右上角加号创建Appid,如下图:

在创建 App ID 的过程中,需要勾选 Push 服务,如下图:

进入提交页面,push服务处于configurable状态,如下图:

点击submit后到确认页面,如下图:

点击done后到初始页面,然后再次选择自己创建的appid,如下图:

在下图中选择edit按钮,配置推送的环境,如图:

然后配置好对应的推送环境,个人版和企业版的开发环境都是选择创建Development SSL Certificate类型的。个人版和企业版的发布环境。发布环境分以下三种:1. in-house必须是企业开发账户(企业内)(299美金) 2.ad-hoc个人账户或公司Company账户(99美金),但只用于内部测试(总共100个设备).3.上线Appstore只能是个人账户或公司Company账户(99美金))如下图:

如果你是为已有的 App 增加消息推送功能,那么打开原有的 App ID,开启 Push Notification 选项即可。流程跟上面的一样。

7.2 创建及下载证书

点击 Create Certificate按钮后会出现“About Creating a Certificate Signing Request (CSR)”,如下图:

到了这里,需要停下制作 CSR 文件,制作过程比较简单,下面是制作的过程。打开 Mac 系统软件'钥匙串访问',选择 '证书助理' 及 '从证书颁发机构请求证书',制作 CSR 文件,如下图:

生成证书后,返回到 “About Creating a Certificate Signing Request (CSR)” 的界面,点击 continue,然后在 “Choose File” 选择生成的CSR文件,最后点击 Generate,生成证书。如下图:

 现在证书制作已经完成。下载并双击用“钥匙串访问” 程序打开后,在左边一栏,上面选择登录,下面选择证书,然后选择刚刚打开的证书,切记不要展开它,直接右击导出p12,如下图:

将文件保存为 .p12 格式,输入密码,如图所示:

最后进入终端,到证书目录下,运行以下命令将p12文件转换为pem证书文件:

openssl pkcs12 -in MyApnsCert.p12 -out MyApnsCert.pem -nodes

提示需要输入密码,输入刚才导出 p12 时的密码即可。

此时你要配置的证书就配置完成了,上传这个证书就可以了。

5 就是在官方下载demo,打开开发的demo,把你刚刚申请的应用的API KEY添加到工程里

6. 开始更改工程里的东西

1)bundle identifier 改成你配置的bundle identifier

2)plish文件里的bundle identifier也改了

3) build setting ---coding signing----provisioning profile  描述文件 去配置一个

Provisioning Profile的创建 点击下图的+按钮开始创建profile

选择profile的环境

选择创建profile的appid和开发者证书,并选择设备,最后生成profile

最后下载profile配置到xcode中进行开发测试

注意。看看你这个描述文件好使不,不好使就收不到推送

7.运行,基本的推送就可以了

8.之后就要说自定义的推送内容,根据高级设置里的key = value 跳转到对应的点界面

demo里的方法

// 此方法是 用户点击了通知,应用被杀死状态下  在后台  前台 都会调起
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

可以在这个方法里面获得userInfo,就是我们高级设置里面传过来的字典,用userInfo[@"key"]传一个值,

@interface AppDelegate ()<UIAlertViewDelegate>
{
UITabBarController *_tabBarCtr;
NSString * _str;
}
//传值
_str = userInfo[@"key"];

这个方法就是点击确定和取消的响应

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{}

可以在这里面填写你想要跳转的界面

 if (buttonIndex == ) {
if ([_str isEqualToString:@"BookViewController"]) {
BookViewController *bookVC = [[BookViewController alloc ] init];
[_tabBarCtr.selectedViewController presentViewController:bookVC animated:YES completion:^{ }];
}

9.可以自己设置提醒的声音

放工程里面一个音频文件,

必须为以下几种数据格式:

  • Linear PCM
  • MA4(IMA/ADPCM)
  • μLaw
  • aLaw

你可以将它们打包为 aiffwav 或caf文件。自定义的声音文件时间必须小于 30 秒,如果超过了这个时间,将被系统声音代替。

在高级设置里面的音频文件填上音频文件的名字就可以了(我用的MP3是可以的)

参考

http://push.baidu.com/doc/ios/api

百度云推送----iOS的更多相关文章

  1. 百度云推送-服务端 C# SDK

    思路: 1.公司有项目需要做android和ios手机端推送消息的功能: 2.没有接触过这方面的知识,一头雾水,开始在网上一顿搜,网上倒是有不少解决方案,首先搜的是android的解决方案,因为ios ...

  2. App之百度云推送

    集成SDK 下载最新的Android SDK压缩包并解压,在新建工程或已有工程中增加百度云推送功能. 我下载的是 ,里面有一个同名的文件夹,文件夹中有 导入云推送jar包和so文件: 将解压后的lib ...

  3. 百度云推送的Java实现

    推送现在基本APP都有,项目中要通知和消息,所以综合考虑用了百度云推送 Java实现步骤: 1. 下载 http://push.baidu.com/sdk/push_server_sdk_for_ja ...

  4. android开发(25) - 推送的实现,使用百度云推送

    什么叫推送? 中文名称:推送 英文名称:push 定义:描述因特网内容提供者和因特网用户之间工作方式的术语.“推送”指因特网内容提供者定期向预订用户“提供”数据. 项目中有可能会用到推送.如果自己写一 ...

  5. Java端百度云推送消息Demo

    因为在做Java服务器有用到推送消息机制,于是到网上找了一下,就自己试着敲了一个demo.这个demo主要是简单的一个对app消息推送. jar:百度云消息推送Java端的jar. package x ...

  6. Android推送服务——百度云推送

    一.推送服务简介 消息推送,顾名思义,是由一方主动发起,而另一方与发起方以某一种方式建立连接并接收消息.在Android开发中,这里的发起方我们把它叫做推送服务器(Push Server),接收方叫做 ...

  7. 改写百度云推送SDK,PHP PEAR 包:Services_Baidu_Push

    iPhone使用apple push很方便,而Android很多厂商删除了google push,而且google在大陆连不上,所以要用别的办法. Android常见的推送服务商有:极光推送(http ...

  8. Android 高仿微信实时聊天 基于百度云推送

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38799363 ,本文出自:[张鸿洋的博客] 一直在仿微信界面,今天终于有幸利用百 ...

  9. 使用【百度云推送】第三方SDK实现推送功能具体解释

    之前介绍过怎样使用shareSDK实现新浪微博分享功能,今天介绍怎样使用百度云推送SDK实现Android手机后台推送功能. 执行效果例如以下 第一步,假设使用百度的SDK,当然要先成为百度的开发人员 ...

随机推荐

  1. php中使用mysql_fetch_array输出数组至页面中展示

    用的是CI框架,很好的MVC结构 在Model层 public function showProteinCategory(){ $sql = "SELECT DISTINCT protein ...

  2. HTML学习(八)列表和块

    无序列表无序列表是一个项目的列表,此列项目使用粗体圆点(典型的小黑圆圈)进行标记.无序列表始于 <ul> 标签.每个列表项始于 <li>.<ul type=“”> ...

  3. 18、手把手教你Extjs5(十八)模块记录的拖放删除、拖放复制新增

    网页当中的拖放(drag-drop)是比较有趣的操作,extjs5中很好的封装了拖放的动作,也有各种类来支持,但是要学好“拖放”这个东西真是很难,特别是象我这样英语不好的人,看不太懂官网上的说明,做一 ...

  4. Android L(5.0)源码之图形与图像处理之图形特效——Matrix

    最近在研究android 5.0的gallery模块,学习了相关的知识点,准备写点博客总结一下,有时间了会补充完整

  5. 无锁同步-JAVA之Volatile、Atomic和CAS

    1.概要 本文是无锁同步系列文章的第二篇,主要探讨JAVA中的原子操作,以及如何进行无锁同步. 关于JAVA中的原子操作,我们很容易想到的是Volatile变量.java.util.concurren ...

  6. 在Eclipse中配置tomcat

    为了在Eclipse中进行struts2的测试,才发现自己机器上的Eclipse没有集成Tomcat,在网上找了半天,不是这个插件没有下载地址,就是那个有好多注意事项或者版本问题. 结果,自己到tom ...

  7. 【Xilinx-Petalinux学习】-03-PetaLinux通过eMMC方式启动

    前面说的我的硬件上有一颗eMMC的芯片,型号是MTFC4GACAJCN-4M IT,有4GB的容量. BOOT.bin的文件较小,只有不到3MB,但是image.ub的文件根据不同的需求,将来可能会越 ...

  8. css所有属性参考

    学习地址:https://developer.mozilla.org/zh-CN/docs/Web/CSS/Reference

  9. centos 用户管理

    3.使用命令管理账户 useradd 选项  用户名//添加新用户 usermod 选项  用户名//修改已经存在的用户 userdel -r    用户名//删除用户表示自家目录一起删除. grou ...

  10. 修改GitHub上项目语言显示的问题

    问题 最近将自己写的博客放到github上了.由于使用了富文本编辑器.jQuery.Bootstrap等第三方插件,导致js.css等代码远远超过你自己写的代码. 于是也就成这样了 而且这里也显示Ja ...