runnercamp-react-native-device-info

0.9.5 • Public • Published

runnercamp-react-native-device-info

npm version

Install

npm install --save runnercamp-react-native-device-info

Automatically link

With React Native 0.27+

react-native link runnercamp-react-native-device-info

With older versions of React Native

You need rnpm (npm install -g rnpm)

rnpm link runnercamp-react-native-device-info

Manually link

iOS (via Cocoa Pods)

Add the following line to your build targets in your Podfile

pod 'RNDeviceInfo', :path => '../node_modules/runnercamp-react-native-device-info'

Then run pod install

iOS (without Cocoa Pods)

In XCode, in the project navigator:

  • Right click Libraries
  • Add Files to [your project's name]
  • Go to node_modules/runnercamp-react-native-device-info
  • Add the .xcodeproj file

In XCode, in the project navigator, select your project.

  • Add the libRNDeviceInfo.a from the deviceinfo project to your project's Build Phases ➜ Link Binary With Libraries
  • Click .xcodeproj file you added before in the project navigator and go the Build Settings tab. Make sure All is toggled on (instead of Basic).
  • Look for Header Search Paths and make sure it contains both $(SRCROOT)/../react-native/React and $(SRCROOT)/../../React
  • Mark both as recursive (should be OK by default).

Run your project (Cmd+R)

(Thanks to @brysgo for writing the instructions)

Android

With React Native 0.29+

  • in MainApplication.java:
+ import com.learnium.RNDeviceInfo.RNDeviceInfo;
 
  public class MainApplication extends Application implements ReactApplication {
    //......
 
    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
+         new RNDeviceInfo(),
          new MainReactPackage()
      );
    }
    
    ......
  }

With older versions of React Native:

  • in MainActivity.java:
+ import com.learnium.RNDeviceInfo.RNDeviceInfo;
 
  public class MainActivity extends ReactActivity {
    ......
 
    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
+       new RNDeviceInfo(),
        new MainReactPackage()
      );
    }
  }

(Thanks to @chirag04 for writing the instructions)

Device Name

If you want to get the device name in Android add this to your AndroidManifest.xml (optional):

...
<uses-permission android:name="android.permission.BLUETOOTH"/>

Release Notes

See CHANGELOG.md

Example

var DeviceInfo = require('runnercamp-react-native-device-info');
 
console.log("Device Unique ID", DeviceInfo.getUniqueID());  // e.g. FCDBD8EF-62FC-4ECB-B2F5-92C9E79AC7F9
// * note this is IDFV on iOS so it will change if all apps from the current apps vendor have been previously uninstalled
 
console.log("Device Manufacturer", DeviceInfo.getManufacturer());  // e.g. Apple
 
console.log("Device Brand", DeviceInfo.getBrand());  // e.g. Apple / htc / Xiaomi
 
console.log("Device Model", DeviceInfo.getModel());  // e.g. iPhone 6
 
console.log("Device ID", DeviceInfo.getDeviceId());  // e.g. iPhone7,2 / or the board on Android e.g. goldfish
 
console.log("System Name", DeviceInfo.getSystemName());  // e.g. iPhone OS
 
console.log("System Version", DeviceInfo.getSystemVersion());  // e.g. 9.0
 
console.log("Bundle ID", DeviceInfo.getBundleId());  // e.g. com.learnium.mobile
 
console.log("Build Number", DeviceInfo.getBuildNumber());  // e.g. 89
 
console.log("App Version", DeviceInfo.getVersion());  // e.g. 1.1.0
 
console.log("App Version (Readable)", DeviceInfo.getReadableVersion());  // e.g. 1.1.0.89
 
console.log("Device Name", DeviceInfo.getDeviceName());  // e.g. Becca's iPhone 6
 
console.log("User Agent", DeviceInfo.getUserAgent()); // e.g. Dalvik/2.1.0 (Linux; U; Android 5.1; Google Nexus 4 - 5.1.0 - API 22 - 768x1280 Build/LMY47D)
 
console.log("Device Locale", DeviceInfo.getDeviceLocale()); // e.g en-US
 
console.log("Device Country", DeviceInfo.getDeviceCountry()); // e.g US
 
console.log("App Instance ID", DeviceInfo.getInstanceID()); // ANDROID ONLY - see https://developers.google.com/instance-id/

Package Sidebar

Install

npm i runnercamp-react-native-device-info

Weekly Downloads

6

Version

0.9.5

License

MIT

Last publish

Collaborators

  • runner.camp