Onesignal推送通知到特定类别

时间:2018-05-03 07:12:31

标签: android cordova google-cloud-messaging onesignal

我的服务器上有一个人员数据库,它包含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();
    },
};

1 个答案:

答案 0 :(得分:1)

当用户订阅您的应用时,您可以获取该设备的OneSignal播放器ID并将其保存到您的数据库中。

在init调用之后的任何时候使用getPermissionSubscriptionState方法获取播放器ID。

然后,您可以关注OneSignal的Database Integration Guide,将玩家ID与您的用户和组号相关联。

另一种选择是使用OneSignal Tagging Guide documentation将设备与群组相关联。