玩转ios友盟远程推送,16年5月图文防坑版

news/2024/7/7 19:39:26

最近有个程序员妹子在做远程推送的时候遇到了困难,求助本帅。尽管本帅也是多彩的绘图工具,从没做过远程推送,但是本着互相帮助,共同进步的原则,本帅还是掩饰了自己的彩笔身份,耗时三天(休息时间)帮她完成了推送功能。PS:三天只打了一局dota,你们就知道这有多难,多耗时了。(其实并没有,真正做过一次就知道这其实很简单了,现在有程序媛再找本帅做推送,简直就是分分钟的事)。

对不起请允许我这一次!对不起请允许我这一次!

  鉴于这次做推送的时间绝大多数都浪费在了“寻找教程->教程有误(更新不及时)->寻找教程”上,我决定写一篇防坑的推送教程,与诸君共勉。

接下来是干货。

首先,我们要注册一个友盟账号。

找到网址,注册并登录。我就是不告诉你怎么注册!

不会注册的话,还是不要学编程了。不会注册的话,还是不要学编程了。

然后你要在首页找到推送板块,点进去先体验一下需要什么。

当你再进来找 自!己!的!推送项目时,还!是!点击这个神奇的地方。当你再进来找 自!己!的!推送项目时,还!是!点击这个神奇的地方。

当然你第一次进来,界面跟我的会稍有不同,毕竟我已经添加了项目。

点击帮助->文档中心点击帮助->文档中心

够清楚咩->点击!够清楚咩->点击!

来到这里,你就知道发生了什么,友盟的小伙伴也制作了详细的教程。来到这里,你就知道发生了什么,友盟的小伙伴也制作了详细的教程。

于是小伙伴们就产生了疑问:人家这不是有教程吗,你是闲的吗?

并不是闲的。并不是闲的。

首先我们要感谢友盟的小伙伴给出了详尽的

SDK集成指南

大家照着做

,妥妥的!没毛病!

然而。。。。。

证书设置指南会让你完全摸不着头脑,上面这幅动人画面,是友盟给出的第一幅画面,也是我从开始到收到远程推送消息都没看到的画面。当然了,大神们会嗤之以鼻,这个画面改变,是membercenter界面升级了,简约化了,你就找不到了呀!?说来惭愧,这里恰恰是本帅耗时最久的地方。

有两个原因:

1,你要登你的付费账号。你要登你的付费账号。你要登你的付费账号。对,99刀那个,否则接下来的步骤你都无法完成,普通账号压根就没!有!入!口!

2,membercenter之于彩色绘图工具,如同青楼之于弱冠男子,真的是十分不熟!尤其点进链接一看界面风格不对,当场就会懵逼的好吗!

并没有。并没有。

