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

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

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

Обзор

Anchor link to

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

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

  • Если пользователь дает согласие, 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

По умолчанию Pushwoosh SDK показывает нативный запрос на подписку сразу после инициализации. Чтобы предотвратить автоматическое отображение запроса на подписку при инициализации SDK, установите параметр 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);