简体中文
配置
更多信息详见 UniPush开通指南
在manifest.json文件“App模块配置”项的“Push(消息推送)”下,勾选“UniPush”
注意
在海外网络环境下,部分网络在连接UniPush技术支持供应商个推的推送服务时,可能出现不稳定的情况。此时,开发者可以接入 FCM 辅助通道,当在个推服务断线的情况下,通过谷歌的 FCM 推送通道下发消息,提升推送到达率。
使用FCM时手机端需安装Google移动服务(GMS),并且可以正常连接Google服务(国内网络需要翻墙)
使用FCM必须先开通使用UniPush:
进入 Firebase官网创建项目,获取google-services.json文件及Server key。
登录google账号,如果没有账号请先注册
登录后点击右上角的“Go to console”
打开项目列表页面,点击“Add project”创建项目
输入项目名称(根据自己应用取名),点击“Continue”
确认是否需要使用Google Analytics服务(根据自己需要开启或关闭),点击“Continue”
确认后创建项目,点击“Continue”
进入项目详情页面,点击“Android”图标添加Android应用
输入Android应用信息(包名、昵称、证书SHA-1),点击“Register App”
注册Android应用后下载配置文件“google-services.json”,保存google-services.json文件后面需要使用 点击“Next”继续
此步骤中的操作云端打包机已经处理,忽略提示信息,继续点击“Next”,进入下一步 完成注册Android应用,点击“Continue to console”回到项目详情页面
点击“Project settings”,进入项目设置页面
切换到服务账号
项,点击生成新的私钥
,保存私钥json文件到本地,后面需要使用
配置FCM需先开通UniPush,如应用未开通UniPush请先开通。 在HBuilderX的mainfest.json页面,在“App SDK配置”项下的“uniPush”栏点击“配置”
打开DCloud的开发者中心后台进入应用列表,点击应用名称进入详情,点击上方“uniPush”选项卡,点击“厂商推送设置”按钮进入配置UniPush的FCM参数
保存成功后在HBuilderX中重新提交云端打包,并在“App-云打包”界面选择google play 渠道包:
如果你已经完成了uniPush的代码开发,只需完成上述配置和打包即可,不用修改代码。
如果你还没有开发过推送代码,参考App端使用UniPush参考:https://ask.dcloud.net.cn/article/35622
Android平台离线sdk集成UniPush支持FCM可参考:Push(消息推送)
** FCM 离线消息仅支持GOOGLE 推送,暂不支持国内设备商的海外发行版本**
UniPush和个推推送模块支持设置自定义推送图标,包括push图标和推送小图标(small)
显示效果如下图所示:
打开项目的manifest.json文件,切换到“源码视图”,手动设置推送图标。 在 "app-plus" -> "distribute" -> "sdkConfigs" -> "push" -> "unipush" -> "icons"节点下配置推送图标
{
"unipush": { //可选,JSON对象,使用UniPush SDK配置,无需手动配置参数,云端打包自动获取配置参数
"icons": { //可选,JSON对象,推送图标配置
"push": { //可选,JSON对象,Push图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送图标路径,分辨率要求48x48
"mdpi": "", //可选,字符串类型,大屏设备设备推送图标路径,分辨率要求64x64
"hdpi": "", //可选,字符串类型,高分屏设备推送图标路径,分辨率要求96x96
"xhdpi": "", //可选,字符串类型,720P高分屏设备推送图标路径,分辨率要求128x128
"xxhdpi": "", //可选,字符串类型,1080P高密度屏幕推送图标路径,分辨率要求192x192
},
"small": { //可选,JSON对象,Push小图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送小图标路径,分辨率要求18x18
"mdpi": "", //可选,字符串类型,大屏设备设备推送小图标路径,分辨率要求24x24
"hdpi": "", //可选,字符串类型,高分屏设备推送小图标路径,分辨率要求36x36
"xhdpi": "", //可选,字符串类型,720P高分屏设备推送小图标路径,分辨率要求48x48
"xxhdpi": "", //可选,字符串类型,1080P高密度屏幕推送小图标路径,分辨率要求72x72
"xxxhdpi": "", //可选,字符串类型,4K屏设备推送小图标路径,分辨率要求96x96
}
}
}
}
也可在HBuilder X(3.5.1+ 版本) 中可视化配置
注意事项
设计规范需要注意:
App勾选“Push(消息推送)”模块后,默认应用启动会立即申请推送消息权限,弹出系统发送通知授权框,如下:
如果希望应用启动不申请推送消息权限(不弹出系统发送通知授权框),可以在manifest.json文件的源码视图中配置"app-plus" -> "distribute" -> "ios" -> "pushRegisterMode"字段值为"manual",如下:
{
"app-plus": {
"distribute": {
"ios": {
"pushRegisterMode": "manual"
}
}
}
}
需提交云端打包后生效
配置为"manual",需要在App代码中调用uni.getPushClientId触发申请推送消息权限,用户同意返回客户端推送标识