Как получить Id устройства в реакции родного андроида?

Я пытаюсь получить идентификатор устройства от устройства Android. Есть несколько ссылок и пакетов, доступных для получения идентификатора устройства, но в случае Android их очень мало. Ниже приведены ссылки, которые я пробовал уже безрезультатно:

Ссылка 1: https://github.com/rebeccahughes/react-native-device-info Я пробовал эту ссылку безуспешно, она может нормально работать на ios, но на Android она показывает ошибку при выполнении упомянутой команды на ссылке github "реагировать -native link response-native-device-info "Ошибка: ссылка не распознана

Ссылка 2: https://github.com/lazywei/react-native-device-uuid него есть решение только для IOS

Я застрял здесь. Я не понимаю, как я решу эту проблему? Пожалуйста помоги?

заранее спасибо

3 ответа

Вы не указали реагировать на родной номер версии.

Я использовал тот же пакет response-native-device-info.

Я пробовал со следующими версиями, и у меня это сработало.

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

Я установил его с помощью команды:

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

Затем я связываю это с командой:

react-native link react-native-device-info

Если вы столкнулись с какой-либо проблемой при связывании пакета, то вы можете сделать ручную ссылку или вы можете перепроверить, что пакеты успешно связаны или нет.

  1. в android/app/build.gradle:
 dependencies {
        ...
        compile "com.facebook.react:react-native:+"  // From node_modules
    +   compile project(':react-native-device-info')
    }
  1. в андроиде / settings.gradle:

...

включить ': приложение'

включает ': response-native-device-info'

проект (':response-native-device-info').projectDir = новый файл (rootProject.projectDir, '../node_modules/react-native-device-info/android')

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

    ......
  }

права доступа

Добавьте соответствующие необязательные разрешения для вашего AndroidManifest.xml:

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

пример

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

var deviceId = DeviceInfo.getUniqueID();

Вы можете использовать вышеуказанный идентификатор устройства.

Вы можете установить этот пакет: https://github.com/rebeccahughes/react-native-device-info

А потом используй

import DeviceInfo from 'react-native-device-info';

const uniqueId = DeviceInfo.getUniqueID();

На самом деле идентификатор устройства push-уведомлений (в сочетании с пользовательским устройством и именем вашего пакета) генерируется и отправляется на устройство с помощью gCM-сервера google. Сначала необходимо понять концепцию GCM, а затем попробовать.

GOOGLE GCM DOC

тогда попробуйте некоторые реактивные плагины вроде и ссылку

Другие вопросы по тегам