react-native-uniqueId
This is a way to get device uniqueId.
1. iOS is use keychain to get uniqueId, if you want to keep defrient app has same uniqueId, please input the bundleId in "Keychain Sharing" in info.plist.
2. android use a file to save an UUID in device, this maybe the normal way to solve the devices may have same uniqueId. use it you must keep android storage permmsions openned.
Getting started
$ npm install @fansx/react-native-uniqueId --save
Mostly automatic installation
$ react-native link react-native-uniqueId
Manual installation
iOS
- In XCode, in the project navigator, right click
Libraries
➜Add Files to [your project's name]
- Go to
node_modules
➜react-native-uniqueId
and addRNUniqueId.xcodeproj
- In XCode, in the project navigator, select your project. Add
libRNUniqueId.a
to your project'sBuild Phases
➜Link Binary With Libraries
- Run your project (
Cmd+R
)<
Android
- Open up
android/app/src/main/java/[...]/MainActivity.java
- Add
import com.reactlibrary.RNUniqueIdPackage;
to the imports at the top of the file - Add
new RNUniqueIdPackage()
to the list returned by thegetPackages()
method
- Append the following lines to
android/settings.gradle
:include ':react-native-uniqueId' project(':react-native-uniqueId').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-unique-id/android')
- Insert the following lines inside the dependencies block in
android/app/build.gradle
:compile project(':react-native-uniqueId')
Usage
ios in AppDelegate.m
#import <RNUniqueId/AppUntils.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
[AppUtils saveUUIDToKeyChain];
...
}
import RNUniqueId from 'react-native-uniqueId';
RNUniqueId.getUniqueId((uniqueId) => {
// do something
});