【问题标题】:How to open a specific page when click on push notifications in Ionic?单击 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);
    });
});

请帮我解决问题。 提前致谢。

【问题讨论】:

    标签: cordova ionic-framework push-notification


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      相关资源
      最近更新 更多