@Test public void testAlert() throws Exception { IOSDevicePayload payload = IOSDevicePayload.newBuilder().setAlert("iOS override").build(); String expected = "\"iOS override\""; String json = mapper.writeValueAsString(payload.getAlert().get()); assertEquals(expected, json); }
@Test public void testEmptyAlert() throws Exception { IOSDevicePayload payload = IOSDevicePayload.newBuilder() .setAlert(IOSAlertData.newBuilder().build()) .setBadge( IOSBadgeData.newBuilder().setType(IOSBadgeData.Type.VALUE).setValue(1).build()) .build(); String json = mapper.writeValueAsString(payload); String expected = "{\"badge\":1}"; assertEquals(expected, json); }
@Test public void testCompoundAlert() throws Exception { IOSDevicePayload payload = IOSDevicePayload.newBuilder() .setAlert( IOSAlertData.newBuilder() .setBody("B") .setActionLocKey("ALK") .setLocKey("LK") .setLocArgs(ImmutableList.of("arg1", "arg2")) .setLaunchImage("LI") .build()) .build(); String json = mapper.writeValueAsString(payload); String expected = "{\"alert\":\"B\"}"; assertEquals(expected, json); }
@Override public void run() { String appKey = ConfigReader.getProp("appKey"); String appSecret = ConfigReader.getProp("appSecret"); if (selector == null) { selector = Selectors.all(); } APIClient apiClient = APIClient.newBuilder().setKey(appKey).setSecret(appSecret).build(); Type badgetype = IOSBadgeData.Type.VALUE; if (badge == null || badge == 0) { badgetype = IOSBadgeData.Type.INCREMENT; badge = 1; } IOSBadgeData badgeData = IOSBadgeData.newBuilder().setValue(badge).setType(badgetype).build(); IOSDevicePayload iosPayload; AndroidDevicePayload androidPayload; if (entries != null) { iosPayload = IOSDevicePayload.newBuilder() .setAlert(message) .setBadge(badgeData) .setSound("default") .addAllExtraEntries(entries) .build(); androidPayload = AndroidDevicePayload.newBuilder().setAlert(message).addAllExtraEntries(entries).build(); } else { iosPayload = IOSDevicePayload.newBuilder() .setAlert(message) .setBadge(badgeData) .setSound("default") .build(); androidPayload = AndroidDevicePayload.newBuilder().setAlert(message).build(); } Notification notification = Notifications.notification(iosPayload, androidPayload); PushPayload payload = PushPayload.newBuilder() .setAudience(selector) .setNotification(notification) .setPlatforms(PlatformData.of(Platform.IOS, Platform.ANDROID)) .build(); try { APIClientResponse<APIPushResponse> response = apiClient.push(payload); System.out.println("Send the message"); System.out.println(response); } catch (APIRequestException ex) { System.out.println(String.format("APIRequestException " + ex)); System.out.println("EXCEPTION " + ex.toString()); APIError apiError = ex.getError().get(); System.out.println("Error " + apiError.getError()); if (apiError.getDetails().isPresent()) { APIErrorDetails apiErrorDetails = apiError.getDetails().get(); System.out.println("Error details " + apiErrorDetails.getError()); } } catch (IOException e) { System.out.println("IOException in API request " + e.getMessage()); } }