Skip to content

Commit b0a064e

Browse files
authored
Merge pull request #166 from yutaipu/master
支持解绑设备与别名的绑定关系
2 parents c9d1b4e + 9674cd1 commit b0a064e

File tree

4 files changed

+38
-3
lines changed

4 files changed

+38
-3
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>cn.jpush.api</groupId>
55
<artifactId>jpush-client</artifactId>
6-
<version>3.4.4</version>
6+
<version>3.4.6-SNAPSHOT</version>
77
<packaging>jar</packaging>
88
<url>https://github.com/jpush/jpush-api-java-client</url>
99
<name>JPush API Java Client</name>

src/main/java/cn/jpush/api/JPushClient.java

+5
Original file line numberDiff line numberDiff line change
@@ -900,6 +900,11 @@ public DefaultResult deleteAlias(String alias, String platform)
900900
return _deviceClient.deleteAlias(alias, platform);
901901
}
902902

903+
public DefaultResult removeDevicesFromAlias(String alias, Set<String> toRemoveDevice)
904+
throws APIConnectionException, APIRequestException {
905+
return _deviceClient.removeDevicesFromAlias(alias, toRemoveDevice);
906+
}
907+
903908
public Map<String, OnlineStatus> getUserOnlineStatus(String... registrationIds)
904909
throws APIConnectionException, APIRequestException
905910
{

src/main/java/cn/jpush/api/device/DeviceClient.java

+21
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,27 @@ public DefaultResult deleteAlias(String alias, String platform) throws APIConnec
245245
return DefaultResult.fromResponse(response);
246246
}
247247

248+
public DefaultResult removeDevicesFromAlias(String alias, Set<String> toRemoveDevice) throws APIConnectionException, APIRequestException {
249+
String url = hostName + aliasesPath + "/" + alias;
250+
251+
JsonObject top = new JsonObject();
252+
JsonObject registrationIds = new JsonObject();
253+
254+
if (null != toRemoveDevice && toRemoveDevice.size() > 0) {
255+
JsonArray array = new JsonArray();
256+
for (String device : toRemoveDevice) {
257+
array.add(new JsonPrimitive(device));
258+
}
259+
registrationIds.add("remove", array);
260+
}
261+
262+
top.add("registration_ids", registrationIds);
263+
264+
ResponseWrapper response = _httpClient.sendPost(url, top.toString());
265+
266+
return DefaultResult.fromResponse(response);
267+
}
268+
248269
// -------------- devices status
249270

250271
public Map<String, OnlineStatus> getUserOnlineStatus(String... registrationIds)

src/test/java/cn/jpush/api/device/DeviceNormalRemoteTest.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ public void testGetDeviceTagAlias_cleard() throws Exception {
7474
assertEquals("tags cleared", 0, result.tags.size());
7575
}
7676

77-
78-
77+
78+
7979
// ------------------ tags
8080

8181
@Test
@@ -197,4 +197,13 @@ public void testBindMobile_empty() throws APIConnectionException, APIRequestExce
197197
assertTrue(result.isResultOK());
198198
}
199199

200+
@Test
201+
@TestOrder(order = 330)
202+
public void testRemoveDevicesFromAlias() throws APIConnectionException, APIRequestException {
203+
Set<String> toRemoveDevice = new HashSet<>();
204+
toRemoveDevice.add(REGISTRATION_ID1);
205+
DefaultResult result = jpushClient.removeDevicesFromAlias("alias1", toRemoveDevice);
206+
assertTrue(result.isResultOK());
207+
}
208+
200209
}

0 commit comments

Comments
 (0)