ios:当应用程序处于焦点时禁用警报通知(OneSignal)
Posted
技术标签:
【中文标题】ios:当应用程序处于焦点时禁用警报通知(OneSignal)【英文标题】:ios: disable alert notification when app in focus (OneSignal) 【发布时间】:2017-02-01 10:55:56 【问题描述】:我使用 OneSignal sdk 进行本机反应。当应用程序处于焦点时,我尝试禁用内部警报。你知道怎么做吗?
这是我的代码:
OneSignal.configure(
onIdsAvailable: function (device)
console.log('UserId = ', device.userId);
console.log('PushToken = ', device.pushToken);
getUserId(device.userId);
,
onNotificationReceived: function (notification)
OneSignal.checkPermissions((permissions) =>
console.log(permissions);
);
OneSignal.inFocusDisplaying(0);
,
onNotificationOpened: function(message, data, isActive)
console.log("MS TYPE", message);
switch(message.notification.payload.additionalData.type)
case '1':
Actions.messenger(id: message.notification.payload.additionalData.userID);
break;
case '2':
Actions.overview();
break;
);
【问题讨论】:
【参考方案1】:我认为您代码中的问题在于您放置OneSignal.inFocusDisplaying(0);
的位置
你需要把它放在componentWillMount
like
componentWillMount ()
OneSignal.addEventListener('received', this.onReceived.bind(this))
OneSignal.addEventListener('opened', this.onOpened)
OneSignal.addEventListener('registered', this.onRegistered)
OneSignal.addEventListener('ids', this.onIds.bind(this))
// Set inFocusDisplaying to prevent the default push notification alert when the is in focus
// android ONLY
OneSignal.inFocusDisplaying(0)
【讨论】:
自 4.0 版以来已更改。现在应该调用OneSignal.disablePush(boolean)
,因为inFocusDisplaying
已从新api 中删除
好的@pavle 你能否更新答案,因为我已经切换到 Flutter 多年了:D以上是关于ios:当应用程序处于焦点时禁用警报通知(OneSignal)的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序处于前台时,UILocalNotification 在通知中心显示警报
Pushwoosh iOS SDK,在后台模式下禁用 pushwoosh 生成的警报
当用户不点击通知警报时如何获取通知数据只需使用obj c点击ios中的应用程序[重复]