如何跟踪用户

时间:2016-06-01 06:09:44

标签: angularjs ionic-framework firebase chat

我正在使用Firebase和Ionic构建一个简单的聊天应用程序。我试图跟踪用户所属的不同组的未读消息数(如WhatsApp)。

我通过$ firebaseArray

将消息链接到$ scope
$scope.messages = $firebaseArray(<ref to message path in firebase>);

$ scope.messages被迭代并显示在视图中。当新消息到达时,它会自动显示在正在查看的组中。我想跟踪未查看的邮件。我不太清楚跟踪用户看到的消息的最佳方法。我看到建议here来跟踪用户上次访问某个群组时的时间戳,但我想知道是否有更好/更简单的解决方案。

我想要做的事情是 -

  1. 为用户所属的所有组设置某种监控,而不仅仅是用户正在查看的组。如果用户是50个组的成员,我需要单独监视所有50个组(想知道具有哪些性能影响)。在这里,我需要为用户所属的每个组设置一个child_added监控
  2. 跟踪用户上次在群组中的时间戳
  3. 当用户切换组时,更改$ firebaseArray以监视新组并取消之前的$ firebaseArray设置。将新组的child_added监控更改为之前查看的组
  4. 如果用户移动到应用程序的另一部分,他没有查看任何组消息(可能在设置部分中),那么再次注意并监视所有组 - 从最后一次查看的组中删除firebeaseArray在用户离开时添加child_added监控
  5. 如果用户转到另一个应用程序并在后台推送聊天应用程序,那么我不知道该怎么做

    1. 代码如何确定用户正在查看其消息的组不再处于活动状态,现在需要计入新消息
    2. 我假设我需要监视App Pause和Resume事件来解决这个问题。还有更好的方法吗?
    3. 尝试保持我的代码简单,但感觉监视未读消息是一项重要的工作。感谢您提供示例代码的任何想法或指示或简化此操作。

      -S

0 个答案:

没有答案