Meteor:通过热码推送向用户发送消息

时间:2016-02-21 13:00:58

标签: meteor

如何让用户知道他们何时获得热门代码?

此时屏幕在推动期间将变为空白,用户会觉得它很奇怪。我想向他们保证应用程序正在更新。

我可以使用钩子或其他东西吗?

2 个答案:

答案 0 :(得分:3)

这是迄今为止我发现的最短解决方案,不需要外部包:

var ALERT_DELAY = 3000;
var needToShowAlert = true;

Reload._onMigrate(function (retry) {
  if (needToShowAlert) {
    console.log('going to reload in 3 seconds...');
    needToShowAlert = false;
    _.delay(retry, ALERT_DELAY);
    return [false];
  } else {
    return [true];
  }
});

您可以将其复制到应用的客户端代码中并更改两件事:

  1. console.log替换为警告模式或通知用户屏幕即将重新加载的内容。

  2. ALERT_DELAY替换为您认为适合用户从(1)读取模态的毫秒数。

  3. 其他说明

    • 我建议在Evented Mind上观看this video,它会更详细地解释发生了什么。

    • 您还可以阅读reload source中的评论以获得进一步的启示。

    • 我可以对更复杂的重载逻辑进行映像,特别是在决定何时允许重新加载时。另请参阅this pacakge了解一种可能的实施方式。

答案 1 :(得分:0)

您可以在客户端代码中的Meteor.startup()上发送内容。我个人使用Bert来祝贺消息。