[firebase_messaging] Added dynamic firebase api configuration #2098
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
This PR extends the
firebase_messaging
plugin to provide the Firebase configuration at runtime instead of using thegoogle-service.json
/GoogleService-Info.plist
Detailed changes:
FirebaseMessagingPlugin.java
:FirebaseApp.initializeApp
inside theonMethodCall
method in the "configure" branchcall.arguments
is provided and it is an instance ofMap
.FLTFirebaseMessagingPlugin.m
:[FIRApp configure]
etc. inside thehandleMethodCall
method in the "configure" branch.call.arguments
is provided and it is an instance ofNSDictionary
.FIROptions
object and init it with the googleAppId and gcmSenderId and pass it to[FIRApp configureWithOptions:options]
to configure Firebasefirebase_messaging.dart
:FirebaseOptions
class, which represents the configurationfirebase_messaging_test.dart
:README.md
:Related Issues
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.///
).flutter 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?