Apple push notification service

Configure Stream Video push notifications using Apple Push Notification service (APNs).

Prerequisites:

Delivering push notifications to iOS apps requires establishing an authenticated connection with APNs. There are two authentication options — a token-based approach using a .p8 key or a certificate-based approach using a .p12 file. You only need to set up one of them. We recommend using a .p8 key.

The .p8 authentication key is the preferred method because a single key works across all your apps and doesn't expire, unlike .p12 certificates which must be renewed annually.

  1. Sign in to your Apple Developer Account and navigate to Certificates, Identifiers & Profiles > Keys.

  2. Click the + (plus) button to register a new key.

  3. Give your key a descriptive name (e.g., "Stream Push Key") and tick the Apple Push Notifications service (APNs) checkbox. Make sure Sandbox & Production is selected under the APNs configuration, then click Continue followed by Register.

  4. Click Download to save the .p8 file. Store it in a secure location — Apple only lets you download this file once.

Important: Apple limits you to two .p8 keys per developer account. If you already have two and need a new one, you must revoke an existing key first — and any service relying on the revoked key will stop working.

  1. Make a note of the following values — you'll need them when configuring the push provider in the Stream Dashboard:
    • Key ID — shown on the key details page and also embedded in the .p8 filename (e.g., AuthKey_ABC123.p8).
    • Team ID — displayed in the upper-right corner of your Apple Developer account.
    • Bundle ID — your app's identifier, found under Identifiers in your developer account or in Xcode > your target > Signing & Capabilities.

Upload the certificate and create a push provider

In the Stream Dashboard, select Push Notifications:

Selecting Push Notifications menu in Stream Dashboard

Click New Configuration and select the APN provider. Configure these fields:

Field NameDescription
NameProvider identifier used in SDK/API calls
DescriptionOptional description for identifying this configuration
Bundle/Topic IDYour app's bundle ID for push notifications
TeamIDApple Team ID (found in top right of Apple developer account)
KeyIDp8 key identifier (found in keys section of Apple developer account)
.p8 Token or .p12 CertificateAuthentication token or certificate for sending push notifications

Configuration steps:

  1. Enter a name in the Name field (used in your code)
  2. Add your app's bundle ID
  3. Upload the .p8 key or .p12 file with the required Apple details
  4. Enable the provider using the toggle
  5. Click Create

Example configuration using voip as the name:

Screenshot shows the upload of push certificate