@ping-identity/rn-device-id
v1.0.0
Published
The Device ID Module provides utilities for generating and retrieving unique device identifiers.
Downloads
48
Readme
Ping Identity React Native Device ID
This module provides a native-backed secure device identifier for device fingerprinting, risk signals, and authentication flows.
Table of contents
Integrating the SDK into your project
Note: This module requires that the
@ping-identity/rn-coremodule is already set up and installed.
# Install & setup the core module
yarn add @ping-identity/rn-core
# Install the rn-device-id module
yarn add @ping-identity/rn-device-id
# If you are developing your app using iOS, run this command
cd ios && pod installOr using npm:
npm install @ping-identity/rn-device-id
cd ios && pod installHow to Use the SDK
Get the default device ID
import { getDeviceId } from '@ping-identity/rn-device-id';
const deviceId = await getDeviceId();
console.log('Device ID:', deviceId);API reference
import { getDeviceId } from '@ping-identity/rn-device-id';
import type {
DeviceIdError,
DeviceIdErrorCode,
DeviceIdLoggerOptions,
} from '@ping-identity/rn-device-id';
function getDeviceId(options?: DeviceIdLoggerOptions): Promise<string>;Platform behavior
getDeviceId resolves a stable, secure identifier backed by native platform storage.
- Android: backed by KeyStore-generated material and generally resets after uninstall.
- iOS: backed by Keychain and typically persists across uninstall/reinstall.
- Both platforms: identifier is app/device scoped and returned as a
string.
Error handling
All promise rejections throw a DeviceIdError instance, which extends PingError extends Error.
Use instanceof to narrow the error type:
import { DeviceIdError } from '@ping-identity/rn-device-id';
try {
await getDeviceId();
} catch (err) {
if (err instanceof DeviceIdError) {
console.log(err.code, err.type, err.message);
}
}License
This project is licensed under the MIT License - see the LICENSE file for details
