首页 > 编程知识 正文

ios,苹果手机的推送功能在哪里

时间:2023-05-06 04:59:25 阅读:53075 作者:3347

iOS App消息推送集成指南

编辑文档

概要

机智云APP开源框架集成了百度推送和极光推送功能,只需修改部分代码即可立即使用。 本文档介绍如何基于消息云开源框架快速集成消息推送功能。 有关开源框架的信息,请参阅快速入门文档。

极光推送的高速集成

1 .申请极光AppKey和主安全

1.1创建极光APP应用程序

如图所示,需要上传苹果的开发者证书、开发证书和生产证书以及证书密码。

1.2苹果证书申请

苹果开发者中心:登录https://developer.apple.com,申请并下载cer证书,双击证书从密钥列打开,选择证书,选择《登陆》和《我的证书》,然后右键单击证书

单击《导出》将显示以下组合框,其中设置了证书名称和存储路径

单击“存储”,显示密码输入框并设置证书密码

1.3将证书导入极光

证书导入成功后,将显示《已验证》,如下图所示

现在创建了极光APP应用程序,APP应用程序生成的AppKey和Master Secret也可以正常使用

2 .将第三方推送绑定到云

2.1d 3申请开通工程

开设D3 Engine需要通过机智云审核,点击开通服务后,需要联系机智云FAE协助审核开通。

2.2云绑定极光推送

审查通过后,服务栏中将显示D3 Engine。 设置—单击编辑推送平台

在下图中填写极光申请的APP app key和Master Secret,选择测试环境。

注:如果选择证书类型《开发》,则只能在开发环境APP中接收推送消息

2.3使用d3engine创建推送规则

项目列表-以下是单击新项目、创建设备并将其联机后,将消息推送至APP的规则。

将“设备数据”框拖到右边距,然后双击该栏。

将触发方式设为“设备在线”,单击“确定”。

双击“推送APP”,设置要推送的内容。

修改UIConfig.json代码

如果填写jpush_app_key并将push_type设置为1,则选择极光推送,并且绑定该极光APP应用程序的机器智云为app_id、app_secret、product

4. XCode配置推送

打开项目,选择targetscapabilities,然后打开推送通知按钮,即可打开项目的远程推送功能。

启用按钮后,将自动生成. entitlements文件,如下所示: 红色框中的值表示推送环境,开发表示开发环境,分发表示生产环境。 值development仅在开发环境中启用推送,而分布设置仅在生产环境中启用。

5 .启动虚拟设备

6 .部署执行APP

在以上步骤中,该APP具备极光推送功能,引入手机后,可以通过申请账户登录并扫描代码绑定云上的虚拟设备。

7 .测试推送功能

关闭虚拟设备,然后重新打开,可以看到手机收到了推送消息。

8 .极光定制推送音

D3引擎支持为每个规则设置特定的推送声音,主要需要进行两处修改。

8.1按键设置

要打开推送规则,请执行以下操作:

选择APP的复选框(上面红色框的部分)。

单击《显示json样例》 :

Example的具体内容如下。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21{

"baidu": {

"aps": {

"badge": 0,

"sound": "default"

},

"notification_builder_id": 0,

"notification_basic_style": 0

},

"jiguang": {

"ios": {

"sound": "sound.caf",

"badge": 1

},

"android": {

"builder_id": 0,

"alert_type": 1,

"style": 1

}

}

}

这里做的是iOS的极光推送,假如推送声音名称为《pushMusic.caf》,则高级参数需要填写的内容如下:

1

2

3

4

5

6

7

8{

"jiguang": {

"ios": {

"sound": "pushMusic.caf",

"badge": 1

}

}

}

具体如图:

点击《确定》保存设置即完成推送声音的设置

注意:”badge”这个参数是设置推送后APP显示的角标内容,当设置为1时,APP收到推送显示的角标为1,不过按照正常的逻辑应该是APP收到多条推送会自动累加角标数,如果这里填1,那不管推送多少条通知,角标一直都为1。

如果要角标根据消息数量累加,即把”badge”: 1去掉即可,没有设置的话,极光会默认做累加操作。

8.2 添加推送声音文件到项目

当在D3成功设置自定义推送声音之后,每当有推送消息推到APP中,系统会先去APP中查找是否有相关名称的声音文件,有:则播放该声音,没有:则播放系统默认的声音。

推送声音的音频格式包括aiff,wav,caf 文件,并且播放时间必须在30s内,文件也必须放到 app 的 mainBundle 目录中,有其中一个条件不满足,系统都会播放默认通知声音来替代。

添加音频文件到项目如下:

至此自定义推送声音设置结束,推送相关消息APP将播放设置的音频。

