Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Section titled “Регистрация для получения push-уведомлений”

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

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

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

Section titled “Отключение обмена данными”

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Section titled “Регистрация для получения push-уведомлений”

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

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

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

Section titled “Отключение обмена данными”

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

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

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

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

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

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.

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

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

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

bool enabled = Pushwoosh.Instance.IsCommunicationEnabled();

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

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

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

Pushwoosh.Instance.SetCommunicationEnabled(true);

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

Section titled “Регистрация для получения push-уведомлений”

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

Pushwoosh.Instance.RegisterForPushNotifications();

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

Section titled “Отключение обмена данными”

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

Pushwoosh.Instance.SetCommunicationEnabled(false);

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

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

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

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

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

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

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

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

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

Section titled “Отключение обмена данными”

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

Wavesend.setCommunicationEnabled(false);