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

# FCM Push Notification Setup Guide

> Set up FCM to enable offline push notifications for your exclusive DingTalk app on overseas Android, iOS, and Web devices via Firebase registration and configuration.

FCM (Firebase Cloud Messaging) is a cross-platform messaging solution that supports Android, iOS, and Web platforms. It is an enhanced version of GCM (Google Cloud Messaging).

If you want your exclusive App to receive offline push notifications on overseas devices, please apply for FCM and provide the required materials.

***

## Apply for FCM

<Steps>
  <Step title="(1) Apply for a Google Developer Account" />

  <Step title="(2) Register on Firebase">
    Create a project and register an app on Firebase. Registration URL: [https://console.firebase.google.com/](https://console.firebase.google.com/)

    After creating the project, select the Android icon to configure the Android app:

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/c4aad5dd-2700-4c73-8ca9-12d7982b655e.png?x-oss-process=image/crop,x_0,y_0,w_2123,h_1256/ignore-error,1" alt="Configure the Android app on Firebase" />
    </Frame>

    <Note>
      Please note:

      * **Android package name**: Enter the correct exclusive DingTalk package name
      * **App nickname (optional)**: Enter the exclusive DingTalk app name
    </Note>

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/101a77fa-1f28-41e1-a02d-54c25993bd9e.png" alt="Enter the Android package name and app nickname" />
    </Frame>
  </Step>

  <Step title="(3) Download the Configuration File and Upload to the DingTalk Packaging Platform">
    Click to download **google-services.json**. Save the file and send it to DingTalk technical support for configuration.

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/5e35c707-9ce5-476f-ab49-5edf39df96ee.png" alt="Download google-services.json" />
    </Frame>
  </Step>

  <Step title="(4) Access the Console to Configure Additional Parameters">
    Proceed to the final step and go to the console.

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/76639f3f-62a5-493a-8138-42f1fe8027d9.png" alt="Go to the console" />
    </Frame>
  </Step>

  <Step title="(5) Create a Service Account Key">
    Navigate to **Project settings > Service accounts > Generate new private key**, as shown below:

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/df3d85fa-c5a6-49ba-bbe3-55eb86b80f42.png?x-oss-process=image/crop,x_0,y_0,w_2123,h_1256/ignore-error,1" alt="Project settings, Service accounts, Generate new private key" />
    </Frame>

    <div style={{display: 'flex', gap: '12px', justifyContent: 'center', flexWrap: 'wrap', margin: '16px 0'}}>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/03d425ad-ee49-44ef-a16e-a37cbd4ea8f3.png" alt="Generate private key dialog" style={{width: '48%', minWidth: '280px', borderRadius: '8px', boxShadow: '0 2px 12px rgba(0,0,0,0.08)', margin: 0}} />

      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/2479da7f-c331-4f51-826e-243b7c261aa2.png" alt="Confirm private key generation" style={{width: '48%', minWidth: '280px', borderRadius: '8px', boxShadow: '0 2px 12px rgba(0,0,0,0.08)', margin: 0}} />
    </div>

    After clicking **Generate key**, a JSON file will be automatically generated. Save the file and send it to DingTalk technical support:

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/LAJdl6zMMMDQlke1/img/adb6ae9a-4fa7-4764-87af-5dd4afd82d38.png" alt="Generated service account key JSON file" />
    </Frame>
  </Step>

  <Step title="(6) Create a Realtime Database">
    Click **Create Database**:

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/ab8c9db6-2bad-4c34-9358-a9b65051a3d1.png" alt="Create Database" />
    </Frame>

    <div style={{display: 'flex', gap: '12px', justifyContent: 'center', flexWrap: 'wrap', margin: '16px 0'}}>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/a5fa837c-2683-4850-aa0a-0ad7625cac12.png" alt="Realtime Database setup step" style={{width: '48%', minWidth: '280px', borderRadius: '8px', boxShadow: '0 2px 12px rgba(0,0,0,0.08)', margin: 0}} />

      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/003a8cd3-04c4-4ab8-b7a0-6290a50a54e0.png" alt="Realtime Database rules step" style={{width: '48%', minWidth: '280px', borderRadius: '8px', boxShadow: '0 2px 12px rgba(0,0,0,0.08)', margin: 0}} />
    </div>

    Click **Enable**, then copy the database URL as a packaging material.

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/f417ba2c-bb63-47a4-a099-f78d598bf473.png" alt="Copy the database URL" />
    </Frame>
  </Step>

  <Step title="(7) Provide the Above Materials to DingTalk for Configuration">
    <Check>
      * google-services.json
      * Service account key JSON file
      * Realtime Database URL
    </Check>
  </Step>

  <Step title="(8) Test FCM via the Firebase Console (Optional)">
    <Note>
      **Note: This step is optional.**
    </Note>

    To verify FCM, you need to prepare a device with Google push services (an Pixel device is recommended). Go to the Firebase console and select **Messaging**.

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/3ab137e0-1067-4a11-a519-c10fc121a042.png" alt="Select Messaging in the Firebase console" />
    </Frame>

    Follow the prompts step by step to send a test notification. **Important: Only test before going live — avoid sending messages to all users to prevent service disruptions.**

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/oJGq750ZzNR62lAK/img/9327cdf4-d064-4acb-a47d-f42cf13af335.png" alt="Send a test notification" />
    </Frame>

    After sending, the device will receive the test notification, indicating that the FCM setup was successful:

    <Frame>
      <img src="https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/LAJdl6zMMMDQlke1/img/fb12f2da-5680-4df3-a285-e394f73f979a.png?x-oss-process=image/crop,x_0,y_305,w_760,h_291/ignore-error,1" alt="Device receives the test notification" />
    </Frame>
  </Step>
</Steps>