快速集成百度推送

1. 申请百度API KEY

1.1 创建百度应用

如上图,需要上传苹果pem格式的开发证书和生产证书。

1.2 申请苹果证书

申请cer证书并导出p12的过程见《快速集成极光推送》的1.2部分,下图示范如何从p12证书导出pem证书

进入《终端》,输入如下命令即可导出pem证书。

1openssl pkcs12 -in -out -nodes

1.3 导入证书到百度推送

上传pem证书到《1.1 创建百度应用》所示图中,上传证书成功,会显示《已验证》,并且生成百度推送的API KEY 和 SECRET KEY。

2. 在云端绑定第三方登陆

2.1 申请开通D3 Engine

该步骤可参考《快速集成极光推送》的2.1部分

2.2 云端绑定百度推送

将从百度云推送平台申请到的应用API Key和Secret Key填写到下图,并选择测试环境。

注意:选择证书类型为《开发》时,只有在开发环境APP才能收到推送消息

2.3 利用D3 Engine创建推送规则

该步骤可参考《快速集成极光推送》的2.3部分

3. 修改UIConfig.json代码

填写bpush_app_key,修改push_type为2,表示选择百度推送, 并且填写绑定了该百度应用的机智云应用于app_id、app_secret、product_key的值中。

注意:这里也需要设置XCode推送,详情看《快速集成极光推送》的《4 XCode配置推送》

4. 修改百度推送的启动接口

百度推送的启动接口有一个pushMode参数,分别有两个值BPushModeDevelopment 和 BPushModeProduction。

BPushModeDevelopment:设置百度推送环境为开发环境

当设置的环境与当前APP的运行环境相符合是,推送才会生效。

5. 启动虚拟设备

该步骤可参考《快速集成极光推送》的第5部分

6. 部署APP运行

通过以上步骤,该APP已具备了百度推送功能,部署到手机上后,申请帐号并登录,通过扫码即可绑定云端的虚拟设备。

7. 测试推送功能

关闭虚拟设备后,再次开启,即可看到手机收到了推送消息。

8. 百度自定义推送声音

8.1 设置推送声音

进入到推送声音设置界面如下,如何进入请参考极光的《极光自定义推送声音的8.1部分》

获取Example的具体内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21{

"baidu": {

"aps": {

"badge": 0,

"sound": "default"

},

"notification_builder_id": 0,

"notification_basic_style": 0

},

"jiguang": {

"ios": {

"sound": "sound.caf",

"badge": 1

},

"android": {

"builder_id": 0,

"alert_type": 1,

"style": 1

}

}

}

这里做的是iOS的百度推送,假如推送声音名称为《pushMusic.caf》,则高级参数需要填写的内容如下:

1

2

3

4

5

6

7

8{

"baidu": {

"aps": {

"badge": 0,

"sound": "pushMusic.caf"

}

}

}

设置完成如下:

点击《确定》保存,即完成推送声音的设置

8.2 添加推送声音文件到项目

这部分请参考文档上方《极光自定义推送声音的8.2部分》

常见问题FAQ

1、开发者一定要开通D3 Engine才能使用消息推送吗?

解答:是的,目前D3 Engine只针对于企业开发者用户。所以,只有企业开发者才能申请开通使用。

2、使用极光推送按照以上步骤完成代码修改,但是却无法收到推送消息。

解答:

步骤一:查看XCode的推送开关是否被开启,详情看《2.4 XCode配置推送》。

步骤二:查看项目的.entitlements文件的key值是否与当前的测试环境相符合

distribution表示生产环境,

development表示开发环境

步骤三:确定项目的BundleID是否与证书的Bundle ID一致

注意:若是百度推送,还需要确定启动百度推送方法所设置的pushMode是否与当前的测试环境一致,详情查看《快速集成百度推送》的《4 修改百度推送的启动接口》

如经过以上三个步骤,还是无法推送,则需要通过推送平台推送来确认问题

步骤四:登陆极光/百度平台的应用,测试一下直接从推送平台上推送通知是否能够到达APP。

推送平台单推不可以推的情况:

1)确定证书是否已经失效,考虑更换证书。

推送平台单推可以推的情况:

1) 确认在机智云D3 Engine设置的推送环境是否与当前测试环境一致,如下图的《证书类型》

2) 确认机智云应用绑定的推送APPID和Secret是否与APP中所使用的相对应,如下图

3) 若依然失败,则在如下图位置打断点,打印result的值,确定具体的错误码,根据错误码提示来确认问题并修正。

通常result有错,需要从下图所示代码来进一步确认。

3、极光推送如何设置角标的值

解答:[JPUSHService setBadge:0];

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。