Repository navigation
Conversation
There was a problem hiding this comment.
Code Review
This pull request updates the documentation in the README and Dart files to explain how to register with a Firebase Installation ID (FID) on Android, iOS, and macOS, including the configuration steps and the impact on legacy token APIs. The review feedback suggests improving the clarity and terminology of these documentation updates, such as using more standard phrasing like 'disabled by default' and simplifying global configuration references.
| On Android, iOS and macOS, the native SDKs turn registration by Firebase Installation ID off | ||
| by default, and `register()` and `unregister()` fail until the app enables it. |
| /// On Android, iOS and macOS, this fails once registration by FID is enabled | ||
| /// for [register]. |
There was a problem hiding this comment.
The phrasing "enabled for [register]" is slightly awkward because the setting is enabled globally for the application/SDK, not specifically "for" the register method. Simplifying this to "enabled" is clearer.
| /// On Android, iOS and macOS, this fails once registration by FID is enabled | |
| /// for [register]. | |
| /// On Android, iOS and macOS, this fails once registration by FID is enabled. |
| /// On Android, iOS and macOS, registration by FID is turned off by default, | ||
| /// and this method fails until the app enables it: |
There was a problem hiding this comment.
Using "disabled by default" is more standard and idiomatic in API documentation than "turned off by default".
| /// On Android, iOS and macOS, registration by FID is turned off by default, | |
| /// and this method fails until the app enables it: | |
| /// On Android, iOS and macOS, registration by FID is disabled by default, | |
| /// and this method fails until the app enables it: |
| /// On Android, iOS and macOS, this fails once registration by FID is enabled | ||
| /// for [register]. |
There was a problem hiding this comment.
The phrasing "enabled for [register]" is slightly awkward because the setting is enabled globally for the application/SDK, not specifically "for" the register method. Simplifying this to "enabled" is clearer.
| /// On Android, iOS and macOS, this fails once registration by FID is enabled | |
| /// for [register]. | |
| /// On Android, iOS and macOS, this fails once registration by FID is enabled. |
Description
register()andunregister()fail on Android, iOS and macOS unless the app opts in to registration by Firebase Installation ID. On Android, the opt-in is thefirebase_messaging_installation_id_enabledmeta-data. On Apple platforms, it is theFirebaseMessagingInstallationIdEnabledkey inInfo.plist. Once enabled, the deprecated token API (getToken(),deleteToken()) fails instead.Only the example app shows this today. An app that follows the deprecation messages and moves from
getToken()toregister()gets, on Android:This PR documents the settings in the doc comments of
register()andunregister(). It also notes ongetToken()anddeleteToken()that they fail once the setting is on, and adds a short README section next to the UIScene one. The behaviour described follows the native SDKs:FirebaseMessaging.javain firebase-android-sdk, and theinstallationIdEnableddocumentation in firebase-ios-sdk'sFIRMessaging.h. It was seen on an Android device with 17.0.1.Related Issues
Follows #18482 (FID registration APIs, requested in #18479).
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]).This will ensure a smooth and quick review process. Updating the
pubspec.yamland changelogs is not required.///).melos run analyze) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?