Skip to main content

Troubleshoot push delivery

Start with a direct send to one Registration ID. Record the API response and message ID, then follow the request through registration, delivery, display, and opening.

SymptomCheck
No Registration IDAssigned AppKey, package/bundle, SDK initialization, consent path, network access, and registration callback.
Authentication error from the REST APIAppKey/MasterSecret pairing and whether server sending was provisioned.
Direct send works, alias send failsAlias assignment completion and whether the installation is bound to the current account.
API accepts the request, but no notification appearsNotification permission, selected audience, message type, app state, and notification presentation settings.
iOS delivery failsAPNs token registration, entitlement, configured APNs credential, and apns_production.
Android background delivery differs by deviceEnabled manufacturer channel, channel registration, system restrictions, and release configuration.
Tapping opens the wrong screenClick callback, payload allowlist, current user, and pending cold-start navigation.
Duplicate visible notificationsSender retries after uncertain responses, repeated business jobs, or multiple sends to overlapping audiences.

Separate the outcomes​

“Request accepted,” “delivered,” “displayed,” and “opened” are different observations. Report the stage you actually verified. A message ID helps investigate the send, but it does not prove that the customer saw the content.

Compare a working device with a failing device​

Use the same message and direct targeting. Compare AppKey, SDK version, package/bundle, OS version, notification permission, build signing, and app state. On iOS, also compare the APNs environment. On Android, note which manufacturer channel is active.

Prepare a support report​

Send NextAppMarket the application ID, AppKey, message ID, relevant Registration ID, timestamp, platform and device model, OS/SDK/build versions, API error code, and the last stage that worked. Share device identifiers through the established support channel. Omit MasterSecret and authorization headers.

Reference: JPush Android debugging guide. The sequence above also helps isolate application-side routing and identity errors.