When you send a notification from Courier to your push provider, Courier will attach a trackingUrl that allows you to mark the state of the push notification to CLICKED | DELIVERED | OPENED | READ . You have to use a Courier client-side authentication token that you can find here. You can make a /POST HTTP request to the trackingUrl that comes as a part of push payload. This post request accepts following events CLICKED, DELIVERED, OPENED, READ

fetch("trackingUrl from incoming push payload", {
  method: "POST",
  headers: {
    "X-Courier-Client-Key":
      "YOUR_COURIER_CLIENT_KEY",
  },
  body: JSON.stringify({ 
		"event": "opened" // Can also be CLICKED , DELIVERED, READ this is not case sensitive
	}),
})

Airship

APN

Firebase

Expo

Pusher