0

Я следил за official guide, но обнаружил, что он просто регистрирует ваше приложение для уведомлений снова и снова, и пользователь не может отказаться. Кажется, не существует способа определить, зарегистрировано ли устройство или нет, потому что метод getRemoteNotificationStatus недоступен в версии плагина Android. Как я могу получить эту информацию?Как управлять регистрацией в качестве предпочтения в pushwoosh?

Я думал, что сохраню его в качестве предпочтения в приложении, поэтому мне не нужно было бы запрашивать что-либо внешнее, но более поздние версии Android позволяют отключать уведомления за пределами приложения. Будет ли это отменять регистрацию/конфликт с моим отдельным предпочтением в приложении?

Мой код (который я тестирую с) до сих пор:

(function() { 
    var pushPrefApply = function() { 
     app.pushPref(function(pushPref) { 
      console.log('pushPref', pushPref); 
      if (!pushPref) { 
       window.plugins.pushNotification.unregisterDevice(
        function() { 
         console.log('unreg ok', arguments); 
        }, 
        function() { 
         console.log('unreg fail', arguments); 
        } 
       ); 
       return; 
      } 
      window.plugins.pushNotification.registerDevice(
       { 
        projectid: '123456789012', 
        appid : 'F0000-BAAAA' 
       }, 
       function(pushToken) { 
        console.log('reg ok', arguments); 
       }, 
       function(status) { 
        console.log('reg fail', arguments); 
       } 
      ); 
     }); 
    }; 

    //UI code for changing push preference goes here, calls pushPrefApply 

    $document.on('appready', function() { 
     pushPrefApply(); 
    }); 
})(); 

$document не опечатка, это уже определено. app.pushPref - функция выбора предпочтений. window.plugins.pushNotification.onDeviceReady было сделано в другом месте по адресу deviceready. appready - это синтезированное событие, которое я запускаю после deviceready и другого события, вызванного локальной библиотекой хранения данных.

ответ

2

Вы поступаете правильно.

К сожалению, это единственный вариант, так как Android не предоставляет вам API для получения статуса push-уведомлений с включенным/отключенным статусом. И эти настройки настолько глубоко погружены в возможности, которые я действительно сомневаюсь в том, что пользователи смогут его найти.

В любом случае сохранение информации о регистрации на местном уровне является единственным вариантом на данный момент.

Смежные вопросы