# Push service certificates

You can send push notifications to iOS devices using either [Apple’s Push Notification service (APNs)](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification) or Google’s Firebase Cloud Messaging (FCM) service.

To authorize your Customer.io workspace to send notifications through APNs, you’ll need to upload your APNs `.p8` certificate and provide your credentials or upload your .JSON to iOS devices over Apple’s Push Notification service, you’ll need to upload your APNs `.p8` certificate and enter your Apple Developer *Key ID*, *Team ID*, and *Bundle ID*.

## Upload your push certificate[](#upload-your-push-certificate)

If you don’t already have your [`.p8` certificate for APNs](#get-your-p8-file-for-apns) or your [`.JSON` file for FCM](#get-your-json-file-for-fcm), you’ll need to get one before you can finish this process and send push notifications.

 APNs

#### APNs[](#APNs)

1.  In Customer.io, go to your workspace’s **Settings** > **Workspace Settings** and click **Settings** next to *Push*.
    
2.  Click **Enable** under *iOS*, and select the *Apple Push Notification service (APNs)* option.
    
3.  Click **Choose file…** and upload your .p8 certificate.
    
4.  Enter your *Key ID*, *Team ID*, and *Bundle ID*. You can find these in your [Apple Developer Account](https://developer.apple.com/).
    
5.  (Optional) Enable the *Send all push notifications to sandbox* option.
    
    Your iOS certificate may have both sandbox and production environments; this option sends push notifications to both environments.
    
    [![image.png](https://docs.customer.io/images/image%28320%29.png)](#1a9ffb2cbe8c4e2106f48cfcc60a845a-lightbox)
    
     We recommend [creating a separate workspace](/journeys/push-qa-testing#testing-push-notifications) for your sandbox environment.
    
6.  Click **Save Changes**
    

[![Push Settings - iOS_provider (APNs)](https://docs.customer.io/images/push_settings_ios_provider_APNs.png)](#f062f3fd15a85996eea68c36da00a1df-lightbox)

 FCM

#### FCM[](#FCM)

1.  In Customer.io, go to [**Settings > Workspace Settings**](https://fly.customer.io/workspaces/last/settings/) and click **Settings** next to *Push*.
    
2.  For *iOS*, click **Enable**, and select the *Firebase Cloud Messaging (FCM)* option.
    

[![Push Settings - iOS_provider (FCM)](https://docs.customer.io/images/push_settings_ios_provider.png)](#85c4ce7cd841a1b35322730d323ee860-lightbox)

## Get your .p8 file for APNs[](#get-your-p8-file-for-apns)

1.  Log into your Apple Developer account and go to **[Certificates, Identifiers & Profiles > Keys](https://developer.apple.com/account/resources/authkeys)**. Click the blue button to create a new key.
2.  Click **Apple Push Notifications service (APNs)** and enter a name for the key.
3.  Click **Continue** and then **Register** to create the key.
4.  Download your keys and put it somewhere you’ll remember. You can only download your key once!

## Get your .JSON file for FCM[](#get-your-json-file-for-fcm)

Before you can get a push certificate for Firebase Cloud Messaging, make sure that the FCM API is enabled for your project. You can [check that here](https://console.developers.google.com/apis/api/fcm.googleapis.com/overview).

1.  Log into the Firebase Console for your project.
    
2.  Click in the sidebar and go to **Project settings**.
    
    [![Access your project settings in firebase](https://docs.customer.io/images/project-settings.png)](#f0e4e4c5092f6c0e9e76463da609a7f8-lightbox)
    
3.  Go to **Service Accounts** and click **Generate New Private Key**. Confirm your choice and download the credential file.
    
    [![Generate a new private key in Firebase](https://docs.customer.io/images/generate-key.png)](#7cde629b570345da48323d76ead58719-lightbox)