> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.qonversion.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuring Platforms

<Warning>
  **Deprecated.** This guide configures the Qonversion side of the legacy `Automations` push
  pipeline. The matching client SDK API (`Qonversion.Automations.shared().setNotificationsToken`
  / `QONAutomations setNotificationsToken:` / `Automations.getSharedInstance().setNotificationsToken`)
  has been removed from the current iOS and Android SDKs (replaced by the `NoCodes` module, which
  does not expose push APIs). Configuring the keys below will not lead to delivered pushes until
  the SDK surface is reintroduced.
</Warning>

## Apple Push Notifications

Qonversion uses Apple Push Notifications service (APNs) with the .p8 certificate to send push notifications on the iOS platform. It is the unified key to send push notifications in sandbox and production. To set up push notifications with Qonversion using APNs you need the following data:

* APNs Key;
* Key ID;
* Bundle ID;
* Team ID.

### 1. Generate APNs key

Navigate to <a href="https://developer.apple.com/account/resources/authkeys/list" target="_blank" rel="noopener">Certificates, Identifiers & Profiles</a> in your Developer Center. Click the "plus" button.

<img src="https://mintcdn.com/qonversion/zdjn3kzNygqtFGgE/images/docs/a0d5de2-apple_push_notifiction_key.png?fit=max&auto=format&n=zdjn3kzNygqtFGgE&q=85&s=58b4ad4fa6ee119aabba3962d1f50a64" alt="" width="1716" height="852" data-path="images/docs/a0d5de2-apple_push_notifiction_key.png" />

Chose the key name and select Apple Push Notifications service (APNs) from the list.\
Click **Continue**.

<img src="https://mintcdn.com/qonversion/ChZZw2lNh4YCkg0e/images/docs/c16cf82-create_apple_push_notification_service_key.png?fit=max&auto=format&n=ChZZw2lNh4YCkg0e&q=85&s=687a7dec7f558042e665386bac6ccf11" alt="" width="2591" height="1786" data-path="images/docs/c16cf82-create_apple_push_notification_service_key.png" />

### 2. Copy the Key ID and download your key

Copy the key ID and save the downloaded key securely.

<img src="https://mintcdn.com/qonversion/SziPfnpjOpZSUj1s/images/docs/f4b36b5-download_apns_key.png?fit=max&auto=format&n=SziPfnpjOpZSUj1s&q=85&s=8df42c62132e5cad23239db007c62571" alt="" width="2624" height="1154" data-path="images/docs/f4b36b5-download_apns_key.png" />

> 🚧 Download Your Key
>
> Save your key securely. After downloading the key, it cannot be re-downloaded as the server copy is removed.

### 3. Copy your Team ID and Bundle ID

Navigate to Apple Developer and select <a href="https://developer.apple.com/account/resources/identifiers/list" target="_blank">Identifiers</a>:

<img src="https://mintcdn.com/qonversion/VTmQeWlObtMNi7PY/images/docs/834b18c-apple_identifiers.png?fit=max&auto=format&n=VTmQeWlObtMNi7PY&q=85&s=e2a28de1d242d5bfb300dd09de6414f4" alt="" width="2262" height="894" data-path="images/docs/834b18c-apple_identifiers.png" />

Copy your Bundle ID and Team ID on this page. You will need this data for the following steps:

<img src="https://mintcdn.com/qonversion/VTmQeWlObtMNi7PY/images/docs/80d3413-apple_membership_team_id_and_bundle_id.png?fit=max&auto=format&n=VTmQeWlObtMNi7PY&q=85&s=c5dea341896513843491eaa9f9069ffb" alt="" width="2584" height="964" data-path="images/docs/80d3413-apple_membership_team_id_and_bundle_id.png" />

### 4. Configure your Qonversion project with the APNs settings:

Navigate to your Qonversion project's <a href="https://dash.qonversion.io/project/stores" target="_blank">settings page</a> and provide the values in the following fields:

* App Store Bundle ID;
* App Store Push Key File;
* Push Key ID;
* Team ID.

<img src="https://mintcdn.com/qonversion/xaw1i1aL_6Lp0sQh/images/docs/720d17a-qonversion_apple_push_notifications.png?fit=max&auto=format&n=xaw1i1aL_6Lp0sQh&q=85&s=17edd127d6d09916c048f328d65653fa" alt="" width="2580" height="1622" data-path="images/docs/720d17a-qonversion_apple_push_notifications.png" />

> 🚧 Make sure to use server-to-server notification
>
> Activate <a href="/docs/ios-s2s-notifications" target="_blank">server-to-server notifications</a> so Qonversion gets events immediately as they happen. Otherwise, there might be a delay between an event and the time Qonversion receives the event and sends a push notification.

## Google Firebase Push Notifications

You have to <a href="https://firebase.google.com/docs/android/setup" target="_blank">add Firebase to your Android project</a> before starting with the push notifications set up. After you have added Firebase to your app, you can follow the steps below.

### 1. Create a Service Account JSON key

Navigate to your <a href="https://console.firebase.google.com/" target="_blank">Firebase projects page</a> and select your project.

<img src="https://mintcdn.com/qonversion/SziPfnpjOpZSUj1s/images/docs/e43dc18-Screenshot_2023-01-25_at_09.29.47.png?fit=max&auto=format&n=SziPfnpjOpZSUj1s&q=85&s=f47105f88c9daedf9b567b3501b7b2f7" alt="" width="2682" height="878" data-path="images/docs/e43dc18-Screenshot_2023-01-25_at_09.29.47.png" />

Click the Settings icon on the left menu and select **Project Settings**.

<img src="https://mintcdn.com/qonversion/ChZZw2lNh4YCkg0e/images/docs/c935e25-firebase_project_settings.png?fit=max&auto=format&n=ChZZw2lNh4YCkg0e&q=85&s=0c3d4bbb9b5bd05919f40563b74e598b" alt="" width="1675" height="841" data-path="images/docs/c935e25-firebase_project_settings.png" />

Switch to the **Service accounts** tab and open your service accounts page in Google Cloud Console. You will be redirected to the Google Cloud Console IAM section.

<img src="https://mintcdn.com/qonversion/-M3mkakSa01J8jKU/images/docs/618b7c1-Screenshot_2023-01-25_at_09.34.55.png?fit=max&auto=format&n=-M3mkakSa01J8jKU&q=85&s=2bd65ae8e53bb514a5560ec15e9bfb82" alt="" width="2356" height="1722" data-path="images/docs/618b7c1-Screenshot_2023-01-25_at_09.34.55.png" />

After having in Google Cloud Console project linked to your Firebase account project selected, navigate to the **Service Accounts** section.

<img src="https://mintcdn.com/qonversion/bWelyT5Klw3olUpZ/images/docs/2ae2958-Frame_1000001754.png?fit=max&auto=format&n=bWelyT5Klw3olUpZ&q=85&s=1c60d4e324a2c153ce0d537bbf601de9" alt="" width="2000" height="916" data-path="images/docs/2ae2958-Frame_1000001754.png" />

Click the *+ CREATE SERVICE ACCOUNT* button to create an account, allowing Qonversion to send notifications using Firebase Cloud Messaging API.

<img src="https://mintcdn.com/qonversion/SziPfnpjOpZSUj1s/images/docs/eef54bd-Screenshot_2023-01-25_at_09.42.14.png?fit=max&auto=format&n=SziPfnpjOpZSUj1s&q=85&s=2b90255decf41f05d48ccdcfab441440" alt="2640" width="2640" height="526" data-path="images/docs/eef54bd-Screenshot_2023-01-25_at_09.42.14.png" />

Fill in the Service account name fields and click *DONE*.

<img src="https://mintcdn.com/qonversion/ChZZw2lNh4YCkg0e/images/docs/bcf98dc-Frame_1000001754.png?fit=max&auto=format&n=ChZZw2lNh4YCkg0e&q=85&s=7f2ba6b9328a879fc65f9b618fb75527" alt="2000" width="2000" height="1308" data-path="images/docs/bcf98dc-Frame_1000001754.png" />

Please navigate to the recently created service accounts and open its *KEYS* section. Click the *ADD KEY* button.

<img src="https://mintcdn.com/qonversion/ChZZw2lNh4YCkg0e/images/docs/db14f2d-Screenshot_2023-01-25_at_09.48.32.png?fit=max&auto=format&n=ChZZw2lNh4YCkg0e&q=85&s=602f2179fab5c54abd6a53d34ba10354" alt="2244" width="2244" height="896" data-path="images/docs/db14f2d-Screenshot_2023-01-25_at_09.48.32.png" />

