For react-native
Setup
To start developing apps with react native, there are two different phases of setup required:
Setting up the npm project
Setting up each target platform (currently only iOS and android are supported)
To make the setup easier and to get started quicker, you can also use the react-native-starter-app
as your starting point. To do so, simply clone the repo from:
And then run the following to install all the dependencies:
Do note that you will still have to setup your credentials with APNs and FCM before you can start consuming messages.
Setting up the npm project
To setup the npm project, you simply need to add the dependencies for your project using yarn or npm:
Or using npm,
Setting up react-native-firebase
react-native-firebase
For messaging support the react-native sdk uses react-native-firebase
, specifically its Cloud Messaging Module. To setup the same, follow the steps as outlined on https://rnfirebase.io/docs/v5.x.x/installation/android
NOTE If you are using the starter app as a base template, you can skip the section Install Modules in the link above.
Setting up individual platforms
Since cloud messaging works at a lower level than most apps, setting up the Mitter.io SDK for react native requires further setup on each of the target platforms.
iOS
Initial setup https://rnfirebase.io/docs/v5.x.x/installation/ios
Cloud messaging setup https://rnfirebase.io/docs/v5.x.x/messaging/ios
NOTE If you are using the starter app as a base template, you can skip the section Install Modules in both of the above links.
Android
Initial setup https://rnfirebase.io/docs/v5.x.x/installation/android
Cloud messaging setup https://rnfirebase.io/docs/v5.x.x/messaging/android
Additional setup (for some optional components)
The native-sdk uses rn-fetch-blob
for managing file uploads. Performing a link on the project is usually required before being able to use this package:
react-native link rn-fetch-blob
Doing the above and adding permissions from https://github.com/joltup/rn-fetch-blobshould should just work for you.
If you are facing installation problems please refer to the installation section in the following repo:
Additional setup (for the starter app)
React Navigation
The setup for react navigation is given in the below link
React Native Elements
The starter app uses the community developed react-native-elements package as a UI toolkit
The setup for react-native-elements is given in the below link
Usage
React native has the exact same usage as other Javascript SDKs apart from the fetching the mitter.io object:
Using the SDK with containerized Mitter.io
If you are using the Mitter.io docker container, you will have to override the API url:
For the <mitter-api-url>
, use the following value:
If you're using the cloud hosted solution, you can omit the
mitterApiBaseUrl
key in the config or explicitly set it tohttps://api.mitter.io
If you're running it as a docker container set it to
http://localhost:<port>
where the port is port forwarded by docker for11902
. To find out which port it is, run the following commanddocker port $(docker ps --filter expose=11901-11903/tcp --format "")
Once you have the mitter object for React Native, you can continue from the Usage and user authorization section in the Javascript reference.
Last updated