After the SDK setup is complete, add the codes to your application as below.
appAlias
value should be sent differently for iOS and Android apps (excluding Expo apps)
Example;
const appAlias = Platform.OS === "ios" ? "RelatedStoreIOS" : "RelatedStoreAndroid";
import { addEventListener, removeEventListener, requestPermissions, EuroMessageApi } from 'react-native-related-digital' const appAlias = 'alias' // Get it from RMC team export const euroMessageApi = new EuroMessageApi(appAlias); export const AddEventListener = addEventListener; export const RequestPermissions = requestPermissions;
Useage
You can review the lines about VisilabsApi
here.
If you are not using Visilabs, remove lines 9, 22, and 36.
import React, { useState, useEffect } from 'react'; import { SafeAreaView, StyleSheet, ScrollView, Button, View, ActivityIndicator, Platform } from 'react-native'; import { addEventListener, removeEventListener, requestPermissions, EuroMessageApi, VisilabsApi } from 'react-native-related-digital' const App = () => { const [loading, setLoading] = useState(false) const appAlias = 'alias' const siteId = "SID"; const organizationId = "OID"; const dataSource = "datasource"; const euroMessageApi = new EuroMessageApi(appAlias) const visilabsApi = new VisilabsApi(appAlias, siteId, organizationId, dataSource) useEffect(() => { addExtra() addListeners() return () => removeListeners() }, []) const addListeners = () => { addEventListener('register', async (token) => { const subscribeResult = await euroMessageApi.subscribe(token) visilabsApi.register(token, (result) => { }) }, (notificationPayload) => { console.log('notification payload', notificationPayload) }, euroMessageApi) addEventListener('registrationError', async (registrationError) => { console.log('registrationError is ', registrationError) }, euroMessageApi) } const addExtra = async () => { await euroMessageApi.setUserProperty('extra', 1) } const removeListeners = () => { removeEventListener('register') removeEventListener('registrationError') } return ( <> <SafeAreaView> { loading ? <ActivityIndicator size='large' animating={loading} /> : <ScrollView contentInsetAdjustmentBehavior="automatic" style={styles.scrollView}> <Button title='REQUEST PERMISSONS' onPress={() => { requestPermissions() }} /> </ScrollView> } </SafeAreaView> </> ); }; const styles = StyleSheet.create({ scrollView: { backgroundColor: '#FFF', padding: 20 }, divider: { height: 20 } }); export default App;