uni-app

TencentCloud-TIMPush 是腾讯云即时通信 IM Push 插件。目前推送支持小米、华为、荣耀、OPPO、vivo、魅族、APNs、一加、realme、iQOO 和 苹果等厂商通道。
Android
iOS

注册应用到厂商推送平台

离线推送需要将您自己的应用注册到各个厂商的推送平台,得到 AppID 和 AppKey 等参数,来实现离线推送功能。目前国内支持的手机厂商有:小米华为荣耀OPPOVIVO魅族,境外支持 Google FCM
小米
华为
OPPO
vivo
魅族
荣耀
Google FCM

步骤1:注册小米开发者账号

进入 小米开放平台,注册小米开发者账号,详情请参见 企业开发者账号注册流程

步骤2:创建应用

1. 在管理控制台单击消息推送
注意:
若使用个人账号登录,会显示“抱歉,您当前没有推送/审核权限”。

2. 创建应用,完善应用资料界面,单击保存


注意:
应用包名与插件应用包名保持一致。





步骤3:启用推送

进入推送运营平台的应用列表页面,在对应的应用名称单击启用推送,确定启用。





步骤4:查看获取应用信息

进入推送运营平台的应用信息页面,查看应用信息









步骤5:配置推送证书

登录腾讯云 即时通信 IM 控制台 ,在推送管理 > 接入设置功能栏添加各个厂商推送证书,并将您获取的厂商的 AppId、AppKey、AppSecret 等参数配置给添加的推送证书。
厂商推送平台
IM 控制台配置





注意:
应用内指定界面链接,不可以修改。 该配置用于派发单击后离线推送插件的事件监听,不可以直接配置应用内页面的跳转。





步骤1:注册华为开发者账号

进入 华为开发者联盟,注册华为开发者账号,详情请参见 注册账号

步骤2:创建应用

1. 在管理中心单击我的项目,添加一个新的项目。

2. 项目设置栏单击推送服务 > 立即开通

3.单击项目设置 > API 管理,开启推送服务的权限。


步骤3. 添加应用

单击项目设置 > 常规,添加应用。
注意:
应用包名与插件应用包名保持一致。




步骤4:获取应用信息

单击项目设置 > 常规,获取应用信息。
说明:
常规页面包含项目和应用的 Client ID 和 Client Secret,两者对应的参数不一致,请下拉至页面底部,获取应用的 Client ID 和 Client Secret。
必须添加打包的 SHA256证书指纹,SHA256 证书指纹需与自己的打包证书一致。
下载 agconnect-services.json 文件,放到项目中:nativeResources/android/assets/ 路径下。
修改了项目、应用信息、开发服务设置,都需要重新下载配置 agconnect-services.json 文件。





步骤5:添加推送证书

登录腾讯云 即时通信 IM 控制台 ,单击推送管理 > 接入设置添加各个厂商推送证书,并将您获取的厂商的 AppId、AppKey、AppSecret 等参数配置给添加的推送证书。
厂商推送平台
IM 控制台配置



注意:
Client ID 对应 AppID,Client Secret 对应 AppSecret。
应用内指定界面链接,不可以修改。 该配置用于派发单击后离线推送插件的事件监听,不可以直接配置应用内页面的跳转。



注意:
通知栏推送:应用需在 OPPO 软件商店上架;
通知栏推送测试权限:每天仅可推送1000条消息,限测试使用。应用上架后需重新申请“通知栏推送”权限,以获得正常消息推送数量;
平台将会在1个工作日内返回审核结果,开发者可以在申请页面查看审核结果,其他问题可咨询开放平台客服。

步骤1:注册 OPPO 开发者账号

进入OPPO开放平台,注册 OPPO 开发者账号,详情参见 OPPO 企业开发者账号注册

步骤2:创建应用

进入 OPPO 开放平台,单击产品 > 应用分发> OPPO 软件商店 > 发布应用进入管理中心,创建应用。




