Как настроить события
События (Events) используются для отслеживания различных действий, совершаемых пользователями в приложении. Данные о событиях сохраняются в хронологическом порядке, создавая временную шкалу поведения пользователя. Вся контекстная информация о событии может быть передана в виде набора атрибутов и их значений.
После корректного сбора эти данные можно использовать для:
- запуска сообщений на основе поведения;
- изменения сценария коммуникации с пользователем в рамках Customer Journey на основе его поведения;
- создания сегментов пользователей, выполняющих определенное действие в приложении;
- получения инсайтов о действиях пользователя, метриках использования и других статистических данных.
Типы событий
Anchor link toВ Pushwoosh существует два типа событий:
- События по умолчанию
- Пользовательские события
События по умолчанию
Anchor link toСобытия по умолчанию — это основные взаимодействия, которые пользователи совершают в приложениях или на сайтах, независимо от их отрасли или функциональности. Эти ключевые действия пользователей составляют основу коммуникации с клиентами и могут быть использованы для любого продукта и клиента на любом этапе жизненного цикла. События по умолчанию доступны “из коробки” в последних версиях SDK и не требуют дополнительной настройки, за исключением PW_InAppPurchase.
Узнайте больше о событиях по умолчанию.
Пользовательские события
Anchor link toВ отличие от событий по умолчанию, которые являются универсальными для многих приложений и секторов, пользовательские события — это события, которые вы создаете специально для вашего приложения. Эти события отслеживают специфические действия, уникальные для ваших нужд, например, завершение тренировки или продление подписки, и помогают вам понять, как пользователи взаимодействуют с вашими конкретными функциями.
Пользовательские события требуют реализации с вашей стороны.
Реализация пользовательских событий
Anchor link to1. Создайте события и задайте атрибуты
Anchor link toВсе события, отправляемые вашим приложением, должны быть сначала созданы в Pushwoosh с набором атрибутов и их типов; в противном случае Pushwoosh не сможет их распознать.
Вы можете попросить вашу маркетинговую команду создать события непосредственно в Pushwoosh Control Panel или использовать метод API createEvent. Это включает в себя указание названия события и любых связанных с ним данных, которые вы хотите отслеживать.
2. Вызовите /postEvent API
Anchor link toКогда в вашем приложении происходит событие, которое вы хотите отследить, вызовите API /postEvent
для отправки этого события в Pushwoosh.
Вызовите postEvent
для отправки события в Pushwoosh:
PWInAppManager.shared().postEvent("eventName", withAttributes: nil)
[[PushNotificationManager pushManager] postEvent:@“eventName” withAttributes:@{}];
Чтобы добавить детали о событии (см. Атрибуты), используйте параметр attributes
следующим образом:
let attributes: [String : Any] = ["AttributedString" : "someString", "AttributeInt" : 42, "AttributeList" : [123, 456, "someString"], "AttributeBool" : true, "AttributeDate" : NSDate()]
PWInAppManager.shared().postEvent("eventName", withAttributes: attributes)
NSDictionary *attributes = @{ @"AttributeString" : @"someString", @"AttributeInt" : @(42), @"AttributeList" : @[ @(123), @(456), @"someString" ], @"AttributeBool" : @YES, @"AttributeDate" : [NSDate date]};
[[PushNotificationManager pushManager] postEvent:@“eventName” withAttributes:attributes];
Android
Anchor link toКогда в вашем Android-приложении происходит событие, используйте следующие инструкции для отправки этого события в Pushwoosh.
Вызовите postEvent
для отправки события в Pushwoosh:
PushwooshInApp.getInstance().postEvent("eventName");
Чтобы добавить детали о событии (см. Атрибуты), используйте параметр attributes
следующим образом:
TagsBundle attributes = new TagsBundle.Builder() .putInt("AttributeInt", 17) .putString("AttributeString", "str") .putDate("AttributeDate", new Date()) .putBoolean("AttributeBool", true) .putList("AttributeList", Arrays.asList("item1", "item2", "item3")) .build();
PushwooshInApp.getInstance().postEvent("eventName", attributes);