Я следил за 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
и другого события, вызванного локальной библиотекой хранения данных.