#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