Tôi hiện đang xây dựng một ứng dụng Android bằng ionic/ngcordova. Tôi đang ở thời điểm triển khai các thông báo đẩy. Tôi đã triển khai thông báo đẩy dưới dạng dịch vụ được tiêm ở giai đoạn app.run(function(){..})
. Phần đăng ký hoạt động và tôi nhận được một cuộc gọi lại có chứa regid
. Ngoài ra, khi ứng dụng ở trạng thái hoạt động, sự kiện được nâng lên và nhận được thông báo.Thông báo của ngCordova/Ionic Push khi ứng dụng ở chế độ nền
Sự cố tôi gặp phải là khi ứng dụng chạy ngầm, tất cả các thông báo sẽ không nhận được. Tôi hy vọng rằng một thông báo địa phương sẽ được nâng lên khi ứng dụng không chạy hoặc một cái gì đó tương tự, nhưng hoàn toàn không có gì xảy ra, đó là lạ.
Tôi đã rà soát web trong vài ngày qua để tìm giải pháp nhưng tôi không thể tìm thấy bất kỳ điều gì cho thấy rằng nó chỉ hoạt động.
Sau đây là notificationService.js của tôi bên trong ứng dụng của tôi
app.factory('notificationService', ['$cordovaPush', function($cordovaPush){
var dataFactory = {};
//
// When the device is ready and this service has been plumbed in...
document.addEventListener("deviceready", function(){
console.log("initializing push notifications...");
_register();
}, false);
//
// Registers the device for push notifications...
var _register = function(){
var config = {};
if (device.platform == 'android' || device.platform == 'Android' || device.platform == "amazon-fireos"){
// TODO: centralise this value as it can change...
config = {
senderID: "448168747432",
ecb: "onNotificationGCM"
};
}else {
// iOS
config = {
"badge":"true",
"sound":"true",
"alert":"true"
};
// Can add the following property to the config object to raise a callback with the information if need be...
// "ecb": "onNotificationRegisterAPN"
}
$cordovaPush.register(config).then(function(result){
//
// Typically returns "ok" for android and devicetoken for iOS
console.log(result);
});
};
window.onNotificationGCM = function(result){
console.log(result);
/*
I get called when the app is in the foreground, but nothing happens when the app is in the background.
*/
};
dataFactory.register = _register;
return dataFactory;
}]);
Nếu nó giúp, tôi đang sử dụng PushSharp qua một ứng dụng Net để cung cấp những thông báo. Mọi sự trợ giúp sẽ rất được trân trọng.
UPDATE: Tôi đang sử dụng các khuôn khổ/libs sau:
- Ionic Khung 1.2.14-beta6
- Cordova 4.2.0
- PushPlugin