Cordova plugin for Firebase In-App Messaging
Your help is appreciated. Create a PR, submit a bug or just grab me 🍺 |
---|
- iOS
- Android
cordova plugin add cordova-plugin-firebase-inappmessaging
Use variables IOS_FIREBASE_POD_VERSION
and ANDROID_FIREBASE_BOM_VERSION
to override dependency versions for Firebase SDKs:
$ cordova plugin add cordova-plugin-firebase-inappmessaging \
--variable IOS_FIREBASE_POD_VERSION="9.3.0" \
--variable ANDROID_FIREBASE_BOM_VERSION="30.3.1"
By default, Firebase In-App Messaging automatically delivers messages to all app users you target in messaging campaigns. To deliver those messages, the Firebase In-App Messaging SDK uses Firebase installation IDs to identify each user's app. This means that In-App Messaging has to send client data, linked to the installation ID, to Firebase servers. If you'd like to give users more control over the data they send, disable automatic data collection and give them a chance to approve data sharing.
Set variable AUTOMATIC_DATA_COLLECTION_ENABLED
to false
to prevent collecting any user data:
$ cordova plugin add cordova-plugin-firebase-inappmessaging \
--variable AUTOMATIC_DATA_COLLECTION_ENABLED=false
Later you can re-enable automatic data collection (for instance after getting end-user consent) using method setAutomaticDataCollectionEnabled. Once you set a data collection preference manually, the value persists through app restarts, overriding the value in your AndroidManifest.xml
. If you'd like to disable initialization again, for example if a user opts out of collection later, pass false
to the setAutomaticDataCollectionEnabled
method.
Cordova supports resource-file
tag for easy copying resources files. Firebase SDK requires google-services.json
on Android and GoogleService-Info.plist
on iOS platforms.
- Put
google-services.json
and/orGoogleService-Info.plist
into the root directory of your Cordova project - Add new tag for Android platform
<platform name="android">
...
<resource-file src="google-services.json" target="app/google-services.json" />
</platform>
...
<platform name="ios">
...
<resource-file src="GoogleService-Info.plist" />
</platform>
This way config files will be copied on cordova prepare
step.
setAutomaticDataCollectionEnabled(collectionEnabled
): Promise
<void
>
Enables, disables, or clears automatic data collection for Firebase In-App Messaging
Example
cordova.plugins.firebase.inappmessaging.setAutomaticDataCollectionEnabled(true);
Name | Type | Description |
---|---|---|
collectionEnabled |
boolean |
Whether automatic collection is enabled |
Promise
<void
>
Callback when operation is completed
setMessagesSuppressed(messagesSupressed
): Promise
<void
>
Enables or disables suppression of Firebase In App Messaging messages.
Example
cordova.plugins.firebase.inappmessaging.setMessagesSuppressed(true);
Name | Type | Description |
---|---|---|
messagesSupressed |
boolean |
Whether messages are suppressed |
Promise
<void
>
Callback when operation is completed