Expo Android SDK Setup

Setting Up SDK

Follow this guide to integrate Reteno into an Expo app.

Step 1: Install package

Using yarn:

yarn add expo-reteno-sdk

or npm:

npm i expo-reteno-sdk

Step 2: Configure plugin in app.json

Choose one initialization path.

Path A: Automatic initialization

Set android.sdkAccessToken in the plugin config. The plugin writes it to AndroidManifest.xml, and the SDK initializes automatically with default options.

{
  "expo": {
    "plugins": [
      [
        "expo-reteno-sdk",
        {
          "android": {
            "sdkAccessToken": "YOUR_SDK_ACCESS_KEY",
            "config": {
              "isDebugMode": false
            }
          }
        }
      ]
    ],
    "android": {
      "minSdkVersion": 26
    }
  }
}

If sdkAccessToken is set, a later Reteno.initialize() call is a no-op. Use Path B when you need runtime initialization options.

Path B: JavaScript-controlled initialization

Omit android.sdkAccessToken:

{
  "expo": {
    "plugins": [
      [
        "expo-reteno-sdk",
        {
          "android": {}
        }
      ]
    ],
    "android": {
      "minSdkVersion": 26
    }
  }
}

Then initialize Reteno once at app startup:

import Reteno from 'expo-reteno-sdk';

await Reteno.initialize({
  apiKey: 'YOUR_SDK_ACCESS_KEY',
  isDebugMode: false,
  lifecycleTrackingOptions: 'ALL',
});

Step 3: Add Firebase config

Download your google-services.json from Firebase Console and place it to:

android/app/google-services.json

Step 4: Run Expo prebuild

npx expo prebuild --platform android

The plugin configures Gradle dependencies, Reteno initialization, and Android broadcast receivers in AndroidManifest.xml automatically.

The plugin configures Gradle dependencies, the Reteno FCM service, and Android broadcast receivers automatically. With Path A, it also adds the SDK access key to AndroidManifest.xml.

Step 5: Build and run a development build

npx expo run:android

expo-reteno-sdk uses native modules and does not work in Expo Go.

Step 6: Configure Firebase server key in Reteno panel

In Firebase console, open Project Settings -> Cloud Messaging -> Manage Service Accounts. Then download Firebase Admin SDK service account JSON and add it in Reteno admin panel.

Follow manual to complete setup in admin panel.

After that you can run your app on a physical Android device and test push notifications.

Plugin Props

PropTypeRequiredDescription
sdkAccessTokenstringNoSDK access key for automatic initialization. Omit it to initialize from JavaScript.
config.isDebugModebooleanNoEnable SDK debug logging. Only applies when sdkAccessToken is set (Path A). Writes com.reteno.IS_DEBUG_MODE to AndroidManifest.xml.

Notes

  • Required Android minSdkVersion is 26.
  • If you use Kotlin DSL (build.gradle.kts), some plugin patches may require manual Gradle setup.
  • After upgrading to v2.0.0, run npx expo prebuild --clean to apply the updated manifest and FCM service configuration.