步骤3:开通 PUSH 服务

1. 进入 OPPO 开放平台,单击产品 > 移动服务 > 推送服务进入推送主页,单击申请接入开通推送服务。

2. 单击进入管理中心 > 应用列表 > 申请推送服务界面,为未开启服务的应用申请推送权限。
说明:
已开启服务:已申请 PUSH 权限并通过的应用。
未开启服务:可申请 PUSH 权限的应用。


3. 单击申请开通。在未开启服务中单击需要申请 PUSH 权限的应用,进入 PUSH 服务并点击申请开通


步骤4:添加推送证书

登录腾讯云 即时通信 IM 控制台 ,在推送管理 > 接入设置功能栏添加各个厂商推送证书,并将您获取的厂商的 AppId、AppKey、AppSecret 等参数配置给添加的推送证书。
厂商推送平台
IM 控制台配置





注意:
应用内指定界面链接,不可以修改。
该配置用于派发单击后离线推送插件的事件监听,不可以直接配置应用内页面的跳转。





注意:
若应用没有上架应用市场,推送权限受限,不可在 vivo 官网的 Web 界面和 API 后台发送正式消息,可在 API 后台向设置的测试设备发送测试消息进行测试。

步骤1:注册 vivo 开发者账号

进入 vivo开放平台,注册 vivo 开发者账号,详情参见 vivo 企业开发者账号注册

步骤2:新建应用

进入vivo 开放平台,单击分发 > 应用分发 > 应用商店 > 上传应用来新建您的应用。


步骤3:开通推送

进入管理中心单击推送服务 > 推送申请为新建的应用申请开通推送。



步骤4:获取应用信息

进入推送运营平台,单击应用管理 > 应用信息,获取应用信息。


步骤5:添加推送证书

登录腾讯云 即时通信 IM 控制台 ,单击推送管理 > 接入设置添加各个厂商推送证书,并将您获取的厂商的 AppId、AppKey、AppSecret 等参数配置给添加的推送证书。
厂商推送平台
IM 控制台配置





注意:
应用内指定界面链接,不可以修改。 该配置用于派发单击后离线推送插件的事件监听,不可以直接配置应用内页面的跳转。





回执配置请参见:消息触达统计配置 > vivo

步骤1:注册魅族开发者账号

注册魅族开发者账号,详情参见 开发者注册

步骤2:创建应用

1. 单击控制台 > Flyme 推送

2. 填写应用信息后,创建应用。
注意:
应用包名与插件应用包名保持一致。


步骤3:获取应用信息

在应用列表中单击打开应用。进入配置管理页面,获取应用信息。





步骤4:添加推送证书

登录腾讯云 即时通信 IM 控制台 ,单击推送管理 > 接入设置功能栏添加各个厂商推送证书,并将您获取的厂商的 AppId、AppKey、AppSecret 等参数配置给添加的推送证书。
厂商推送平台
IM 控制台配置





注意:
应用内指定界面链接,不可以修改。 该配置用于派发单击后离线推送插件的事件监听,不可以直接配置应用内页面的跳转。





回执配置请参见:消息触达统计配置 > 魅族

步骤1. 注册荣耀开发者账号

注册荣耀开发者账号,详情参见 开发者注册

步骤2: 进入管理中心页面。





步骤3: 进入推送服务列表

单击推送服务进入推送服务列表页面。





步骤4: 创建应用

1. 单击申请推送服务进入应用申请页面。

2. 选择应用类型“移动应用”,填写应用包名和证书指纹、同意推送服务协议和数据处理附录,单击提交
注意:
需要添加打包的 SHA256 证书指纹,SHA256 证书指纹需与自己的打包证书一致。




步骤5: 获取应用信息

推送服务列表中,单击查看,获取应用信息。


步骤6:添加推送证书

