airbridge-react-native-sdk
Version:
Airbridge SDK for React Native
66 lines (50 loc) • 1.61 kB
JavaScript
import React, { useEffect, useRef, useState } from 'react'
import { View } from 'react-native'
import { storage } from './common/Storage'
import { fcmService } from './common/FCMService'
import { NavigationContainer } from '@react-navigation/native'
import StackNavigation from './navigations/Stack'
import { Airbridge } from 'airbridge-react-native-sdk'
import MessageDialog from './component/MessageDialog'
import { qaLog } from './common/QALog'
export default function App() {
useEffect(() => {
prepare()
}, [])
prepare = async () => {
fcmService.prepare()
storage.set('attributeResult', 'N/A')
Airbridge.fetchDeviceUUID((uuid) => {
storage.set('deviceUUID', uuid)
})
Airbridge.fetchAirbridgeGeneratedUUID((uuid) => {
storage.set('airbridgeGeneratedDeviceUUID', uuid)
})
Airbridge.setOnAttributionReceived((result) => {
if (result == null) {
storage.set('attributeResult', 'N/A');
} else {
storage.set('attributeResult', JSON.stringify(result));
}
})
Airbridge.setOnDeeplinkReceived((result) => {
qaLog(`[DeepLink] ${result}`)
setDeeplink(result)
deeplinkRef.current?.show()
})
}
const deeplinkRef = useRef();
const [deeplink, setDeeplink] = useState('');
return (
<View style={{flex:1}}>
<NavigationContainer>
<StackNavigation />
</NavigationContainer>
<MessageDialog
ref={deeplinkRef}
title={'Deeplink'}
accessibilityLabel={'deeplink'}
message={deeplink} />
</View>
)
}