在init之后,OneSignal sendTag不起作用

时间:2017-01-23 14:37:52

标签: ionic-framework onesignal

我在Ionic项目中使用OneSignal。设备准备就绪时我正在初始化OneSignal:

  window.plugins.OneSignal.setLogLevel({logLevel: 6, visualLevel: 4});
  window.plugins.OneSignal.startInit(appId)
  // Controls how OneSignal notifications will be shown when one is received while your app is in focus
  .inFocusDisplaying(window.plugins.OneSignal.OSInFocusDisplayOption.None) // None means silent
  .endInit();

  // set OS tag to uid in case multiple users on same device
  window.plugins.OneSignal.sendTag("uid", user.auth.uid);

  });

如你所见,在init之后我需要发送一个标签。

我的问题是,当我第一次启动应用程序时,init正确完成但是sendTag似乎没有完成......(第二次启动时,sendTag已完成)。

但是我需要第一次完成sendTag ...

我认为可能是init还没有完成(或类似的东西)并且它阻止了sendTag的发生......

你知道这是否真的存在问题?你有什么建议吗?可能是一种了解init何时完成的方法(捕获OneSignal事件)......

**更新****

毕竟看起来像sendTag(为了这篇文章,我简化了我的代码)。但我真正的初步问题是在getTags'中调用sendTag。回调。

在endInit()之后立即执行以下代码:

window.plugins.OneSignal.getTags(function(tags) {
   if (!tags) window.plugins.OneSignal.sendTag("uid", user.auth.uid);
});

有什么想法吗?

0 个答案:

没有答案