单击 Ionic 中的推送通知时如何打开特定页面?

Posted

技术标签:

【中文标题】单击 Ionic 中的推送通知时如何打开特定页面?【英文标题】:How to open a specific page when click on push notifications in Ionic? 【发布时间】:2017-01-18 09:32:10 【问题描述】:

我是 Ionic 的新手,我集成了 PhoneGap 推送通知插件。我能够在 androidios 中接收通知。当用户单击通知时,我想打开一个特定页面,但我找不到任何解决方案。我什至尝试了下面的链接。

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 中的推送通知时如何打开特定页面?的主要内容,如果未能解决你的问题,请参考以下文章

单击推送通知时如何在我的颤振应用程序中打开特定页面

单击推送通知时如何打开应用程序的特定页面

在本地通知上打开特定页面单击 Ionic

收到来自 Ionic 推送的通知时如何打开到特定状态?

如何使用 ionic 3 和 Firebase Cloud Messaging 从通知栏打开特定页面?

单击时,Phonegap 推送通知重定向到应用程序中的特定页面