> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/push/integrations/providers.md).

# Providers

The push providers you can connect — Apple, Firebase, Safari, web push for Chrome, Firefox and Edge, a Chrome extension, and the Fake sandbox.

**Where:** Push → Integrations → **Add New Integration** · `/projects/<project>/push/integrations/pick`

The page **Select "Push Notifications" Integration** lists every push provider as a card with a short description, **View documentation** / **See examples** links and a **Connect** button that opens the provider's form at `…/push/integrations/new/<provider>`, for example `…/new/apns`. The documentation links open an old docs address that does not work yet; the provider pages are listed below.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-ceed67d8781287eceb18b815dd904c4c5f7e5041%2Fproviders-list-1.png?alt=media" alt="Select Push Notifications Integration with eight provider cards, each with Connect: Apple APNs, Google FCM, Apple Safari Push, Google Chrome Plugin, Google Chrome Web Push, Mozilla Firefox Web Push, Microsoft Edge Web Push and Fake (Test Me)"><figcaption><p>The push providers.</p></figcaption></figure>

## Columns, search and filters

| Provider                        | Reaches                                 | What it asks for                                                             | Delivers today?                       | Page                                                                           |
| ------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------ |
| Apple Push Notification service | iOS (iPhone, iPad, Watch, TV, Mac apps) | Team Id, App Bundle Identifier, Key Id, Private key (.p8), production switch | saves; the test failed on our stack   | [APNs](/codemash/cloud/push/integrations/providers/apns.md)                    |
| Firebase Cloud Messaging        | Android and iOS                         | Firebase Project Id, Service Account Client Email, Service Account JSON      | saves; the test failed on our stack   | [FCM](/codemash/cloud/push/integrations/providers/fcm.md)                      |
| Safari Push Notifications       | macOS Safari                            | Website Push Id, Certificate (.p12) base64, Certificate password             | saves; the test failed on our stack   | [Safari Push](/codemash/cloud/push/integrations/providers/safari-push.md)      |
| Chrome Plugin Push              | a Chrome extension                      | Chrome Extension Id, VAPID keys, VAPID Subject                               | no — a real extension id is refused   | [Chrome Plugin](/codemash/cloud/push/integrations/providers/chrome-plugin.md)  |
| Chrome Web Push                 | Chrome browsers                         | VAPID Public Key, VAPID Private Key, VAPID Subject                           | no — saves, sending not supported yet | [Chrome Web Push](/codemash/cloud/push/integrations/providers/chrome-web.md)   |
| Firefox Web Push                | Firefox browsers                        | same as Chrome Web Push                                                      | no — saves, sending not supported yet | [Firefox Web Push](/codemash/cloud/push/integrations/providers/firefox-web.md) |
| Edge Web Push                   | Edge browsers                           | same as Chrome Web Push                                                      | no — saves, sending not supported yet | [Edge Web Push](/codemash/cloud/push/integrations/providers/edge-web.md)       |
| Fake Push (Test Me)             | every platform (nothing is sent)        | nothing — fixed values                                                       | records every send, delivers none     | [Fake Push (Test Me)](/codemash/cloud/push/integrations/providers/fake.md)     |

Every real provider also asks for an **Integration Name**. The page has no search. Which platforms a campaign's **Send to devices on** offers depends on the providers you connected: APNs → iOS; Firebase → iOS and Android; Chrome, Firefox, Edge and the Chrome extension → Chrome; Safari → Safari; Fake → all four.

## What you can do here

* [Connect APNs](/codemash/cloud/push/integrations/providers/apns.md), [Firebase](/codemash/cloud/push/integrations/providers/fcm.md) or [Safari Push](/codemash/cloud/push/integrations/providers/safari-push.md)
* [Add the Fake Push (Test Me) sandbox](/codemash/cloud/push/integrations/providers/fake.md) (one per project)
* Then [test](/codemash/cloud/push/integrations/test.md), [set as default](/codemash/cloud/push/integrations/set-default.md), or [disable or delete](/codemash/cloud/push/integrations/disable.md) the integration.

Every provider is saved with the same call, [Save Push Integration](/codemash/api-reference/notifications/push/save-push-integration.md) — the `provider` field (`AppleApns`, `AndroidFirebase`, `SafariPush`, `ChromePush`, `ChromeWeb`, `FirefoxWeb`, `EdgeWeb`, `Fake`) picks the form.
