我的服务器上有一个人员数据库,它包含group number
属性。我想为每个组发送单独的通知。使用以下代码,它将向所有应用程序发送通知。如何设置或订阅应用程序以便知道某个移动设备属于某个组?在访问应用程序之前,每个成员都需要先登录。
var app = {
// Application Constructor
initialize: function() {
this.bindEvents();
},
// Bind Event Listeners
//
// Bind any events that are required on startup. Common events are:
// 'load', 'deviceready', 'offline', and 'online'.
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
// deviceready Event Handler
//
// The scope of 'this' is the event. In order to call the 'receivedEvent'
// function, we must explicitly call 'app.receivedEvent(...);'
onDeviceReady: function() {
console.log('Received Device Ready Event');
console.log('calling setup push');
// Set your iOS Settings
var iosSettings = {};
iosSettings["kOSSettingsKeyAutoPrompt"] = false;
iosSettings["kOSSettingsKeyInAppLaunchURL"] = true;
window.plugins.OneSignal
.startInit("3074529d MY APP ID HERE d5eb61b000")
.handleNotificationReceived(function(jsonData) {
alert("Notification received: \n" + JSON.stringify(jsonData));
console.log('Did I receive a notification: ' + JSON.stringify(jsonData));
})
.handleNotificationOpened(function(jsonData) {
alert("Notification opened: \n" + JSON.stringify(jsonData));
console.log('didOpenRemoteNotificationCallBack: ' + JSON.stringify(jsonData));
})
.inFocusDisplaying(window.plugins.OneSignal.OSInFocusDisplayOption.InAppAlert)
.iOSSettings(iosSettings)
.endInit();
},
};
答案 0 :(得分:1)
当用户订阅您的应用时,您可以获取该设备的OneSignal播放器ID并将其保存到您的数据库中。
在init调用之后的任何时候使用getPermissionSubscriptionState方法获取播放器ID。
然后,您可以关注OneSignal的Database Integration Guide,将玩家ID与您的用户和组号相关联。
另一种选择是使用OneSignal Tagging Guide documentation将设备与群组相关联。