airbridge-react-native-sdk
Version:
Airbridge SDK for React Native
127 lines (109 loc) • 3.78 kB
JavaScript
import React, { Component } from 'react'
import {
View,
Platform,
NativeModules,
} from 'react-native'
import { Styles } from '../common/Styles'
import { storage } from '../common/Storage'
import { fcmService } from '../common/FCMService'
import VerticalPreference from '../component/VerticalPreference';
import ConfirmDialog from '../component/ConfirmDialog'
export default class IdentifiersPage extends Component {
constructor(props) {
super(props);
this.state = {
deviceUUID: storage.get('deviceUUID') ?? 'N/A',
appSetID: 'N/A',
airbridgeGeneratedDeviceUUID: storage.get('airbridgeGeneratedDeviceUUID') ?? 'N/A',
idfa: 'N/A',
idfv: 'N/A',
gaid: 'N/A',
fcmToken: storage.get('fcmToken') ?? 'N/A',
apnsToken: storage.get('apnsToken') ?? 'N/A',
airbridgeJSON: '-'
};
this.confirmRef = React.createRef()
this.fetchIdentifiers()
this.fetchAirbridgeJSON()
if (Platform.OS === 'ios') {
fcmService.requestPermission()
}
}
fetchIdentifiers = async () => {
const response = await NativeModules.IdentifiersInteractor.identifiers()
console.log('fetchIdentifiers response : ' + response)
const jsonData = JSON.parse(response)
const data = jsonData['data']
this.setState({
appSetID: data['appSetID'] ?? 'N/A',
gaid: data['gaid'] ?? 'N/A',
idfa: data['idfa'] ?? 'N/A',
idfv: data['idfv'] ?? 'N/A',
})
}
fetchAirbridgeJSON = async () => {
const response = await NativeModules.IdentifiersInteractor.airbridgeJSON()
console.log('fetchAirbridgeJSON response : ' + response)
this.setState({
airbridgeJSON: response
})
}
reloadToken = async () => {
this.setState({
fcmToken: 'Reloading..',
})
await fcmService.deleteToken()
await fcmService.updateToken()
this.setState({
fcmToken: storage.get('fcmToken') ?? 'N/A',
})
}
render() {
return (
<View style={Styles.container}>
<VerticalPreference
title={'UUID'}
text={this.state.deviceUUID}
accessibilityLabel={'airbridgeDeviceId'} />
<VerticalPreference
title={'AppSetID'}
text={this.state.appSetID}
accessibilityLabel={'appSetId'} />
<VerticalPreference
title={'GeneratedDeviceUUID'}
text={this.state.airbridgeGeneratedDeviceUUID}
accessibilityLabel={'generatedDeviceUUID'} />
<VerticalPreference
title={'Google Advertising ID (GAID)'}
text={this.state.gaid}
accessibilityLabel={'googleAdvertisingId'} />
<VerticalPreference
title={'Apple Advertising ID (IDFA)'}
text={this.state.idfa}
accessibilityLabel={'airbridgeIDFA'} />
<VerticalPreference
title={'Apple Vendor ID (IDFV)'}
text={this.state.idfv}
accessibilityLabel={'airbridgeIDFV'} />
<VerticalPreference
title={'Firebase Cloud Messaging Token'}
text={this.state.fcmToken}
accessibilityLabel={'fcmToken'}
onPress={() => this.confirmRef.current.show() } />
<VerticalPreference
title={'PushToken'}
text={this.state.apnsToken}
accessibilityLabel={'airbridgePushToken'} />
<VerticalPreference
title={'airbridgeJSON'}
text={this.state.airbridgeJSON}
accessibilityLabel={'airbridgeJSON'} />
<ConfirmDialog
ref={this.confirmRef}
message={'Firebase Cloud Messaging Token Deleted'}
onConfirm={() => { this.reloadToken() }} />
</View>
)
}
}