回复
MobPush 鸿蒙端SDK API 原创
MobService
发布于 2024-7-2 18:09
浏览
0收藏
获取RID
获取注册id(可与用户id绑定,实现向指定用户推送消息)
export function getRegistrationId(callback: AsyncCallback<string>): void
export function getRegistrationId(): Promise<string>
//示例代码:
let getRegistrationIdCallback = (err: Base.BusinessError, data: string): void{
let message = ""
if (err) {
message = `获取RID失败, code is ${err.code}, message is ${err.message}`;
} else {
message = "RID:" + data;
}
console.log(message)
}
mobPush.getRegistrationId(getRegistrationIdCallback)
mobPush.getRegistrationId().then((data: string) => {
console.log(`RID: ${data}`)
})
推送监听
设置推送监听
建议在AbilityStage中设置
export function addPushReceiver(receiver: MobPushReceiver)
//示例代码:
let receive: mobPush.MobPushReceiver = {
onCustomMessageReceive:message: mobPush.MobPushCustomMessage) => {
//接收到自定义消息(透传消息)
message.getMessageId();//获取任务ID
message.getContent();//获取推送内容
...
},
onNotifyMessageReceive:message: mobPush.MobPushNotifyMessage) => {
//通知消息到达
message.getMobNotifyId();//获取消息ID
message.getMessageId();//获取任务ID
message.getTitle();//获取推送标题
message.getContent();//获取推送内容
...
},
onNotifyMessageOpenedReceive:message: mobPush.MobPushNotifyMessage) => {
//通知被点击事件
//需设置mobPush.notificationClickAck()
message.getMobNotifyId();//获取消息ID
message.getMessageId();//获取任务ID
message.getTitle();//获取推送标题
message.getContent();//获取推送内容
...
},
//type=1:RID更新 type=2:厂商deviceToken更新
onCommandReceive:type: number, map: HashMap<string, Object>) => {
//channel:mobpush/harmony
let channel = map.get(mobPush.KEY_CHANNEL)
//对应channel的更新token
let token = map.get(mobPush.KEY_TOKEN)
}
}
mobPush.addPushReceiver(receive)
移除推送监听
export function removePushReceiver(receiver: MobPushReceiver)
//示例代码:
mobPush.removePushReceiver(receive)
别名
设置别名
errorCode为操作结果(0 成功,其他失败)
export function setAlias(alias: string, callback: AsyncCallback<AliasResult>): void
export function setAlias(alias: string): Promise<AliasResult>
//示例代码
let setAliasCallback = (err: Base.BusinessError, data: mobPush.AliasResult): void => {
console.log("setAlias:" + JSON.stringify(data))
console.log("alias:" + data.alias)
console.log("errCode:" + data.errorCode)
}
mobPush.setAlias("alias", setAliasCallback)
mobPush.setAlias("alias").then((data: mobPush.AliasResult) => {
console.log("setAlias:" + JSON.stringify(data))
console.log("alias:" + data.alias)
console.log("errCode:" + data.errorCode)
})
获取别名
errorCode为操作结果(0 成功,其他失败)
export function getAlias(callback: AsyncCallback<AliasResult>): void
export function getAlias(): Promise<AliasResult>
//示例代码
let getAliasCallback = (err: Base.BusinessError, data: mobPush.AliasResult): void{
console.log("getAlias:" + JSON.stringify(data))
console.log("alias:" + data.alias)
console.log("errCode:" + data.errorCode)
}
mobPush.getAlias(getAliasCallback)
mobPush.getAlias().then((data: mobPush.AliasResult) => {
console.log("getAlias:" + JSON.stringify(data))
console.log("alias:" + data.alias)
console.log("errCode:")
删除别名
errorCode为操作结果(0 成功,其他失败)
export function deleteAlias(callback: AsyncCallback<AliasResult>): void
export function deleteAlias(): Promise<AliasResult>
//示例代码
let getAliasCallback = (err: Base.BusinessError, data: mobPush.AliasResult): void{
console.log("deleteAlias:" + JSON.stringify(data))
console.log("alias:" + data.alias)
console.log("errCode:" + data.errorCode)
}
mobPush.deleteAlias(getAliasCallback)
mobPush.deleteAlias().then((data: mobPush.AliasResult) => {
console.log("deleteAlias:" + JSON.stringify(data))
console.log("alias:" + data.alias)
console.log("errCode:")
标签
添加标签
errorCode为操作结果(0 成功,其他失败)
export function addTags(tags: string[], callback: AsyncCallback<TagsResult>): void
export function addTags(tags: string[]): Promise<TagsResult>
//示例代码
let addTagsCallback = (err: Base.BusinessError, data: mobPush.TagsResult): void{
console.log("addTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:" + data.errorCode)
}
mobPush.addTags(["tag"] , addTagsCallback)
mobPush.addTags(["tag"]).then((data: mobPush.TagsResult) => {
console.log("addTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:")
获取标签
errorCode为操作结果(0 成功,其他失败)
export function getTags(callback: AsyncCallback<TagsResult>): void
export function getTags(): Promise<TagsResult>
//示例代码
let getTagsCallback = (err: Base.BusinessError, data: mobPush.TagsResult): void{
console.log("addTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:" + data.errorCode)
}
mobPush.getTags(getTagsCallback)
mobPush.getTags().then((data: mobPush.TagsResult) => {
console.log("getTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:")
删除标签
errorCode为操作结果(0 成功,其他失败)
export function deleteTags(tags: string[], callback: AsyncCallback<TagsResult>): void
export function deleteTags(tags: string[]): Promise<TagsResult>
//示例代码
let deleteTagsCallback = (err: Base.BusinessError, data: mobPush.TagsResult): void{
console.log("deleteTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:" + data.errorCode)
}
mobPush.deleteTags(["tag"] , deleteTagsCallback)
mobPush.deleteTags(["tag"]).then((data: mobPush.TagsResult) => {
console.log("deleteTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:")
清空所有标签
errorCode为操作结果(0 成功,其他失败)
export function cleanTags(callback: AsyncCallback<TagsResult>): void
export function cleanTags(): Promise<TagsResult>
//示例代码
let cleanTagsCallback = (err: Base.BusinessError, data: mobPush.TagsResult): void{
console.log("cleanTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:" + data.errorCode)
}
mobPush.cleanTags(cleanTagsCallback)
mobPush.cleanTags().then((data: mobPush.TagsResult) => {
console.log("cleanTags:" + JSON.stringify(data))
console.log("tags:" + data.tags)
console.log("errCode:")
角标
设置是否显示角标
用于接收通知时显示角标数量
export function setShowBadge(show: boolean)
//示例代码
//设置显示角标
mobPush.setShowBadge(true)
//设置不显示角标
mobPush.setShowBadge(false)
获取是否显示角标
export function getShowBadge(): boolean
//示例代码= mobPush.getShowBadge())
console.log("角标显示:"
设置角标数
设置显示的角标数
export function setBadgeCounts(count: number)
//示例代码
mobPush.setBadgeCounts(99)
通用
通知点击回执上报
须在通知打开的UIAbility中调用 否则会无点击回调
export function notificationClickAck(want: Want): void
//示例代码
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
console.log("EntryAbility onCreate")
mobPush.notificationClickAck(want)
if (want) {
if (want.parameters) {
//获取推送设置的额外内容
if (want.parameters["pushData"]) {
console.log("pushData:" + JSON.stringify((want.parameters["pushData"])))
}
}
}
}
}
onWindowStageCreate(windowStage: window.WindowStage): void {
// Main window is created, set main page for this ability
hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');
windowStage.loadContent('pages/Index', (err, data) => {
if (err.code) {
hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
return;
}
hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');
});
}
onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
console.log("EntryAbility onNewWant")
mobPush.notificationClickAck(want)
if (want) {
if (want.parameters) {
//获取推送设置的额外内容
if (want.parameters["pushData"]) {
console.log("pushData:" + JSON.stringify((want.parameters["pushData"])))
}
}
}
}
}
停止推送
停止后将不会收到推送消息,仅可通过restartPush重新打开
export function stopPush()
//示例代码:
mobPush.stopPush()
重新打开推送服务
export function restartPush()
//示例代码:
mobPush.restartPush()
判断推送服务是否已经停止
export function isPushStopped(): boolean
//示例代码:= mobPush.isPushStopped()
console.log("isStopped:"
清除所有通知
export function clearAllNotification()
//示例代码
mobPush.clearAllNotification()
获取厂商token
export function getDeviceToken(): string
//示例代码
let token = mobPush.getDeviceToken()
console.log("厂商token:" + token)
判断是否开启通知权限
export function isNotificationEnabled(callback: AsyncCallback<boolean>): void
export function isNotificationEnabled(): Promise<boolean>
//示例代码
let isNotificationEnabledCallback = (err: Base.BusinessError, data: boolean): void{
let message = ""
if (err) {
message = `获取通知权限是否开启失败, code is ${err.code}, message is ${err.message}`;
} else {
message = `通知权限是否开启: ${JSON.stringify(data)}`;
}
console.log(message)
}
mobPush.isNotificationEnabled(isNotificationEnabledCallback)
mobPush.isNotificationEnabled().then((data: boolean) => {
console.log(`通知权限是否开启: ${data}`)
})
检测推送tcp连接状态
export function checkTcpStatus(callback: Callback<boolean>): void
export function checkTcpStatus(): Promise<boolean>
//示例代码
let tcpStatusCallback = (data: boolean): void{
let message = `TCP状态: ${JSON.stringify(data)}`;
console.log(message)
}
mobPush.checkTcpStatus(tcpStatusCallback)
mobPush.checkTcpStatus().then((data: boolean) => {
console.log(`TCP状态: ${data}`)
})
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
赞
收藏
回复
相关推荐