Google Play запретит использование местоположения в фоновом режиме (предупреждение по электронной почте), Expo React native

#android #react-native #expo #google-play-services

#Android #react-native #expo #google-play-сервисы

Вопрос:

Мы получили электронное письмо от Google Play, в котором он предупреждает нас, что одно из наших приложений использует локализацию в фоновом режиме, и мы должны изменить это до следующего года, но я уже проверил приложение и не использую локализацию в фоновом режиме.

Это электронное письмо введите описание изображения здесь

Это происходит с кем-то еще? Я не знаю, что делать, потому что они просят меня удалить эту службу, но я на самом деле ее не использую

это мой package.json (зависимости, которые я использую)

  "dependencies": {
  "@react-native-community/datetimepicker": "2.4.0",
  "@react-native-community/masked-view": "0.1.10",
  "@react-navigation/native": "^5.1.6",
  "@react-navigation/stack": "^5.2.11",
  "axios": "^0.19.2",
  "babel-runtime": "^6.26.0",
  "big-integer": "^1.6.48",
  "expo": "^38.0.0",
  "expo-barcode-scanner": "~8.2.1",
  "expo-crypto": "~8.2.1",
  "expo-file-system": "~9.0.1",
  "expo-media-library": "~8.2.1",
  "expo-sharing": "~8.2.1",
  "firebase": "7.9.0",
  "react": "16.11.0",
  "react-dom": "16.11.0",
  "react-native": "https://github.com/expo/react-native/archive/sdk-38.0.2.tar.gz",
  "react-native-animatable": "^1.3.3",
  "react-native-camera": "^3.23.1",
  "react-native-fs": "^2.16.6",
  "react-native-gesture-handler": "~1.6.0",
  "react-native-picker-select": "^7.0.0",
  "react-native-qrcode-scanner": "^1.4.0",
  "react-native-qrcode-svg": "^6.0.6",
  "react-native-reanimated": "~1.9.0",
  "react-native-responsive-screen": "^1.4.1",
  "react-native-safe-area-context": "~3.0.7",
  "react-native-screens": "~2.9.0",
  "react-native-sha256": "^1.3.6",
  "react-native-share": "^3.3.0",
  "react-native-svg": "12.1.0",
  "react-native-vector-icons": "^6.6.0",
  "react-native-web": "~0.11.7",
  "react-navigation": "^4.3.7",
  "rn-fetch-blob": "^0.12.0"
},
 

Ответ №1:

пожалуйста, обратитесь к этой странице документов: https://docs.expo.io/distribution/app-stores/#android-permissions

Разрешения настраиваются с помощью ключа android.permissions в вашем файле app.json По умолчанию ваше приложение будет включать все разрешения, поддерживаемые Expo. Это делается для того, чтобы ваше автономное приложение соответствовало своему поведению в клиенте Expo и просто «работало из коробки», независимо от того, какие разрешения вы запрашиваете, с вашей стороны практически не требуется никаких настроек.

В этом есть некоторые недостатки. Например, предположим, что ваше приложение «Список дел» запрашивает разрешение КАМЕРЫ при установке. Ваши пользователи могут опасаться установки, поскольку, похоже, ничто в приложении не использует камеру, так зачем ему это разрешение?

Чтобы исправить это, просто добавьте ключ android.permissions в свой файл app.json и укажите, какие разрешения будет использовать ваше приложение. Список всех разрешений Android и параметров конфигурации можно найти здесь.

Чтобы использовать только минимально необходимые разрешения, необходимые для запуска Expo, установите «разрешения»: []. Чтобы использовать их в дополнение к разрешению КАМЕРЫ, например, вы должны установить «разрешения»: [«КАМЕРА»].

Комментарии:

1. Итак, просто введите «разрешения»: [] в мое приложение.sjon должен работать правильно?

2. да, выполнение этого, а затем перестройка приложения будут работать. но вы должны убедиться, что вы не используете некоторые другие API, для которых требуются дополнительные разрешения, например: камера.

3. @brentvatne В настоящее время я использую SDK 38. Нужно ли мне обновиться до SDK40, чтобы использовать «разрешения»: [] в app.json?

4. не обязательно, но вам нужно использовать sdk 40 , чтобы это повлияло на разрешение фонового местоположения. смотрите Эту проблему для получения дополнительной информации и поддержки: github.com/expo/expo/issues/11918

Ответ №2:

Попробуйте это :

По умолчанию expo добавляет все разрешения в манифест приложения. Чтобы удалить все разрешения, добавьте "permissions" : [] в свой файл app.json

оставьте его пустым []

пример :

 "android": {
      "package": "com.sahilnetic.appmojo",
      "versionCode": 1,
      "permissions" : []
    },
 

теперь запустите

 expo build:android -t app-bundle
 

затем загрузите пакет в Google Play Store