Files
jitsi-meet/react/features/analytics/handlers/amplitude/fixDeviceID.native.js
Saúl Ibarra Corretgé 687a6c31ee feat(analytics) unify Amplitude handlers across web and mobile
The amplitude-js library gained React Native support so there is no need to keep
separate implementations.
2020-12-22 10:36:10 +01:00

24 lines
659 B
JavaScript

import DefaultPreference from 'react-native-default-preference';
import DeviceInfo from 'react-native-device-info';
/**
* Custom logic for setting the correct device id.
*
* @param {AmplitudeClient} amplitude - The amplitude instance.
* @returns {void}
*/
export async function fixDeviceID(amplitude) {
await DefaultPreference.setName('jitsi-preferences');
const current = await DefaultPreference.get('amplitudeDeviceId');
if (current) {
amplitude.setDeviceId(current);
} else {
const uid = DeviceInfo.getUniqueId();
amplitude.setDeviceId(uid);
DefaultPreference.set('amplitudeDeviceId', uid);
}
}