Send HarmonyOS Notification using JPush
npm install @wisdomgarden/cloak-plugin-jpushCloakPluginJpush 是 Cloak 框架的插件之一,用于在 Cloak 应用中集成极光推送,实现消息推送功能。
本插件底层使用极光官方的 @jg/push
> 安装 Cloak 框架 @wisdomgarden/cloak
>
> 具体细节参考 @wisdomgarden/cloak
1. 安装 CloakPluginJpush 插件
``bash`
ohpm install @wisdomgarden/cloak-plugin-jpush
npm install @wisdomgarden/cloak-plugin-jpush # optional
2. 平台配置项
参考极光文档:配置 hmos平台信息, 配置签署, 配置极光平台信息
3. 在 entry/src/main/ets/entryability/EntryAbility.ets 中引入插件`
javascript`
new Cloak(this, [new CloakPluginJpush(
{
channel: isDebug ? "Development" : "Production",
appKey: "xxxxxx", // 极光 appKey
isDebug,
want: jpushMessageWant ? want : null
}
)]);
entry/src/main/module.json5
在 中配置`
json`
{
// ...
"module": {
"abilities": [
{
// ...
"metadata": [
{
"name": "client_id",
// 在 hmos 平台获取到项目下所在应用对应的 client_id(注意不是项目的client_id)
"value": "xxxxx"
}
],
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
},
{
"actions": [
"action.ohos.push.listener"
]
}
]
}
],
}
// ...
}
4. 在 H5 逻辑代码中就可以直接调用该插件
`javascript`
// 示例代码
await Cloak.plugins.Jpush.init();
await Cloak.plugins.Jpush.setAlias(1, 'user123');
5. 如果你使用 Typescript,安装 NPM 包获取类型支持
`bash`
npm install @wisdomgarden/cloak-plugin-jpush
#### 初始化并监听事件
`javascript
// 初始化插件
await Cloak.plugins.Jpush.init();
// 设置调试模式
Cloak.plugins.Jpush.setDebugMode(true);
// 监听通知点击事件
Cloak.plugins.Jpush.addEventListener('jpush.openNotification', (event) => {
console.log('用户点击通知:', event);
});
// 监听自定义消息接收事件
Cloak.plugins.Jpush.addEventListener('jpush.receiveMessage', (event) => {
console.log('收到自定义消息:', event);
});
// 获取注册ID
const registrationId = await Cloak.plugins.Jpush.getRegistrationId();
console.log('注册ID:', registrationId);
`
#### 标签与别名操作
`javascript
// 设置别名
const aliasResult = await Cloak.plugins.Jpush.setAlias(1, 'user123');
console.log('设置别名结果:', aliasResult);
// 添加标签
const tagsResult = await Cloak.plugins.Jpush.addTags(1, ['vip', 'level1']);
console.log('添加标签结果:', tagsResult);
`
`typescript`
interface JpushPlugin extends Plugin {
addEventListener(event: string, handler: (event: ESObject) => void): string;
init(): Promise
setDebugMode(isDebug: boolean): void;
setBadge(badgeNumber: number): void;
getRegistrationId(): Promise
resumePush(): void;
stopPush(): void;
isPushStopped(): boolean;
setAlias(sequence: number, alias: string): Promise
getAlias(sequence: number): Promise
deleteAlias(sequence: number): Promise
addTags(sequence: number, tags: string[]): Promise
cleanTags(sequence: number): Promise
getTags(sequence: number, curr?: number): Promise
checkTagBindState(sequence: number, tag: string): Promise
setProcessTimeout(timeout: number): void;
}
- jpush.openNotification: 用户点击通知时触发jpush.receiveMessage`: 收到自定义消息时触发
-
---
Cloak 是专为 HarmonyOS 设计的混合开发框架,类似 Cordova 和 Capacitor,但具备 更轻量、更高性能 的特性。
该框架可将 Web 应用快速转换为原生应用,同时通过插件机制访问 HarmonyOS 原生能力。
- 快速打包:将 H5 应用快速编译为 HarmonyOS 应用。
- 原生能力访问:通过插件机制调用原生接口。
- WebView 支持:提供高性能 WebView 容器,确保 H5 应用流畅运行。
- 插件开发:支持开发者自定义插件以扩展原生功能。
更多关于 Cloak 框架信息,请查看: https://github.com/WisdomGardenInc/Cloak