2017-02-01 62 views
2

我使用OneSignal SDK作为反应本机。我尝试禁用焦点时应用程序的内部警报。你有一个想法如何做到这一点?ios:禁用应用程序焦点时的警报通知(OneSignal)

这里是我的代码:

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

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) 
    } 
相关问题