User unable to receive Push Notification

Despite the fact that the user has allowed notifications and there have been no changes to the app's state, such as uninstalling or updating it, the user has not been receiving APNs (Apple Push Notification) notifications for the past month. Additionally, the notification permissions have not been restricted in any device modes, such as focus mode. One more such user started receiving after uninstalling and installing the app again. Please note that other users are receiving notifications fine.

This is the command we use to send APNS

curl -vvv --cert {{CERT_FILE}}:{{PASSWORD}} --key {{KEY_FILE}} -H 'apns-topic: com.***.***' --http2 --data @push_payload.json https://api.push.apple.com/3/device/{{DEVICE_TOKEN}}

Following is the payload used


{
    "meta": {
        "push_from": "test",
        "rid": "F4C404B7-9E2A-48AD-852D-0ED00C4BAB51",
        "type": "push",
        "cid": "123"
    },
    "aps": {
        "alert": {
            "subtitle": "This is the subtitle of the notification",
            "body": "This is the body of the notification",
            "title": "This is the title of the notifications"
        },
        "sound": "default",
        "category": "text"
    },
    "payload": {
        "deeplink": "https://example.com"
    }
}

Following is the APNs response

  • Trying 17.188.171.91:443...
  • Connected to api.push.apple.com (17.188.171.91) port 443 (#0)
  • ALPN: offers h2
  • ALPN: offers http/1.1
  • [CONN-0-0][CF-SSL] TLSv1.3 (OUT), TLS handshake, Client hello (1):
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Server hello (2):
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Request CERT (13):
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Certificate (11):
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, CERT verify (15):
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Finished (20):
  • [CONN-0-0][CF-SSL] TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
  • [CONN-0-0][CF-SSL] TLSv1.3 (OUT), TLS handshake, Certificate (11):
  • [CONN-0-0][CF-SSL] TLSv1.3 (OUT), TLS handshake, CERT verify (15):
  • [CONN-0-0][CF-SSL] TLSv1.3 (OUT), TLS handshake, Finished (20):
  • SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
  • ALPN: server accepted h2
  • Server certificate:
  • subject: CN=api.push.apple.com; O=Apple Inc.; ST=California; C=US
  • start date: Dec 19 17:22:50 2022 GMT
  • expire date: Jan 18 17:22:49 2024 GMT
  • subjectAltName: host "api.push.apple.com" matched cert's "api.push.apple.com"
  • issuer: CN=Apple Public Server RSA CA 12 - G1; O=Apple Inc.; ST=California; C=US
  • SSL certificate verify ok.
  • Using HTTP2, server supports multiplexing
  • Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
  • h2h3 [:method: POST]
  • h2h3 [:path: /3/device/{{DEVICE_TOKEN}}]
  • h2h3 [:scheme: https]
  • h2h3 [:authority: api.push.apple.com]
  • h2h3 [user-agent: curl/7.87.0]
  • h2h3 [accept: /]
  • h2h3 [apns-topic: com..]
  • h2h3 [content-length: 889]
  • h2h3 [content-type: application/x-www-form-urlencoded]
  • Using Stream ID: 1 (easy handle 0x13300f800)

POST /3/device/{{DEVICE_TOKEN}} HTTP/2 Host: api.push.apple.com user-agent: curl/7.87.0 accept: / apns-topic: com.. content-length: 889 content-type: application/x-www-form-urlencoded

  • We are completely uploaded and fine
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
  • [CONN-0-0][CF-SSL] TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
  • old SSL session ID is stale, removing
  • Connection state changed (MAX_CONCURRENT_STREAMS == 1000)!

< HTTP/2 200 < apns-id: D1F7D0A6-0137-57FF-1D4B-03D4729FFDCA <

  • Connection #0 to host api.push.apple.com left intact
User unable to receive Push Notification
 
 
Q