[英]Ionic Push notification: How to handle onClick?
情況:
我在我的應用程序中使用Ionic Push通知 。
一切都很好。
當用戶發送消息時,通知將通過cURL請求觸發,並且僅當接收者關閉app或后台時才會到達。
我只是處理onClick回調的問題。
根據文檔,我將回調函數放在onNotification參數中。
“onNotification”:當您的設備收到通知並且收到通知對象時,將調用此函數。
當用戶點擊通知時,我需要做的是將他重定向到某個頁面。
這是工作。
問題是,當應用程序處於FOREGROUND狀態時,每次發出cURL請求時,用戶都將被重定向到該頁面...無論是否已收到通知(應用程序關閉或后台)(應用程序前景) ...
編碼:
.run(function($ionicPlatform, $rootScope, $location, $state) {
$ionicPlatform.ready(function() {
var push = new Ionic.Push({
"debug": true,
"onNotification": function(notification)
{
$rootScope.get_my_account_data();
$location.path('app/chat');
},
"onRegister": function(data)
{
console.log(data.token);
},
});
問題:
如何設置一個回調函數,該函數僅在用戶實際點擊通知時被調用,而不是在他進入應用程序時?
我必須在onNotification中做一些技巧,或者有可能設置onClick回調?
謝謝!
解決方案:
好的,我使用AppStatus
進行了AppStatus
。 通過檢查,我將僅在應用程序的狀態為asleep
或closed
應用重定向。
if (notification.app.asleep || notification.app.closed)
編碼:
var push = new Ionic.Push({
"debug": true,
"onNotification": function(notification)
{
$rootScope.get_my_account_data();
if (notification.app.asleep || notification.app.closed)
{
// the app was asleep or was closed, so do the redirect
$location.path('app/your_chat_page');
}
},
"onRegister": function(data)
{
console.log(data.token);
},
});
編輯:
現在,不推薦使用ionic-platform-web-client
。 您應該遷移到Ionic Cloud 。
使用Ionic Cloud時,幾乎沒有什么變化,所以現在代碼會略有不同:
$scope.$on('cloud:push:notification', function(event, data)
{
var msg = data.message;
if (msg.app.asleep || msg.app.closed)
{
// the app was asleep or was closed, so do the redirect
$location.path('app/your_chat_page');
}
});
我正在使用這種方法,它正在工作
1.首先初始化推送
var push = PushNotification.init({
android: {
senderID: "XXXXXXXXX"
},
browser: {
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
},
ios: {
alert: "true",
badge: true,
sound: 'true'
},
windows: {}
});
2. push.on('notification', function(data) {
用於請求推送和處理它們
if (data.additionalData.link_url.indexOf('http')>-1){
$state.go('x',{x:x});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.