登录腾讯云 即时通信 IM 控制台 ,单击推送管理 > 接入设置,添加各个厂商推送证书,并将您获取的厂商的 AppID、AppKey、AppSecret 等参数配置给添加的推送证书。
厂商推送平台
IM 控制台配置



注意:
应用内指定界面链接,不可以修改。 该配置用于派发单击后离线推送插件的事件监听,不可以直接配置应用内页面的跳转。




Google FCM 正在开发中,敬请期待~~
集成 TIMPush 组件之前,需要先向 Apple 申请 APNs 推送证书,然后上传推送证书到 IM 控制台 。之后按照快速接入步骤接入即可。
Apple 厂商配置目前有两种主流的证书,p12 证书和 p8 证书。两种证书各有优劣,您可按需要选择其中的一种。

证书类型
有效期和管理
安全性
灵动岛
p12 证书
p12 证书是一个包含公钥和私钥的二进制文件,用于基于证书的身份验证。它将公钥证书和私钥捆绑在一个文件中,扩展名为 .p12 或 .pfx。
p12 证书通常有一年的有效期,过期后需要重新生成和部署。每个应用程序都需要单独的 P12 证书来处理推送通知。
证书:p12 证书使用基于证书的身份验证,需要在服务器上存储私钥。这可能会增加安全风险,因为私钥可能会被未经授权的用户访问。
不支持
p8 证书
p8 证书是一个 Auth Key(授权密钥),用于基于令牌的身份验证。它是一个包含私钥的文本文件,扩展名为 .p8。
p8 证书没有到期日期,因此您无需担心证书过期。此外,使用 P8 证书可以简化证书管理,因为您可以使用一个 p8 证书为多个应用程序提供推送通知服务。
p8 证书使用基于令牌的身份验证,这意味着您的服务器会周期性地生成一个 JSON Web Token(JWT)来与 APNs 建立连接。这种方法更安全,因为它不需要在服务器上存储私钥。
支持灵动岛推送

一、使用 p12 证书 (传统推送证书)

步骤1:申请 APNs 证书

开启 App 远程推送

1. 登录 苹果开发者中心 网站,单击 Certificates,Identifiers & Profiles 或者侧栏的 Certificates,IDs & Profiles,进入 Certificates, IDS & Profiles 页面。

2. 单击 Identifiers 右侧的 +



3. 您可以参见如下步骤新建一个 AppID,或者在您原有的 AppID 上增加 Push NotificationService
说明:
您 App 的 Bundle ID 不能使用通配符 *,否则将无法使用远程推送服务。
4. 勾选 App IDs,单击 Continue 进行下一步。



5. 选择 App,单击 Continue 进行下一步。



6. 配置 Bundle ID 等其他信息,单击 Continue 进行下一步。



7. 勾选 Push Notifications,开启远程推送服务。




生成证书

1. 选中您的 AppID,选择 Configure



2. 可以看到在 Apple Push Notification service SSL Certificates 窗口中有两个 SSL Certificate,分别用于开发环境(Development)和生产环境(Production)的远程推送证书,如下图所示:



3. 
们先选择开发环境(Development)的 Create Certificate,系统将提示我们需要一个 Certificate Signing Request(CSR)。



4. 在 Mac 上打开钥匙串访问工具(Keychain Access),在菜单中选择钥匙串访问 > 证书助理 > 从证书颁发机构请求证书Keychain Access - Certificate Assistant - Request a Certificate From a Certificate Authority)。



5. 输入用户电子邮件地址(您的邮箱)、常用名称(您的名称或公司名),选择存储到磁盘,单击继续,系统将生成一个 *.certSigningRequest 文件。



6. 返回上述 步骤3 中 Apple Developer 网站刚才的页面,单击 Choose File 上传生成的 *.certSigningRequest 文件。



7. 单击 Continue,即可生成推送证书。



8. 单击 Download 下载开发环境的 Development SSL Certificate 到本地。



