本文介绍 Android SDK 4.x 为当前设备添加、删除和查询别名的方法。
适用于移动推送 Android SDK 4.x,本文接口和示例以已发布的 4.0.0 版本为基线。使用 3.x 的应用请参见对应的 3.x API 文档。
调用前准备
调用前,请完成 PushServiceFactory.init 和推送注册,并确认 register 的 onSuccess 已返回。通过 PushServiceFactory.getCloudPushService() 获取 CloudPushService。示例使用非空 CommonCallback;失败时查看 onFailed 的 errorCode 和 errorMessage。
添加别名(addAlias)
为当前设备添加别名,用于按别名定向推送。一个设备最多添加 128 个别名,同一个别名最多关联 128 个设备,别名最大长度为 128 字节。
接口定义
void addAlias(String alias, CommonCallback callback);所属类
CloudPushService
参数说明
参数 | 类型 | 是否必填 | 说明 |
alias | String | 是 | 待添加的别名,不能为 null 或空字符串,最大 128 字节。 |
callback | CommonCallback | 否 | 操作结果回调。可为 null;建议传入非空回调,以获取成功结果或失败原因。 |
返回值与回调
返回值为 void。别名添加成功时触发 onSuccess(String response);操作失败时触发 onFailed(String errorCode, String errorMessage),分别返回错误码和错误信息。
代码示例
CloudPushService pushService = PushServiceFactory.getCloudPushService();
pushService.addAlias("app_alias_001", new CommonCallback() {
@Override
public void onSuccess(String response) {
Log.i("PushDemo", "addAlias success");
}
@Override
public void onFailed(String errorCode, String errorMessage) {
Log.e("PushDemo", "addAlias failed: " + errorCode + ", " + errorMessage);
}
});val pushService = PushServiceFactory.getCloudPushService()
pushService.addAlias("app_alias_001", object : CommonCallback {
override fun onSuccess(response: String?) {
Log.i("PushDemo", "addAlias success")
}
override fun onFailed(errorCode: String?, errorMessage: String?) {
Log.e("PushDemo", "addAlias failed: $errorCode, $errorMessage")
}
})删除别名(removeAlias)
删除当前设备的指定别名,或清空当前设备的全部别名。该操作不影响其他设备与同一别名的关联。
接口定义
void removeAlias(String alias, CommonCallback callback);所属类
CloudPushService
参数说明
参数 | 类型 | 是否必填 | 说明 |
alias | String | 否 | 待删除的别名。传入 null 或空字符串时,删除当前设备的全部别名。 |
callback | CommonCallback | 否 | 操作结果回调。可为 null;建议传入非空回调,以获取成功结果或失败原因。 |
返回值与回调
返回值为 void。别名删除成功时触发 onSuccess(String response);操作失败时触发 onFailed(String errorCode, String errorMessage),分别返回错误码和错误信息。
代码示例
// 如需删除当前设备的全部别名,将下方 "app_alias_001" 替换为 null。
CloudPushService pushService = PushServiceFactory.getCloudPushService();
pushService.removeAlias("app_alias_001", new CommonCallback() {
@Override
public void onSuccess(String response) {
Log.i("PushDemo", "removeAlias success");
}
@Override
public void onFailed(String errorCode, String errorMessage) {
Log.e("PushDemo", "removeAlias failed: " + errorCode + ", " + errorMessage);
}
});// 如需删除当前设备的全部别名,将下方 "app_alias_001" 替换为 null。
val pushService = PushServiceFactory.getCloudPushService()
pushService.removeAlias("app_alias_001", object : CommonCallback {
override fun onSuccess(response: String?) {
Log.i("PushDemo", "removeAlias success")
}
override fun onFailed(errorCode: String?, errorMessage: String?) {
Log.e("PushDemo", "removeAlias failed: $errorCode, $errorMessage")
}
})查询别名(listAliases)
结果通过 onSuccess(response) 返回。此接口只有 callback 一个参数。查询具有短时缓存,写入结果应优先以本次添加/删除操作的回调为准。
接口定义
void listAliases(CommonCallback callback);所属类
CloudPushService
参数说明
参数 | 类型 | 是否必填 | 说明 |
callback | CommonCallback | 否 | 查询结果回调。请传入非空回调以获取结果;传入 null 时无法接收查询结果。 |
返回值与回调
返回值为 void。查询成功时触发 onSuccess(String response),response 为当前设备的别名列表结果;查询失败时触发 onFailed(String errorCode, String errorMessage),分别返回错误码和错误信息。
代码示例
CloudPushService pushService = PushServiceFactory.getCloudPushService();
pushService.listAliases(new CommonCallback() {
@Override
public void onSuccess(String response) {
String aliasesResult = response;
// 按业务需要处理返回的别名列表。
}
@Override
public void onFailed(String errorCode, String errorMessage) {
Log.e("PushDemo", "listAliases failed: " + errorCode + ", " + errorMessage);
}
});val pushService = PushServiceFactory.getCloudPushService()
pushService.listAliases(object : CommonCallback {
override fun onSuccess(response: String?) {
val aliasesResult = response
// 按业务需要处理返回的别名列表。
}
override fun onFailed(errorCode: String?, errorMessage: String?) {
Log.e("PushDemo", "listAliases failed: $errorCode, $errorMessage")
}
})相关文档
接入流程请参见Android SDK接入(4.x)。
使用 3.x 的应用请参见别名管理接口(3.x)。