2014-01-15 2 views
20

Я устанавливаю Mixpanel вверх, и я узнал, что если я вхожу в систему с пользователем (и identify этим пользователем), выйдите из системы, а затем перерегистрируйте его как новый пользователь, данные нового пользователя перезапишут ранее зарегистрированного пользователя (предположительно, когда я звоню alias). Как я могу сообщить mixpanel, что пользователь вышел из системы и сбросил токен идентификации (повторите анонимность)?Что делать, если пользователи выходят из системы?

ответ

5

Он был выпущен на Mixpanel Javascript версии v2.8.0 функция mixpanel.reset(), так что это официально, что должно вызывается при выходе пользователя из системы. См. https://github.com/mixpanel/mixpanel-js/issues/67.

14

Я столкнулся с одной и той же проблемой, и после некоторого слежения я обнаружил, что вы можете вручную очистить файлы cookie с микшированием mixpanel.cookie.clear().

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

var id = window.setInterval(function() { 
    if (mixpanel.cookie && mixpanel.cookie.clear) { 
    mixpanel.cookie.clear(); 
    window.clearInterval(id); 
    } 
}, 50); 

А потом, так как я не хочу, чтобы сделать это на каждом page, я добавил параметр строки запроса на мой URL-адрес перенаправления. Поэтому после посещения /logout он перенаправил их на /home?_ref=logout, после чего я очистил бы cookie mixpanel только в том случае, если этот параметр строки запроса существовал.

Это было довольно неприятно, но, похоже, это сработало.

+5

Для тех, у кого одностраничное приложение, в котором вы никогда не обновляетесь, обязательно заново инициализируйте сразу же после очистки ваших файлов cookie. 'mixpanel.cookie.clear(); mixpanel.init («GARBAGE»); ' – kevinnuut

+0

Чтобы быть на 100% уверенным, что Mixpanel загружен, вы можете использовать опцию' loaded' в 'init', где вы передаете функцию для запуска после загрузки:' mixpanel.init (см. «YOUR_TOKEN», {«загружен»: function() {... ваш чистый код идет здесь ...}}); ' – Anton

4
  1. Позвонить clearSuperProperties(), чтобы удалить любые супер свойства в местном хранилище .
  2. Установить new_distinct_id = UUID.randomUUID(). ToString());
  3. Вызов .identify (new_distinct_id) и .getPeople(). Определить (new_distinct_id)

Это должно уничтожить устройство чистым для нового пользователя, который затем может зарегистрировать и быть привязаны к другому distinct_id.

Лучший способ сделать это с помощью javascript - удалить файл cookie. Название печенья составляет mp_ {mixpanel_token_id} _mixpanel

7

для андроид на выходе из системы вы можете использовать этот MixpanelAPI.reset()

Смежные вопросы