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



我有一个应用程序,可以从与One Signal一起使用的服务器接收推送通知。这个应用程序有一个聊天,每次用户向另一个用户发送消息时,这个用户都会收到他们的通知。

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

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

我不知道我是否可以说清楚,我为此道歉,但如果你明白了:它有意义吗,所以,如何做到这一点?我在 One Signal 文档中没有看到这样的功能。

谢谢

您可以在 init 调用中将inFocusDisplaying方法设置为None

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

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

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

对于谁面临这个问题

在特定页面中禁用通知的好技巧

// 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();
}

相关内容

  • 没有找到相关文章

最新更新