React Native: не запрашивать разрешение на push на Android (OneSignal) - PullRequest
0 голосов
/ 12 января 2019

Я только что установил пакет OneSignal и настроил его, как описано в документах . Однако OneSignal всегда имеет / получает разрешения от пользователя, хотя всплывающее приложение не запрашивает у пользователя разрешения. Возможно, это обычный способ работы Android, но я привык к всплывающему окну с запросом разрешений (я пользователь iOS).

Разве Android не запрашивает у пользователя разрешения на push-уведомления? Это обычно? И это даже обработка с правилами GDPR ?

Или все, что мне нужно AndroidManifest.xml, который заботится о запросе разрешений?

Причина, когда я устанавливаю .apk на моем тестовом устройстве. Android НЕ запрашивает дополнительные разрешения, хотя в AndroidManifest.xml я запрашиваю разрешение на push-уведомление и разрешения на местоположение!

Это экран установки: enter image description here

Это код OneSignal для AndroidManifest.xml:

<!-- Optional - Add the necessary permissions (Choose one of those) -->

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <!-- Approximate location - If you want to use promptLocation for letting OneSignal know the user location. -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <!--  Precise location If you want to use promptLocation for letting OneSignal know the user location. -->

<!-- End optional permissions -->


<application ....>
  <activity
    android:name=".MainActivity"
    android:label="OneSignal Example"
    android:launchMode="singleTop"> <!-- Add this attribute to your main activity -->
  </activity>
    .....

1 Ответ

0 голосов
/ 12 января 2019

В Android вам нужно только запросить разрешения, которые они классифицируют как опасные .

https://developer.android.com/guide/topics/permissions/overview

Только опасные разрешения требуют пользовательского соглашения. Способ Android просит пользователя предоставить опасные разрешения в зависимости от версии Android работает на устройстве пользователя, и целевая версия системы вашим приложением.

Здесь вы можете найти таблицу со списком разрешений, которые в настоящее время классифицируются как опасные .

https://developer.android.com/guide/topics/permissions/overview#permission-groups

Push-уведомления явно отсутствуют в этом списке, поэтому вам не нужно запрашивать у пользователя разрешение на отправку им push-уведомлений.

Что касается любых других разрешений, если OneSignal хочет получить к ним доступ, и они классифицируются как опасные (например, местоположение), тогда единственный способ получить их - это показать диалог, запрашивающий разрешение на доступ к этой информации. В противном случае они не будут иметь доступа к этой информации.

В iOS система разрешений гораздо более строго контролируется, и прежде чем делать большинство вещей, вы должны спросить разрешения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...