单击 Ionic 中的推送通知时如何打开特定页面?
Posted
技术标签:
【中文标题】单击 Ionic 中的推送通知时如何打开特定页面?【英文标题】:How to open a specific page when click on push notifications in Ionic? 【发布时间】:2017-01-18 09:32:10 【问题描述】:我是 Ionic 的新手,我集成了 PhoneGap 推送通知插件。我能够在 android 和 ios 中接收通知。当用户单击通知时,我想打开一个特定页面,但我找不到任何解决方案。我什至尝试了下面的链接。
How to open detail page when click notification in Ionic
这是我的代码
ionic.Platform.ready(function()
var push = PushNotification.init(
android:
senderID: "61426985247",
sound: "true",
vibrate: "true",
forceShow: "true"
,
browser:
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
,
ios:
alert: "true",
badge: true,
sound: 'false'
,
windows:
);
PushNotification.hasPermission(function(data) );
push.on('registration', function(data)
$rootScope.deviceToken = data.registrationId;
);
push.on('notification', function(data)
$state.go("tabs.createevent",
"eventId": "createNewEvent"
);
alert(data);
);
push.on('error', function(e)
alert(e.message);
);
);
请帮我解决问题。 提前致谢。
【问题讨论】:
【参考方案1】:从docs 看来,您似乎需要调用push.on('notification', callback)
function。
然后,您可以在函数内根据负载决定在应用内导航到何处。
这应该发生在您的onDeviceReady()
中,以便立即发生。然后像往常一样路由到一个页面。
【讨论】:
在我更新我的问题时查看我的代码仍然无法导航到特定页面 老兄,你得给我更多。在hasPermission
补全中粘贴控制台日志以查看它是否确实具有权限。你是在 iOS 还是 Android 上运行它。如果是 iOS,是否会提示您允许通知。在 Android 和 iOS 的这两种情况下,您的所有证书都设置了吗?检查所有内容并在各处粘贴控制台日志或断点以进行调试。您实际上是否在使用该推送服务 URL?还是您只是从示例代码中复制的?
您的应用没有切换状态,但警报有效?你可能想试试$state.go("tabs.createevent", "eventId": "createNewEvent" , location: true, inherit: true, notify: true, reload: true ).then( function(statego) console.log("success", statego); ).catch( function(statego) console.log("error", statego); );
【参考方案2】:
问题可能在您的负载中。
如果您想在应用程序在后台接收时处理您的推送消息,您需要像下面这样格式化负载
to : deviceid
data :
title : "Push Notification",
body : "This is a push Message",
userId: 10,
更多信息在这里:https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#android-behaviour
【讨论】:
以上是关于单击 Ionic 中的推送通知时如何打开特定页面?的主要内容,如果未能解决你的问题,请参考以下文章