現在、ionic/ngcordova を使用して Android アプリケーションを構築しています。プッシュ通知を実装するところです。app.run(function(){..})
段階的に注入されるサービスとしてプッシュ通知を実装しました。登録部分が機能し、. を含むコールバックを受け取りますregid
。また、アプリケーションがアクティブ状態になると、イベントが発生し、通知が受信されます。
私が抱えている問題は、アプリケーションがバックグラウンドに入ると、通知がまったく受信されないことです。アプリが実行されていないときなどにローカル通知が発生することを期待していますが、まったく何も起こりません。これは奇妙です。
私は解決策を探して過去数日間ウェブをトロールしましたが、それがうまくいくはずだと私に示すようなものを見つけることができませんでした.
以下は私のアプリ内の私のnotificationService.jsです
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;
}]);
役立つ場合は、通知を配信するために .net アプリケーション経由で PushSharp を使用しています。どんな助けでも大歓迎です。
更新:次のフレームワーク/ライブラリを使用しています:
- イオン フレームワーク 1.2.14-beta6
- コルドバ 4.2.0
- プッシュプラグイン