好了,下面就是我绕坑的图文,纯干货来了,你们的掌声在哪里?(此时你已经参照友盟教程进行了SDK集成,如果并没有,请参照教程集成。附链接http://dev.umeng.com/push/ios/integration)

再次提醒:

如果你的界面风格是这样的,别挣扎了,上面的红色字重读一遍。如果你的界面风格是这样的,别挣扎了,上面的红色字重读一遍。

正确的界面是这样的:

进来以后点击左上角那个黑苹果进来以后点击左上角那个黑苹果

往下滑(捂脸)往下滑(捂脸)

长剑所指,click长剑所指,click

看到这个画面的你嘴角露出了一丝不易察觉的微笑。

你想要的样子我都有!你想要的样子我都有!

接下来,我们就开始作法了!

核心步骤:

1,创建app ID。

2,根据app ID创建profiles并应用到当前项目。(Xcode已打开的情况下,双击该文件即为应用)

3,创建证书请求。

4,制作证书,将证书导入mac钥匙串,导出p12证书。

5,将导出的p12证书上传至友盟。

6,愉快地进行测试。

来吧少年!创建app ID!

点1点2到这画面

勾选Push Notification勾选Push Notification

点击注册点击注册

不要忘了点击Done,虽然我也不知道不点有什么后果。不要忘了点击Done,虽然我也不知道不点有什么后果。

至此,app ID创建完毕,你的app ID列表里已经有了待会需要用的ID。


多么的流畅啊!

不一致就抓瞎了,重新做。不一致就抓瞎了,重新做。

接下来,我们就要配置Provisioning Profile了。因为我只是做测试模式,所以要勾选Development,如果上线,请勾选Distribution。

红框蓝点红框蓝点

这里就是我们跋山涉水做好的app ID这里就是我们跋山涉水做好的app ID

勾选自己的开发证书

勾选测试设备。

注意

1、如果需要的设备不在列表中,需要通过左侧的Devices中手动添加,或者通过XCode的Organizer自动添加。

2、Provisioning Profiles创建完成后是可以重新编辑更新的

建议放到桌面,我之前给它取了个名字叫Give me five!建议放到桌面,我之前给它取了个名字叫Give me five!

这个时候你的Xcode应该是打开的,then,

双击

你刚下下来的Give me five,就算是安装到Xcode了,简单不?带劲不?

迷之红布迷之红布

打开你的Build Setting,将Provisioning Profile勾选为你的Give me five。(我的boyPush是上一个项目的,请忽略)

boyPush看起来怪怪的呢boyPush看起来怪怪的呢

好的。接下来,我们制作证书。胜利在望,我的心情是激动的。

打开你的钥匙串。不是腰里那串,mac里的。不要在意底部的证书勾选,没影响。

迷之红布迷之红布

存到磁盘存到磁盘

用Finder显示快速定位用Finder显示快速定位

这个时候你就知道你的请求文件放在哪里了,接下来我们会用到。现在打开你的浏览器,切回到membercenter。


又回到最初的起点,呆呆地坐在电脑前。

请眼熟我请眼熟我

这次我们勾选的是蓝色方框

ID还是得仔细啊,表示这个坑跳过一次,5米深,简直爬不上来。

continue,这里是要求你创建证书请求以便下一步操作。对,就是刚才我们已经做的那一步,所以直接下一步。

choose你刚刚下载的

请求文件

,continue

证书就这么制作好了。apple的证书给了我一些奇妙的感觉,就好像小时候考了年级第一老师发了张以资鼓励的奖状,又好像揭开瓶盖看到了再来一瓶。

对了,记得下载下来,建议放在桌面。双击它。piapia的。


点击Done点击Done

制作完成你的云端也有了备份。

证书在手,天下我有!证书在手,天下我有!

如果你下载完证书并且piapia的双击过它,那么你打开钥匙串,就能发现它的踪迹。导出为P12格式文件。记得让证书展开,不要选中私钥,如下图。这一步是为友盟后台上传证书做准备。

给你的P12证书取个响亮的名字吧。

这一步还会让你设置密码,自己设置一下,是你的证书密码这一步还会让你设置密码,自己设置一下,是你的证书密码

这一步的密码是mac用户密码这一步的密码是mac用户密码

你的小鲤鱼有了没?

回到友盟,你很容易就能走到这一步。回到友盟,你很容易就能走到这一步。

这里生成的两串羊肉,不对,两串key,AppKey是必用的,另一个只有你使用API发送推送时才用得到。这里生成的两串羊肉,不对,两串key,AppKey是必用的,另一个只有你使用API发送推送时才用得到。

开始做送分题吧。开始做送分题吧。

到项目appDelegate.m文件里添加app key

在这个代理方法里获取设备的token,打印出来,你会用得到。

NSLog(@"%@",[[[[deviceToken description] stringByReplacingOccurrencesOfString: @"<" withString: @""]

                  stringByReplacingOccurrencesOfString: @">" withString: @""]

                 stringByReplacingOccurrencesOfString: @" " withString: @""]);

知道你们懒得照图敲,代码贴这了,不谢。

然后呢,还是到友盟,点进你的项目。

就是pushDemo呀就是pushDemo呀

点选测试模式

先添加设备

刚才你获取的token,现在就用上了。设备名称自己来吧。

添加成功!好了,现在真机连接,编译代码,锁屏!激动人心的时刻就要到来,你们不要犹豫!

添加个测试消息,试试火力。

这一步的category1是照着appDelegate.m里的填的,你们应该也一样。

我知道你在读秒。。。。

5

4

3

2

1

收到了没有!

欢迎大神批评指正,督促本彩色绘图工具前行。如有改进建议或错误指正或疑问,请留言或联系QQ:960449174.

感谢宋鲜肉与飞哥的指导。

以上。



http://lihuaxi.xjx100.cn/news/235558.html

相关文章

微信支付 常见报错

2019独角兽企业重金招聘Python工程师标准>>> https://blog.csdn.net/hj7jay/article/details/51217784 转载于:https://my.oschina.net/f839903061/blog/3058256

HDFS的shell和API操作

1. HDFS的shell操作 hadoop version //查看版本 hadoop fs -appendToFile src(Linux中的文件) dest(hdfs目录下的文件) //追加 hadoop fs -cat file(hdfs目录下的文件) //查看文件内容 Hadoop fs -tail file(hdfs目录下的文件) //查看文件末尾1kb的数据…

【mysql错误】用as别名 做where条件,报未知的列 1054 - Unknown column 'name111' in 'field list'...

需求&#xff1a;SELECT a AS b WHRER b1; //这样使用会报错&#xff0c;说b不存在。 因为mysql底层跑SQL语句时&#xff1a;where 后的筛选条件在先&#xff0c; as B的别名在后。所以机器看到where 后的别名是不认的&#xff0c;所以会报说B不存在。 这个b只是字段a查询结…

【Swift】 GETPOST请求 网络缓存的简单处理

GET & POST 的对比 源码&#xff1a; https://github.com/SpongeBob-GitHub/Get-Post.git 1. URL - GET 所有的参数都包含在 URL 中 1. 如果需要添加参数&#xff0c;脚本后面使用 ? 2. 参数格式&#xff1a;值对 参数名值 3. 如果有多个参数&#xff0c;使用 & 连接 …

CF1148F - Foo Fighters

CF1148F - Foo Fighters 题意&#xff1a;你有n个物品&#xff0c;每个都有val和mask。 你要选择一个数s&#xff0c;如果一个物品的mask & s含有奇数个1&#xff0c;就把val变成-val。 求一个s使得val总和变号。 解&#xff1a;分步来做。发现那个奇数个1可以变成&#x…

iOS中几种定时器

一、NSTimer 1. 创建方法 NSTimer *timer [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:selector(action:) userInfo:nil repeats:NO];TimerInterval : 执行之前等待的时间。比如设置成1.0&#xff0c;就代表1秒后执行方法target : 需要执行方法的对象…

Ubuntu 上创建常用磁盘阵列

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出&#xff0c;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘&#xff0c;同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价…

活体检测-用照片来做人脸识别可行吗?

随着科技的迅速发展&#xff0c;智能化也越来越发达&#xff0c;并慢慢进入到我们日常生活中来了。如考勤 早期是人工记录&#xff0c;签到&#xff0c;然后是打卡&#xff0c;刷卡&#xff0c;再到指纹。现在已经发展到更加先进的人脸识别考勤了。 卡可以代打&#xff0c;代刷…