Capacitor Firebase Remote Config Plugin
Capacitor community plugin for firebase remote config.
Capacitor Compatibility
Version 1.x.x is compatible with Capacitor 5 Version 0.6.0 is compatible with Capacitor 4 Please use 0.5.2 for Capacitor 3
Installation
To use npm
npm install @teknepal/firebase-remote-config
To use yarn
yarn add @teknepal/firebase-remote-config
Sync native files
npx cap sync
On iOS, no further steps are needed.
On Android, register the plugin in your main activity:
import com.getcapacitor.community.firebaserc.FirebaseRemoteConfig;
public class MainActivity extends BridgeActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initializes the Bridge
this.init(
savedInstanceState,
new ArrayList<Class<? extends Plugin>>() {
{
// Additional plugins you've installed go here
// Ex: add(TotallyAwesomePlugin.class);
add(FirebaseRemoteConfig.class);
}
}
);
}
}
Configuration
Download appropriate google-services.json or GoogleService-Info.plist and place it in the correct platform app directory.
For Android: /android/app
For iOS: /ios/App/App
Supported methods
Name | Android | iOS | Web |
---|---|---|---|
initializeFirebase | ✅ | ✅ | ✅ |
setDefaultConfig | ✅ | ✅ | ✅ |
initialize | ✅ | ✅ | ✅ |
fetch | ✅ | ✅ | ✅ |
activate | ✅ | ✅ | ✅ |
fetchAndActivate | ✅ | ✅ | ✅ |
getBoolean | ✅ | ✅ | ✅ |
getByteArray | ✅ | ✅ | ✅ |
getNumber | ✅ | ✅ | ✅ |
getString | ✅ | ✅ | ✅ |
Usage
// Must import the package once to make sure the web support initializes
import "@teknepal/firebase-remote-config";
import { Plugins } from "@capacitor/core";
const { FirebaseRemoteConfig } = Plugins;
/**
* This method will initialize firebase app if not yet initialized. Note that it
* is safe to call but does nothing in iOS or Android as initialization is
* automatic on load.
*
* @param firebase configs - from google-service.json or GoogleService-Info.plist
* @returns void
*/
FirebaseRemoteConfig.initializeFirebase({
apiKey: "...",
authDomain: "...",
databaseURL: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "...",
measurementId: "...",
});
/**
* This method will set default remote config values. On Web, it will read from
* the parameters give. On Android and iOS it will use the build in mechanisms
* and ignore any parameters supplied.
*
* @param options - key/value params with default values
* @returns void
*/
FirebaseRemoteConfig.setDefaultConfig({
has_sale: false,
event_name: "clearance_event",
});
/**
* This method will configure remote config object instance and set the minimum
* fetch interval to allow for frequest refreshes.
*
* @param minimumFetchIntervalInSeconds - interval in seconds (default: 3600)
* @returns void
*/
FirebaseRemoteConfig.initialize({
minimumFetchIntervalInSeconds: 3600,
});
/**
* This method will execute fetch task to retrieve config
* @param none
* @returns void
*/
FirebaseRemoteConfig.fetch();
/**
* This method will activate the fetched values making it available for your app
*
* @param none
* @returns void
*/
FirebaseRemoteConfig.activate();
/**
* This method will fetch and activate the values making it available for your
* app
*
* @param none
* @returns void
*/
FirebaseRemoteConfig.fetchAndActivate();
/**
* This method will return the parameter value for a given key in boolean
* @param key - key to obtain boolean value
* @returns key - key used to obtain value
* value - boolean value for a given key
* source - Indicates that the source of value retrieved (default, remote, static)
*/
FirebaseRemoteConfig.getBoolean({
key: "bool key",
});
/**
* This method will return the parameter value for a given key in byte array
* @param key - key to obtain byte array value
* @returns key - key used to obtain value
* value - byte array value for a given key
* source - Indicates that the source of value retrieved (default, remote, static)
*/
FirebaseRemoteConfig.getByteArray({
key: "array key",
});
/**
* This method will return the parameter value for a given key in double
* @param key - key to obtain double value
* @returns key - key used to obtain value
* value - double value for a given key
* source - Indicates that the source of value retrieved (default, remote, static)
*/
FirebaseRemoteConfig.getNumber({
key: "number key",
});
/**
* This method will return the parameter value for a given key in string
* @param key - key to obtain string value
* @returns key - key used to obtain value
* value - string value for a given key
* source - Indicates that the source of value retrieved (default, remote, static)
*/
FirebaseRemoteConfig.getString({
key: "string key",
});