推送配置-客户端
提示
鸿蒙的推送已经整合到鸿蒙系统中,在正确的获取到推送 token 前的所有步骤,您都需在鸿蒙平台操作。如有疑问,可在鸿蒙平台提工单咨询。
鸿蒙管理后台配置推送
客户端配置推送,需要先确保鸿蒙后台推送配置和融云后台推送配置已完成。 您也可参考鸿蒙的推送服务文档。
APP 申请通知权限
App 申请通知权限,可以在手机>设置>应用和服务>应用管理 中查看 APP 的通知权限。 如果没有申请通知权限,收到的推送无法在通知栏出现。
详情请参考鸿蒙的请求通知授权文档。
APP 获取推送 token
鸿蒙系统已经内置获取推送 token 的逻辑,不需要像 Android 平台一样依赖各个手机厂商的推送 SDK
获取推送 token 失败时,请根据错误码对照鸿蒙ArkTS API 错误进行排查。如果您不确定具体的错误,可以向鸿蒙提工单咨询具体的报错信息。
TypeScript
// 在 EntryAbility.ets 中
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
hilog.info(0x0000, 'IM-ArkTS', 'Get message data successfully: %{public}s', JSON.stringify(want.parameters));
hilog.info(0x0000, 'IM-ArkTS', '%{public}s', 'Ability onCreate');
pushService.getToken((error: BusinessError, token: string) => {
hilog.info(0x0000, 'IM-ArkTS', 'getPushToken error:%{public}s token:%{public}s', error, token);
if (token) {
// 设置推送 token
IMEngine.getInstance().setPushToken(token);
} else {
// 获取推送 token 错误,根据 code 值请向鸿蒙提工单咨询具体原因
let code = error.code;
}
});
}
将鸿蒙推送 token 注册到 CallPlus 使用的 IM SDK
在正常获取推送 token 后,将 token 设置给 CallPlus 使用的 IMLib。
接口原型
TypeScript
// 见 IMEngine.ts
/**
* 设置鸿蒙推送 token
* ```
* 1. SDK 初始化之前设置:SDK 会将推送 token 缓存,连接成功后上报
* 2. SDK 初始化之后连接之前设置:连接成功后上报
* 3. SDK 连接成功后设置:SDK 立即上报
* ```
* @param pushToken 推送 token
*/
public setPushToken(pushToken: string): void
示例代码
TypeScript
// 设置推送 token
IMEngine.getInstance().setPushToken(token);
配置 CallPlus 呼叫推送属性
CallPlus 支持对呼叫生成的信令消息的推送行为进行个性化配置。例如:
- 自定义推送标题
- 自定义通知栏图标
- 支持多语言推送
- 其他 APNs 或 Android 推送通道支持的个性化配置
请在发起通话前和邀请通话前提供 IRCCallPlusPushConfig 配置。
推送属性说明
IRCCallPlusPushConfig 提供以下参数:
| 参数 | 类型 | 说明 |
|---|---|---|
disablePushTitle | BOOL | 是否屏蔽通知标题,此属性只针目标用户为 iOS 平台时有效,Android 第三方推送平台的通知标题为必填项,所以暂不支持。 |
pushTitle | NSString | 推送标题,此处指定的推送标题优先级最高。如不设置,则使用 CallPlus 服务端默认标题。 |
templateId | NSString | 推送模板 ID,设置后根据目标用户通过 IM SDK 中的 setPushLauguageCode 设置的语言环境,匹配模板中设置的语言内容进行推送,未匹配成功时使用默认内容进行推送。模板内容在控制台的自定义推送文案中进行设置。 |
iOSConfig | IiOSPushConfig | iOS 平台相关配置。支持 threadId、apnsCollapseId、richMediaUri,用法详见 API 文档。 |
androidConfig | IAndroidPushConfig | Android 平台相关配置。支持针对小米、华为、荣耀、OPPO、vivo、魅族、FCM 推送渠道配置消息分类、渠道 ID、通知栏图片等。用法 详见 API 文档。 |
管理通知角标
参考鸿蒙文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/notification-badge-V5