【问题标题】:Azure mobile push notifications are not triggering in iOS Xamarin Forms app when user taps app icon当用户点击应用程序图标时,不会在 iOS Xamarin Forms 应用程序中触发 Azure 移动推送通知
【发布时间】:2017-07-30 06:26:19
【问题描述】:

我有一个奇怪的问题。我正在使用 azure 通知中心将通知推送到我的 Xamarin 表单应用程序 (iOS)。除了一种特殊情况外,一切正常:

这行得通:

案例一:

应用程序正在运行 -> 推送通知已发送 -> 我在 DidReceiveRemoteNotification 回调中得到它 -> 然后我显示一个弹出窗口(好)

案例 2

应用程序暂停并在后台运行 -> 发送推送通知 -> 我在手机顶部收到通知,红色徽章再次更新应用程序图标 ->

如果用户点击顶部的通知,应用程序打开,我收到 DidReceiveRemoteNotification 事件(好)

如果用户忽略通知而只是点击应用程序图标 -> 什么都没有发生 ???

我需要以某种方式捕获此通知,但我不知道为什么它没有显示。我已经在谷歌上搜索了一段时间,但无济于事。

我有什么:

我在后台模式中勾选了“远程通知”和“后台获取”

我正在发送这样的消息:{"aps":{"alert":"Notification Hub test notification", "badge": 1}}

为什么当用户点击应用程序图标而不是通知时它没有触发,我如何在应用程序中获取此通知???我错过了什么

【问题讨论】:

    标签: xamarin push-notification xamarin.ios apple-push-notifications azure-mobile-services


    【解决方案1】:

    如果您希望在后台收到通知时通知您的应用,您需要像您已经完成的那样设置 Background Fetch,而且您的通知应该包含键“content-available”为真。

    {
        "aps" : {
            "content-available" : 1,
            "alert": "We have something great for you!!"
        },
        "content-id" : 1015
    }
    

    当系统 (iOS) 收到带有此值的应用通知时,它将唤醒它(在后台),您将有 30 秒的时间来获取您可能需要更新的任何信息。

    将处理此事件的委托方法是DidReceiveRemoteNotification

    从上面的示例负载中,您将获得“content-id”的值,并在需要时从您的服务器获取数据。

    你也可以像上面那样做静默通知,但你忽略了警报。有了这个,您可以告诉您的应用更新内容,然后如果您需要通知用户,您只需使用本地通知。

    您可以获取有关此here 的更多信息。

    【讨论】:

    • 谢谢。我实际上已经弄清楚了,它在调试时可以工作,即我遇到断点。但是,当我在没有调试的情况下运行手机时,它仍然无法正常工作。我认为这与应用程序本身有关,我必须进行调查。完全测试后,我会将其标记为答案
    猜你喜欢
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2017-03-04
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    相关资源
    最近更新 更多