Push-уведомление об одном сигнале в определенную категорию - PullRequest
0 голосов
/ 03 мая 2018

У меня есть база данных людей на моем сервере, и она содержит атрибут 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 голосов
/ 05 мая 2018

Когда пользователь подписывается на ваше приложение, вы можете получить идентификатор OneSignal Player устройства и сохранить его в своей базе данных.

В любое время после вызова init используйте метод getPermissionSubscriptionState , чтобы получить идентификатор игрока.

Затем вы можете следовать Руководству по интеграции базы данных OneSignal , чтобы связать идентификатор игрока с номером вашего пользователя и группы.

Другим вариантом является использование OneSignal Документация по тегированию для привязки устройств к группам.

...