Saltar al contenido

¿Obtener la identificación del dispositivo en react native?

Solución:

En lugar de expo, puede crear un proyecto utilizando la CLI nativa de reacción.

Crea un nuevo proyecto usando el comando:

react-native init Myproject

cd Myproject

Ejecute el proyecto con el siguiente comando:

react-native run-android

Entonces puede usar el paquete react-native-device-info.

Probé con las siguientes versiones y funcionó para mí.

  "react": "16.0.0",
  "react-native": "0.50.4",
  "react-native-device-info": "^0.12.1",

Lo instalé con el comando:

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

Luego lo vinculo con el comando:

react-native link react-native-device-info

Si tiene algún problema al vincular el paquete, puede hacer el vínculo manual o puede verificar si los paquetes están vinculados correctamente o no.

  1. en android / app / build.gradle:
 dependencies {
        ...
        compile "com.facebook.react:react-native:+"  // From node_modules
    +   compile project(':react-native-device-info')
    }
  1. en android / settings.gradle:

incluir ‘: aplicación’

incluir ‘: react-native-device-info’

proyecto (‘: react-native-device-info’). projectDir = new File (rootProject.projectDir, ‘../node_modules/react-native-device-info/android’)

  1. en 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()
      );
    }

    ......
  }

Permisos

Agregue los permisos opcionales apropiados a su AndroidManifest.xml:

...
<uses-permission android:name="android.permission.BLUETOOTH"/>         <!-- for Device Name -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>  <!-- for Phone Number -->

Ejemplo

var DeviceInfo = require('react-native-device-info');
// or import DeviceInfo from 'react-native-device-info';

var deviceId = DeviceInfo.getUniqueID();

puede utilizar el deviceId anterior.

Si está utilizando Expo, intente esto.

import Constants from 'expo-constants';
this.clientId = Constants.deviceId;

no puede usar la biblioteca que usa código nativo con expo, vea las advertencias si desea usar código nativo, debe crear su proyecto con código nativo en el documento de introducción básicamente

  1. instalar aplicaciones de solicitud previa (nodo – Java Development Kit – android studio – xcode – react native cli)
  2. ejecutar comando react-native init MyProjectName
  3. cd la carpeta de su proyecto cd MyProjectName
  4. correr react-native run-android o react-native run-ios

si desea convertir un proyecto expo en un proyecto de código nativo, puede hacerlo ejecting-from-create-react-native-app

  1. instale el requisito de código nativo como arriba
  2. correr npm run eject

después de eso, puede usar bibliotecas de terceros que usan código nativo y ejecutar react-native link

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *