Управление согласием пользователя
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 SwiftUIimport PushwooshFramework
var serverCommunicationAllowed = PWCoreServerCommunicationManager.sharedInstance.isServerCommunicationAllowedprint("isServerCommunicationAllowed: ", serverCommunicationAllowed)import PushwooshFramework
var serverCommunicationAllowed = PWCoreServerCommunicationManager.sharedInstance.isServerCommunicationAllowedprint("isServerCommunicationAllowed: ", serverCommunicationAllowed)#import <PushwooshFramework/PushwooshFramework.h>
BOOL serverCommunicationAllowed = [PWCoreServerCommunicationManager sharedInstance].isServerCommunicationAllowed;NSLog(@"isServerCommunicationAllowed: %d", serverCommunicationAllowed);Включение обмена данными с SDK после получения согласия
Section titled “Включение обмена данными с SDK после получения согласия”После того как пользователь предоставил согласие, включите обмен данными следующим образом:
import SwiftUIimport PushwooshFramework
Pushwoosh.sharedInstance().startServerCommunication()import PushwooshFramework
Pushwoosh.sharedInstance().startServerCommunication()#import <PushwooshFramework/PushwooshFramework.h>
[[Pushwoosh sharedInstance] startServerCommunication];Регистрация для получения push-уведомлений
Section titled “Регистрация для получения push-уведомлений”После включения обмена данными явно зарегистрируйтесь для получения push-уведомлений:
import SwiftUIimport PushwooshFramework
Pushwoosh.sharedInstance().registerForPushNotifications()import PushwooshFramework
Pushwoosh.sharedInstance().registerForPushNotifications()#import <PushwooshFramework/PushwooshFramework.h>
[[Pushwoosh sharedInstance] registerForPushNotifications];Отключение обмена данными
Section titled “Отключение обмена данными”Чтобы прекратить обмен данными с серверами Wavesend (например, если пользователь отзывает согласие):
import SwiftUIimport PushwooshFramework
Pushwoosh.sharedInstance().stopServerCommunication()import PushwooshFramework
Pushwoosh.sharedInstance().stopServerCommunication()#import <PushwooshFramework/PushwooshFramework.h>
[[Pushwoosh sharedInstance] stopServerCommunication];Android
Section titled “Android”Отключение обмена данными с сервером 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);import com.pushwoosh.Pushwoosh
val isCommunicationEnabled = Pushwoosh.getInstance().isServerCommunicationAllowed()Log.d("Pushwoosh", "Communication enabled = $isCommunicationEnabled")Включение обмена данными с SDK после получения согласия
Section titled “Включение обмена данными с SDK после получения согласия”После того как пользователь предоставил согласие, включите обмен данными следующим образом:
import com.pushwoosh.Pushwoosh;
Pushwoosh.getInstance().startServerCommunication();import com.pushwoosh.Pushwoosh
Pushwoosh.getInstance().startServerCommunication()Регистрация для получения push-уведомлений
Section titled “Регистрация для получения push-уведомлений”После включения обмена данными явно зарегистрируйтесь для получения push-уведомлений:
import com.pushwoosh.Pushwoosh;
Pushwoosh.getInstance().registerForPushNotifications();import com.pushwoosh.Pushwoosh
Pushwoosh.getInstance().registerForPushNotifications()Отключение обмена данными
Section titled “Отключение обмена данными”Чтобы прекратить обмен данными с серверами Wavesend (например, если пользователь отзывает согласие):
import com.pushwoosh.Pushwoosh;
Pushwoosh.getInstance().stopServerCommunication();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);Web Push
Section titled “Web Push”Отключение автоматической подписки при запуске
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);