合作咨询
我们的专家服务团队将竭诚为您提供专业的合作咨询服务
此版本文档已归档不再维护,推荐您使用最新版本。
| CLASS info |
| public class HmsMessaging extends Object |
| 单实例类,提供订阅主题和是否允许显示通知栏消息的方法。 |
| Return type | Method name |
| static synchronized HmsMessaging | getInstance(Context context) 获取全局唯一单实例。 |
| boolean | isAutoInitEnabled() 是否启用自动初始化。 |
| void | setAutoInitEnabled(boolean enable) 设置自动初始化使能与否。 |
| Task< Void > | subscribe(String topic) 异步任务订阅主题。 |
| Task< Void > | unsubscribe(String topic) 异步任务取消订阅主题。 |
| Task< Void > | turnOnPush() 异步任务打开接收通知栏消息开关。 |
| Task< Void > | turnOffPush() 异步任务关闭接收通知栏消息开关。 |
| Method |
| public static synchronized HmsMessaging getInstance(Context context) |
| 获取HmsMessaging类全局单实例,开发者在使用主题订阅等功能前需要先获取HmsMessaging类实例然后才能调用类中的其他方法。 |
Parameters
| Parameter name | Parameter desc |
| context | 应用上下文。应用集成HMS SDK最新版本需要满足HMS Core(APK)的版本不低于3.0.0。如果低于3.0.0版本,当应用有前台界面时HMS SDK会提示用户升级HMS Core(APK)为最新版本,此时getInstance的入参必须传入Activity类实例;当应用是后台应用时,如果开发者不想弹出引导升级的页面时,可以传入非Activity类型的Context类实例。 |
Return
| type | desc |
| HmsMessaging | 全局单实例对象。 |
| Method |
| public boolean isAutoInitEnabled() |
| 是否启用自动初始化,目前本接口固定返回false。 |
Return
| type | desc |
| boolean | 目前本接口固定返回false。 |
| Method |
| public void setAutoInitEnabled(boolean enable) |
| 此接口设置自动初始化使能与否。目前SDK内部固定初始化。 |
Parameters
| Parameter name | Parameter desc |
| enable | 自动初始化使能与否。 |
| Method |
| public Task< Void > subscribe(String topic) |
| 异步任务订阅指定的主题消息。HUAWEI Push Kit主题消息传递功能可让您将消息发送至已经选择加入特定主题的多台设备。开发者根据需要撰写主题消息,HUAWEI Push Kit负责确定发布路径并将消息可靠地传送至正确的设备。此接口为异步操作接口,开发者需要添加对应的监听器来监听任务执行结果。 |
Parameters
| Parameter name | Parameter desc |
| topic | 要订阅的主题的名称。必须匹配以下正则表达式:[\u4e00-\u9fa5a-zA-Z0-9-_.~%]{1,900} |
Throws
| Throw name | Throw desc |
| IllegalArgumentException | 无效的主题名称,主题名必须匹配以下正则表达式:[\u4e00-\u9fa5a-zA-Z0-9-_.~%]{1,900} |
Return
| type | desc |
| Task< Void > | 接口调用结果为Task< Void >,开发者需要添加对应的侦听器来侦听任务执行结果。 |
Code Example
- public void subscribe() {
- try {
- HmsMessaging.getInstance(context).subscribe(topic)
- .addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(Task<Void> task) {
- if (task.isSuccessful()) {
- Log.i(TAG, "subscribe Complete");
- } else {
- Log.e(TAG, "subscribe failed: ret=" + task.getException().getMessage());
- }
- }
- });
- } catch (Exception e) {
- Log.e(TAG, "subscribe failed: exception=" + e.getMessage());
- }
- }
| Method |
| public Task< Void > unsubscribe(String topic) |
| 异步任务取消已经由subscribe接口订阅过的主题消息。此接口为异步操作接口,需要添加对应的监听器来监听任务执行结果。 |
Parameters
| Parameter name | Parameter desc |
| topic | 取消已经由subscribe接口订阅过的主题消息。主题名必须匹配以下正则表达式:[\u4e00-\u9fa5a-zA-Z0-9-_.~%]{1,900} |
Throws
| Throw name | Throw desc |
| IllegalArgumentException | 无效的主题名称,主题名必须匹配以下正则表达式:[\u4e00-\u9fa5a-zA-Z0-9-_.~%]{1,900} |
Return
| type | desc |
| Task< Void > | 接口调用结果为Task< Void >,开发者需要添加对应的侦听器来侦听任务执行结果。 |
Code Example
- public void unsubscribe() {
- try {
- HmsMessaging.getInstance(context).unsubscribe(topic)
- .addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(Task<Void> task) {
- if (task.isSuccessful()) {
- Log.i(TAG, "unsubscribe Complete");
- } else {
- Log.e(TAG, "unsubscribe failed: ret=" + task.getException().getMessage());
- }
- }
- });
- } catch (Exception e) {
- Log.e(TAG, "unsubscribe failed: exception=" + e.getMessage());
- }
- }
| Method |
| public Task< Void > turnOnPush() |
| 打开通知栏消息显示的开关。在某些情况下,开发者如果想控制应用是否允许显示通知栏消息,可以调用此接口。本接口与透传消息无关,透传消息的开关逻辑由应用自己处理。 |
Return
| type | desc |
| Task< Void > | 接口调用结果为Task< Void >,开发者需要添加对应的侦听器来侦听任务执行结果。 |
Code Example
- HmsMessaging.getInstance(context).turnOnPush()
- .addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(Task<Void> task) {
- if (task.isSuccessful()) {
- Log.i(TAG, "turnOnPush Complete");
- } else {
- Log.e(TAG, "turnOnPush failed: cause=" + task.getException().getMessage());
- }
- }
- });
| Method |
| public Task< Void > turnOffPush() |
| 关闭通知栏消息显示的开关。在某些情况下,开发者如果想控制应用是否允许显示通知栏消息,可以调用此接口。本接口与透传消息无关,透传消息的开关逻辑由应用自己处理。 |
Return
| type | desc |
| Task< Void > | 接口调用结果为Task< Void >,开发者需要添加对应的侦听器来侦听任务执行结果。 |
Code Example
- HmsMessaging.getInstance(context).turnOffPush()
- .addOnCompleteListener(new OnCompleteListener<Void>() {
- @Override
- public void onComplete(Task<Void> task) {
- if (task.isSuccessful()) {
- Log.i(TAG, "turnOffPush Complete");
- } else {
- Log.e(TAG, "turnOffPush failed: cause =" + task.getException().getMessage());
- }
- }
- });