Azure / azure-notificationhubs-java-backend

Azure Notification Hubs SDK for Java
https://docs.microsoft.com/en-us/azure/notification-hubs/
Apache License 2.0
35 stars 49 forks source link

[QUERY] Missing notifications on ios 13+ with apns #186

Open splatch opened 6 months ago

splatch commented 6 months ago

Query/Question I have a notification hub which is able to deliver notifications for old iOS versions. I began updating gaps introduced by later releases of ios, but I can't get it to work.

My code is quite basic:

public class App {

  public static void main(String[] args) throws Exception {
    String hubId = "...";
    NotificationHub hub = new NotificationHub(
        "Endpoint=sb://...",
        hubId);

    Map<String, String> headers = new HashMap<>();
    headers.put("apns-push-type", "alert");
    headers.put("apns-priority", "10");

    String src = "{'aps': {'title': 'Alert notification', 'body': '" + LocalDateTime.now() + ", have (" + new Random().nextInt(10) + ") alerts'}}";
    String body = src.replaceAll("\'", "\"");

    Notification notification = Notification.createAppleNotification(body, headers);
    NotificationOutcome outcome = hub.sendNotification(notification, new HashSet<>(Arrays.asList("_valid_azure_device_tag_")));
    System.out.println(outcome.getNotificationId() + " " + outcome.getTrackingId());

    if (outcome.getNotificationId() != null) {
      NotificationTelemetry telemetry = hub.getNotificationTelemetry(outcome.getNotificationId());
      System.out.println(telemetry);
    }
  }

}

Why is this not a Bug or a feature Request? I am not quite sure if above method is supported given #48 is closed. I do get a tracking id but no notification id. Repeating same operation via azure console returns "Successfully sent test message. Outcome: {0 passed, 0 failed}. Please see result section for details."

Setup (please complete the following information if applicable):

splatch commented 6 months ago

Diving more into issue I've found that registrations for new ios version have two "tags" while old one had just an uuid. When I use uuid format (value of the $UserId) then my notifications do not pass. If I use full format $UserId: xyz, they are dispatched properly. Kind of surprising.