任何方式来确定应用程序是直接打开还是由于通知

时间:2012-12-03 18:05:37

标签: trigger.io

无法弄清楚如何获取启动选项(如果可能的话)。想要了解如何找出应用程序启动机制 - 也就是说应用程序是由用户直接启动还是由于通知。使用新的Safari智能应用横幅时,它甚至会有所帮助。

有类似问题的人吗?任何解决方法或解决方案?

干杯!

2 个答案:

答案 0 :(得分:5)

我使用此代码查看我的Trigger.io应用程序是否通过Parse推送通知打开:

var appLastResumed = new Date();

window.forge.event.appResumed.addListener(function() {
  window.appLastResumed = new Date();
  // additional code that runs when the app is resumed
});

window.forge.event.messagePushed.addListener(function() {
  // this event fires every time a user clicks on a push notification 
  // no matter whether the app is already opened or not
  // so we need to detect whether this happened right after an appResumed event

  setTimeout( function() { // make sure the appResumed event is fired first
    if (new Date().getTime() - window.appLastResumed.getTime() < 1000) {
      // app was opened by a push notification
      // insert your code here
    }
  }, 50);
});

答案 1 :(得分:3)

您可以通过推送通知或使用自定义网址检测应用程序的打开时间。

1)推送通知 - 将我们的事件模块与我们与Parse的集成结合使用,以编写在应用程序打开时收到推送通知时运行的代码,或者通过推送打开它时运行的代码:

http://docs.trigger.io/en/v1.4/modules/event.html#messagepushed-addlistener

2)自定义网址 - 使用我们的urlhandler模​​块分配一个监听器:

http://docs.trigger.io/en/v1.4/modules/urlhandler.html