| Insider | NPM JS react-native-insider | InsiderAcademy |
This Demo contains simple methods that you can use with the Insider SDK.
![]() |
Install all npm packages by running the npm install command in the home directory.
Replace partner name and app group value in App.tsx with your info.
Note: Can easily find the warnings added as comments by searching the FIXME-INSIDER key in the project and you can quickly make the necessary arrangements for the project.
- Add
google-services.jsonandagconnect-services.jsontoandroid/appfolder. - Add your keystore file to
android/appfolder and replacesigningConfigsattributes inandroid/app/build.gradlefile with your info. - Replace manifestPlaceholders -> partner value with your partner name in
android/app/build.gradlefile. (This step is important to add test device with QR or Email in the panel.) - And run project with
npm run androidcommand.
- Go to the iOS folder with terminal and run the
pod installcommand. - Open XCode and check the app group and bundle identifier for all targets.
- Replace
insiderURL type in main target Info -> URL Types with your partner name. (This step is important to add test device with QR or Email in the panel.) - Change the app group value in
InsiderNotificationService/NotificationService.swiftandInsiderNotificationContent/NotificationViewController.swiftfiles. - And run project with XCode.
This demo runs on the New Architecture — Fabric and bridgeless — and react-native-insider
works under it with no extra setup. There are no migration steps to follow: the SDK exports no
native UI components, so Fabric is not involved, and it registers as a legacy native module that
React Native bridges through its interop layer.
A few things worth knowing:
- No API changes. Every method available before the migration still exists and behaves the same. Nothing was removed between 7.x and 8.x.
- Hermes and Fabric are not configured here. On React Native 0.82+
use_react_native!enables both regardless of what the Podfile asks for, so passing:hermes_enabledor:fabric_enabledhas no effect. This project leaves them out rather than setting values that are silently ignored. - Android enables the New Architecture through
newArchEnabled=trueinandroid/gradle.properties, which is the default for new projects.
If you hit something that behaves differently with the New Architecture enabled, please open an issue with your React Native version and a log excerpt.
- Replace URL in AndroidManifest.xml file with your domain.
Note: If you are not directed to the application when you click on the URL or scan it with QR, you may not have done the verify step for the URL you set. To solve this problem, open the "Supported web addresses" settings from the "Set as default" settings in the application settings and enable the URL you set.
Ref: https://developer.android.com/training/app-links/verify-android-applinks
- Release app link in Associated Domain with your domain for main target.
If you are not directed to the application when you click on the URL or scan it with QR, you may not have done the verify step for the URL you set. To solve this problem, you can add a verification file to the root directory of your domain.
Ref: https://developer.apple.com/documentation/xcode/supporting-associated-domains
You will see the following error upon building the project:
[Warning] You need to configure your node path in the
".xcode.env" fileenvironment. You can set it up quickly by running:echo export NODE_BINARY=$(command -v node) > .xcode.envin the ios folder. This is needed by React Native to work correctly.
We fallback to the DEPRECATED behavior of findingnode. This will be REMOVED in a future version. You can read more about this here: https://reactnative.dev/docs/environment-setup#optional-configuring-your-environment /Users/youruser/Library/Developer/Xcode/DerivedData/ReactNativeDemo-armazsjamjdnozdegphlbkfgioxp/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/hermes-engine.build/Script-46EB2E00022190.sh: line 9: : command not found Command PhaseScriptExecution failed with a nonzero exit code
In order to circumvent this, you need to export your node version into .xcode.env (and .xcode.env.local just in case) file.
echo export NODE_BINARY=$(command -v node) > ios/.xcode.env
echo export NODE_BINARY=$(command -v node) > ios/.xcode.env.local