Select the *JSON* key. After clicking *CREATE*, the JSON key will be automatically downloaded. Please keep it for further steps.

<img src="https://mintcdn.com/qonversion/svaL--FBG5itc5DB/images/docs/f8cf011-Screenshot_2023-01-25_at_09.50.43.png?fit=max&auto=format&n=svaL--FBG5itc5DB&q=85&s=a0cdd7cfe88a8233493ecfbb26dd8a1b" alt="2246" width="2246" height="1320" data-path="images/docs/f8cf011-Screenshot_2023-01-25_at_09.50.43.png" />

Navigate to the IAM section.

<img src="https://mintcdn.com/qonversion/bWelyT5Klw3olUpZ/images/docs/2ce6d8a-Frame_1000001755.png?fit=max&auto=format&n=bWelyT5Klw3olUpZ&q=85&s=e4d01eab059b4ffcda745edb8f9cc49d" alt="2000" width="2000" height="916" data-path="images/docs/2ce6d8a-Frame_1000001755.png" />

And click the *GRANT ACCESS* button

<img src="https://mintcdn.com/qonversion/xaw1i1aL_6Lp0sQh/images/docs/6db16f0-Screenshot_2023-01-25_at_09.53.50.png?fit=max&auto=format&n=xaw1i1aL_6Lp0sQh&q=85&s=e6d9d80978481ef5c8ab52e9a1fcf4d0" alt="2746" width="2746" height="446" data-path="images/docs/6db16f0-Screenshot_2023-01-25_at_09.53.50.png" />

In the opened screen, enter the ID of the recently created service account in the New principals section.

<img src="https://mintcdn.com/qonversion/-M3mkakSa01J8jKU/images/docs/62e51a5-Screenshot_2023-01-25_at_09.56.50.png?fit=max&auto=format&n=-M3mkakSa01J8jKU&q=85&s=e32e69e70982acbb595332d58b2a48ee" alt="1682" width="1682" height="1600" data-path="images/docs/62e51a5-Screenshot_2023-01-25_at_09.56.50.png" />

Then select the **Firebase Cloud Messaging API Admin** role in the Assign roles section and click *SAVE*.

<img src="https://mintcdn.com/qonversion/zdjn3kzNygqtFGgE/images/docs/b0a13d8-Screenshot_2023-01-25_at_10.36.52.png?fit=max&auto=format&n=zdjn3kzNygqtFGgE&q=85&s=0aef3a57213e5829b974c39c814e5ea0" alt="1634" width="1634" height="1694" data-path="images/docs/b0a13d8-Screenshot_2023-01-25_at_10.36.52.png" />

### 2. Copy your Firebase project ID

Navigate back to the **General** tab in Firebase Console and copy your Firebase Project ID:

<img src="https://mintcdn.com/qonversion/-M3mkakSa01J8jKU/images/docs/4cdec14-firebase_project_id.png?fit=max&auto=format&n=-M3mkakSa01J8jKU&q=85&s=67af1d9068f99112a5e4c1922b8bb453" alt="" width="2551" height="1464" data-path="images/docs/4cdec14-firebase_project_id.png" />

### 3. Configure Qonversion project with the Firebase settings:

Navigate to your Qonversion project's <a href="https://dash.qonversion.io/project/stores" target="_blank">settings page</a> and provide the values for the following fields:

* Android package name;
* Firebase project ID that you have copied [at the previous step](/docs/mobile-pushes#2-copy-your-firebase-project-id);
* Firebase Service Account JSON key that you have downloaded during [the first step](/docs/mobile-pushes#1-create-a-service-account-json-key).

<img src="https://mintcdn.com/qonversion/zdjn3kzNygqtFGgE/images/docs/a44dd7d-configuring_qonversion_with_firebase_messaging.png?fit=max&auto=format&n=zdjn3kzNygqtFGgE&q=85&s=5670b2c48a30f79fc59db1946c918578" alt="" width="2702" height="1520" data-path="images/docs/a44dd7d-configuring_qonversion_with_firebase_messaging.png" />
