Перейти к содержанию

Управление согласием пользователя

Pushwoosh поддерживает соблюдение правил конфиденциальности (например, GDPR, CCPA), позволяя разработчикам контролировать, когда SDK начинает обмен данными с серверами Pushwoosh. Это позволяет гарантировать, что данные не собираются до тех пор, пока пользователь не даст явное согласие.

Обзор

Anchor link to

По умолчанию SDK Pushwoosh начинает обмен данными и сбор данных устройства сразу после инициализации. Однако вы можете изменить это поведение, чтобы обмен данными не происходил до тех пор, пока пользователь не даст согласие.

При такой настройке:

  • Если пользователь дает согласие, SDK инициализируется и начинает сбор данных.

  • Если пользователь не дает согласие, SDK остается неактивным и не собирает никаких данных.

  • Если пользователь впоследствии отзывает согласие, SDK прекращает всю активность и отключается от серверов.

Pushwoosh предоставляет механизмы для управления этим процессом в iOS, Android и Unity.

Отключение обмена данными SDK с сервером при запуске

Anchor link to

По умолчанию обмен данными с SDK включен. Чтобы отключить весь обмен данными с серверами Pushwoosh до тех пор, пока пользователь явно не предоставит согласие, добавьте следующий ключ в ваш Info.plist:

<key>Pushwoosh_ALLOW_SERVER_COMMUNICATION</key>
<false/>

Проверка статуса обмена данными

Anchor link to

Используйте следующие методы, чтобы определить, разрешен ли в настоящее время обмен данными:

import SwiftUI
import PushwooshFramework
var serverCommunicationAllowed = PWCoreServerCommunicationManager.sharedInstance.isServerCommunicationAllowed
print("isServerCommunicationAllowed: ", serverCommunicationAllowed)

Включение обмена данными SDK после получения согласия

Anchor link to

После того как пользователь дал согласие, включите обмен данными следующим образом:

import SwiftUI
import PushwooshFramework
Pushwoosh.sharedInstance().startServerCommunication()

Регистрация для push-уведомлений

Anchor link to

После включения обмена данными явно зарегистрируйтесь для push-уведомлений:

import SwiftUI
import PushwooshFramework
Pushwoosh.sharedInstance().registerForPushNotifications()

Отключение обмена данными

Anchor link to

Чтобы остановить обмен данными с серверами Pushwoosh (например, если пользователь отзывает согласие):

import SwiftUI
import PushwooshFramework
Pushwoosh.sharedInstance().stopServerCommunication()

Отключение обмена данными SDK с сервером при запуске

Anchor link to

По умолчанию обмен данными включен. Чтобы предотвратить отправку каких-либо данных на серверы Pushwoosh до получения согласия пользователя, добавьте следующее в ваш AndroidManifest.xml:

<meta-data
android:name="com.pushwoosh.allow_server_communication"
android:value="false" />

Проверка статуса обмена данными

Anchor link to

Используйте следующие методы, чтобы определить, разрешен ли в настоящее время обмен данными с сервером:

import com.pushwoosh.Pushwoosh;
boolean isCommunicationEnabled = Pushwoosh.getInstance().isServerCommunicationAllowed();
Log.d("Pushwoosh", "Communication enabled = " + isCommunicationEnabled);

Включение обмена данными SDK после получения согласия

Anchor link to

После того как пользователь дал согласие, включите обмен данными следующим образом:

import com.pushwoosh.Pushwoosh;
Pushwoosh.getInstance().startServerCommunication();

Регистрация для push-уведомлений

Anchor link to

После включения обмена данными явно зарегистрируйтесь для push-уведомлений:

import com.pushwoosh.Pushwoosh;
Pushwoosh.getInstance().registerForPushNotifications();

Отключение обмена данными

Anchor link to

Чтобы остановить обмен данными с серверами Pushwoosh (например, если пользователь отзывает согласие):

import com.pushwoosh.Pushwoosh;
Pushwoosh.getInstance().stopServerCommunication();

Отключение обмена данными SDK с сервером при запуске

Anchor link to

По умолчанию обмен данными с SDK включен. Чтобы отключить весь обмен данными с серверами Pushwoosh до тех пор, пока пользователь явно не предоставит согласие, примените настройки для конкретной платформы:

Android

Добавьте следующее в ваш проект Unity в AndroidManifest.xml:

<meta-data android:name="com.pushwoosh.allow_server_communication" android:value="false" />

iOS

Измените Info.plist:

<key>Pushwoosh_ALLOW_SERVER_COMMUNICATION</key>
<false/>

Примечание: Вы должны включить обмен данными перед вызовом RegisterForPushNotifications.

Проверка статуса обмена данными

Anchor link to

Используйте следующий метод, чтобы проверить, разрешен ли в настоящее время обмен данными с сервером:

bool enabled = Pushwoosh.Instance.IsCommunicationEnabled();

Включение обмена данными SDK после получения согласия

Anchor link to

Чтобы включить обмен данными после получения согласия:

Pushwoosh.Instance.SetCommunicationEnabled(true);

Регистрация для push-уведомлений

Anchor link to

После включения обмена данными вы можете зарегистрировать устройство для push-уведомлений:

Pushwoosh.Instance.RegisterForPushNotifications();

Отключение обмена данными

Anchor link to

Чтобы остановить обмен данными с серверами Pushwoosh (например, если пользователь отзывает согласие):

Pushwoosh.Instance.SetCommunicationEnabled(false);

Отключение автоматической подписки при запуске

Anchor link to

По умолчанию SDK Pushwoosh показывает нативное окно запроса подписки сразу после инициализации. Чтобы предотвратить автоматическое отображение окна запроса подписки при инициализации, установите параметр communicationEnabled в false при вызове init.

<script type="text/javascript" src="//cdn.pushwoosh.com/webpush/v3/pushwoosh-web-notifications.js" async></script>
<script type="text/javascript">
var Pushwoosh = Pushwoosh || [];
Pushwoosh.push(['init', {
// other initialization parameters...
communicationEnabled: false, // Disable communication to prevent automatic subscription prompts
}]);
</script>

Включение подписки после получения согласия

Anchor link to

После отключения автоматической подписки вы можете предложить пользователю подписаться в любое время. Когда пользователь соглашается получать push-уведомления (например, нажав кнопку «Подписаться» в вашем пользовательском интерфейсе), вы можете включить обмен данными, вызвав метод setCommunicationEnabled. Вызов Pushwoosh.setCommunicationEnabled(true) включает обмен данными со службами Pushwoosh. После включения SDK продолжит показывать нативное окно запроса разрешения браузера.

Pushwoosh.setCommunicationEnabled(true)
.then(() => {
console.log('User is subscribed to push notifications.');
})
.catch((error) => {
console.error('Error subscribing user:', error);
});

Отключение обмена данными

Anchor link to

Чтобы остановить обмен данными со службами Pushwoosh (например, если пользователь отзывает согласие), вызовите setCommunicationEnabled со значением false.

Pushwoosh.setCommunicationEnabled(false);