One Signal&离子3:不要在特定页面上显示通知

时间:2018-06-10 05:20:41

标签: ionic2 ionic3 onesignal

我有一个应用程序,它接收来自使用One Signal的服务器的推送通知。这个应用程序有一个聊天,每当用户向另一个人发送消息时,这个消息就会收到他们的通知。

它就像一个魅力,好,但如果用户收到有关当前在他们的设备上打开的对话的通知,它没有任何意义。

例如:如果我正在谈话,例如John和他给我发了一条消息,在我的设备上我们的聊天打开了,我发现他刚刚给我发了一条消息,如果我的手机上弹出推送通知,它看起来并不好看,否则我要么与另一个人聊天,要么该应用程序没有打开。

我不知道自己能不能说清楚,我为此道歉,但如果你明白了:它是否有意义,那么,怎么做?我没有在One Signal文档上看到这样的功能。

由于

2 个答案:

答案 0 :(得分:2)

您可以在初始化调用中将inFocusDisplaying方法设置为None

这会阻止应用程序打开时显示所有通知。

对于Ionic,有关此问题的文档在此处:https://documentation.onesignal.com/docs/cordova-sdk#section--infocusdisplaying-

OneSignal无法阻止通知显示在应用的某些页面上。

答案 1 :(得分:0)

针对谁遇到此问题

禁用特定页面中的通知的好方法

// set it to None on page init
ngOnInit(){
  this.oneSignal.startInit("APP ID", "SENDER ID");
  this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.None);
  this.oneSignal.endInit();
}

// and when this page are destroyed set it to Notification or anything else

  ngOnDestroy(){
    this.oneSignal.startInit("APP ID", "SENDER ID");
    this.oneSignal.inFocusDisplaying(this.oneSignal.OSInFocusDisplayOption.Notification);
    this.oneSignal.endInit();
  }