javaJDK无法设置tag
实在是有问题,现在测试环境也是不行。我们调用 设置tag并 绑定注册id的接口
(
jpushClient.updateDeviceTagAlias(addRegistrationId,null,Sets.newHashSet(theTag),null);
),
tag 无法生成
打印日志如下:
[调试] [准备调用 jpushClient.updateDeviceTagAlias]入参:[addRegistrationId18171adc032b4f7d29a,theTag=im_act_2]
[调试] [调用 jpushClient.updateDeviceTagAlias] 完毕
相关代码:
@Test
public void testAddRemoveDevicesFromTag() {
String tag = RedisKeyUtil.generteKeyWithPlaceholder(PushTagKeysConstant.INTEGRAL_MALL_ACTIVITY, 2);
// tzy 18171adc032b4f7d29a wanghui 13165ffa4e2eca2f2c9
String registrationId = "18171adc032b4f7d29a";
String registrationId2 = "333333";
try {
pushService.addRemoveDevicesFromTag(tag, registrationId, null);
boolean f = pushService.isInTagList(tag);
System.out.println(f);
} catch (APIConnectionException e) {
e.printStackTrace();
} catch (APIRequestException e) {
e.printStackTrace();
}
}
@Override
public void addRemoveDevicesFromTag(String theTag,
String addRegistrationId, String removeRegistrationId) throws APIConnectionException, APIRequestException {
if(StringUtil.isBlank(theTag) || (StringUtil.isBlank(addRegistrationId) && StringUtil.isBlank(removeRegistrationId))){
return;
}
// tag 不存在 创建tag
boolean isExistTag = this.isInTagList(theTag);
Set<String> toAddUsers = Sets.newHashSet();
if(StringUtil.isNotBlank(addRegistrationId)){
// 验证
if(!isExistTag){
logger.error("[调试] [准备调用 jpushClient.updateDeviceTagAlias]入参:[addRegistrationId"+addRegistrationId+",theTag="+theTag+"]");
jpushClient.updateDeviceTagAlias(addRegistrationId,null,Sets.newHashSet(theTag),null);
logger.error("[调试] [调用 jpushClient.updateDeviceTagAlias] 完毕");
return;
}
if(jpushClient.isDeviceInTag(theTag,addRegistrationId).result){
return;
}
toAddUsers.add(addRegistrationId);
}
Set<String> toRemoveUsers = Sets.newHashSet();
if(StringUtil.isNotBlank(removeRegistrationId)){
if(!isExistTag){
return;
}
if(!jpushClient.isDeviceInTag(theTag,removeRegistrationId).result){
return;
}
toRemoveUsers.add(removeRegistrationId);
}
jpushClient.addRemoveDevicesFromTag(theTag,toAddUsers, toRemoveUsers);
}
@Override
public boolean isInTagList(String tag) throws APIConnectionException, APIRequestException {
List<String> tags = jpushClient.getTagList().tags;
return tags.contains(tag);
}