Repository navigation
chore: [SDK-5691] enable Firebase Installation IDs in demo app - #2011
Merged
Merged
Conversation
Rename the Android demo package to com.onesignal.sdkdemo, apply the Google Services plugin only when google-services.json exists, and add firebase-messaging 25.1.3. The FID manifest flag stays off unless -PFIREBASE_INSTALLATION_ID_ENABLED=true, which E2E sets after writing google-services.json from the shared secret. Remove the default app id; Metro fails the bundle when ONESIGNAL_APP_ID is unset. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sherwinski
approved these changes
Nov 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
One Line Summary
Rename the Android demo to
com.onesignal.sdkdemoand turn on Firebase Installation ID registration for E2E builds.Details
Motivation
E2E should cover Firebase Installation ID registration. That needs
firebase-messaging25.1.2+, the manifest flag, and agoogle-services.jsonwhose client matches the app package. Same approach as OneSignal/OneSignal-Android-SDK#2836 and OneSignal/OneSignal-Capacitor-SDK#81.Scope
com.onesignal.sdkdemoindemoanddemo-no-location. iOS stayscom.onesignal.example. FID/E2E wiring isdemoonly.firebase-messaging25.1.3 (OneSignal alone resolves 24.x).firebase_messaging_installation_id_enabledcomes from-PFIREBASE_INSTALLATION_ID_ENABLEDand defaults tofalse. The build fails if it's on withoutgoogle-services.json. The Google Services plugin is applied only when the file exists.google-services.jsonis gitignored. The Android E2E job writes it fromAPPIUM_GOOGLE_SERVICES_JSONwith sdk-sharedsetup-google-services, so an empty secret fails with that action's error. iOS doesn't touch it.bundle-id: com.onesignal.sdkdemoto the Android Appium job.metro.config.jsfails the bundle whenONESIGNAL_APP_IDis unset in bothprocess.envand.env, which coversreact-native startand release bundling on both platforms.Testing
Manual testing
assembleRelease -PciSingleAbi -PFIREBASE_INSTALLATION_ID_ENABLED=truewith agoogle-services.jsonbuilds. The APK has packagecom.onesignal.sdkdemo, the flag istrue, andfirebase-messagingresolves to 25.1.3.ONESIGNAL_APP_ID, loadingmetro.config.jsthrows. Setting it viaprocess.envworks.vp run lintpasses.rel/**or manual dispatch, and needsAPPIUM_GOOGLE_SERVICES_JSONto have acom.onesignal.sdkdemoclient.Affected code checklist
Checklist
Overview
Testing
Final pass
🤖 Generated with Claude Code