9. 再次按照上述步骤1 - 8,将生产环境的 Production SSL Certificate 下载到本地。
说明
生产环境的证书实际是开发(Sandbox)+生产(Production)的合并证书,可以同时作为开发环境和生产环境的证书使用。






10. 双击打开下载的开发环境和生产环境的 SSL Certificate,系统会将其导入钥匙串中。
11. 打开钥匙串应用,在登录 > 我的证书,右键分别导出刚创建的开发环境(Apple Development IOS Push Service)和生产环境(Apple Push Services)的 p12 文件。

注意
保存.p12文件时,请务必为其设置密码。

步骤2:上传证书到控制台

2. 单击目标应用卡片,进入应用的基础配置页面。



3. 单击 iOS 原生离线推送设置右侧的添加证书
4. 选择证书类型,上传 iOS 证书(p.12),设置证书密码,单击确认

注意:
上传证书名最好使用全英文(尤其不能使用括号等特殊字符)。
上传证书需要设置密码,无密码收不到推送。
发布 App Store 的证书需要设置为生产环境,否则无法收到推送。
上传的 p12 证书必须是自己申请的真实有效的证书。
5. 待推送证书信息生成后,记录证书的 ID。


二、使用 p8 证书 (支持灵动岛推送)

p8 证书:p8 证书没有到期日期,因此您无需担心证书过期。此外,使用 p8 证书可以简化证书管理,因为您可以使用一个p8 证书为多个应用程序提供推送通知服务。另外,p8 证书支持灵动岛推送。

步骤1:申请 APNs 证书

要创建 p8 证书文件,首先需要登录 苹果开发者中心

iOS 证书配置指南


1. 进入Certificates,Identifiers & Profiles:在页面右上角单击 Account,然后在下拉菜单中选择 Certificates, Identifiers & Profiles
2. 创建一个新的 App ID:在左侧菜单中单击 Identifiers ,然后单击右侧的 + 创建一个新的 App ID。填写相应的信息并单击 Continue
3. 创建一个新的密钥:在左侧菜单中单击 Keys,然后单击右侧的 + 创建一个新的密钥。输入密钥的名称,然后勾选 Apple Push Notifications service (APNs),单击 Continue

确认并生成密钥:在确认页面核对您的密钥信息,然后单击 Register 。接下来,您将看到一个页面提示您下载密钥。单击 Download,将生成的 .p8 文件保存到您的计算机上。
注意:
p8 证书只可以下载一次,请妥善保存。
请妥善保管下载的 p8 文件,因为您将无法再次下载该文件。您可以使用此P8证书配置您的iOS应用程序以接收推送通知。

步骤2:上传 p8 证书到IM控制台

2. 单击目标应用卡片,进入应用的基础配置页面。
3. 单击 iOS 原生离线推送设置右侧的添加证书
4. 选择 .p8 证书



说明:
Key ID:这是您的 APNs Auth Key 的唯一标识符。当您在 Apple Developer Center 创建一个新的 APNs Auth Key 时,系统会为您生成一个 Key ID。您可以在 "Certificates, Identifiers & Profiles" 部分的 "Keys" 中找到它。
Team ID:这是您的开发者账户的唯一标识符。您可以在 Apple Developer Center 的账户详情页面找到它。点击右上角的 "Membership",在 "Membership Details" 部分可以找到您的 Team ID。
Bundle ID:这是您的应用程序的唯一标识符,也称为应用程序 ID。您可以在 Apple Developer Center 的 "Certificates, Identifiers & Profiles" 部分找到它。选择 "Identifiers",然后在您的应用程序列表中找到对应的 Bundle ID。

三. 生成 TIMPushAppGroupID

步骤1:登录苹果开发者中心网站,进入【identifiers】 ->【App Groups】创建 AppGroups。












步骤2:绑定使用 TencentCloud-TIMPush 应用的 appID 到 AppGroups。












步骤3. 获取您的 TIMPushAppGroupID。