簡體   English   中英

使用Xamarin表單為Android和iOS設置推送通知徽章時遇到問題

[英]Trouble setting push notification badge for Android and iOS using Xamarin Forms

我在Xamarin Forms應用程序上使用推送通知在使用圖標徽章時遇到了麻煩。 我正在使用Firebase將應用程序發送到兩個設備。

我為Android使用徽章的方式是,該應用從有效負載的“數據”部分獲取了完整的通知信息。 當通知僅包含數據部分時,我可以觸發一個功能,該功能將設置徽章並顯示彈出通知。 如果我在“通知”部分中輸入了相同的信息,則無法觸發設置徽章的觸發器。

對於iOS,徽章計數是從有效內容的“通知”部分發送的。 iOS沒有看到“數據”部分並創建自動彈出窗口。 我嘗試過在應用程序處於后台但無法找到方法時觸發功能。

底線:iOS需要“通知”有效負載,而Android需要“數據”有效負載以顯示正確的標志。

有沒有人知道當應用程序在后台並且收到推送通知時,如何在iOS的AppDelegate中觸發功能,和/或沒有人知道如何在Android的“通知”部分中觸發功能。有效載荷?

這是我的有效載荷:

{
    "to":"{mytoken}",
    "notification":{
        "title":"Appointment Almost Booked",
        "body":"Please confirm your appointment",
        "badge":3
    },
    "data":{
        "title":"Appointment Almost Booked",
        "body":"Please confirm your appointment slot",
        "badge":3
    }
}

對於iOS:

您可以參考:

https://firebase.google.com/docs/cloud-messaging/http-server-ref#notification-payload-support

在表1中,有一個屬性content_available您可以將其設置為在后台運行應用程序時將其喚醒。

在iOS上,使用此字段表示APNs有效內容中可用的內容。 發送通知或消息並將其設置為true時,將喚醒不活動的客戶端應用程序,並且消息通過APN作為靜默通知而不是通過FCM連接服務器發送。 請注意,APN中的無提示通知不能保證會傳遞,並且可能取決於諸如用戶打開低功耗模式,強制退出應用程序等因素。在Android上,默認情況下,數據消息會喚醒應用程序。 在Chrome上,目前不支持。

然后,您可以在DidReceiveRemoteNotification觸發函數。

這是一個可能對您有幫助的鏈接:

https://docs.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-xamarin-forms-get-started-push#configure-and-run-the-ios-project-可選的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM