簡體   English   中英

iPhone推送通知信息

[英]iPhone push notifications information

是否可以在"badge" "sound""text"旁邊的推送通知中傳輸任何信息?

例如,在應用程序"whatsapp"出現並按下推送通知時,應用程序將打開但不會進入對話。 我的猜測是它無法知道要進行什么對話。 但后來我在facebook messenger應用程序中看到它實際上是在談話中。 信使應用程序如何知道要進行哪些對話?

此外,如果可以傳輸信息,為什么像whatsapp這樣的應用程序不會使用它,並且還會詢問您的姓名,以便它會在推送中顯示?

確實是的。 但是,您的郵件大小(以字節為單位)不得超過Apple規定的某個閾值。 然后,您可以使用以下內容在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions提取該信息:

NSDictionary* dictionary = [launchOptions objectForKey: UIApplicationLaunchOptionsRemoteNotificationKey];

字典包含推送通知信息。

有些應用程序有權在后台運行,而其他應用程序則沒有。 可能是facebook messenger應用程序具有此權限,可以接收推送通知並執行任何操作以轉到正確的對話或用戶。 我不知道這是否屬實,但可能是一個可能的原因。

在這種方法中,我們可以根據我們的應用程序顯示推送警報及其操作

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo   
{


    NSLog(@"did receive remore notification %@",userInfo);
    if(isForground)
    {
    }
}

您應該查看本文檔部分JSON Payloads的示例

在底部,您可以看到自定義有效負載示例,如:

{
    "aps" : {
        "alert" : "You got your emails.",
        "badge" : 9,
        "sound" : "bingbong.aiff"
    },
    "acme1" : "bar",
    "acme2" : 42
}

其中acme1acme2是自定義數據,您可以將其傳遞給推送通知並在啟動后將其放入應用程序內部。

數據可通過UIApplicationDelegate回調獲得,如此處所述處理本地和遠程通知

您可以在有效負載中添加更多參數。 在我們的應用中,我們添加了類似groupID或類型的內容。 查看此堆棧溢出以添加更多有效負載參數

APNS JSON PAYLOAD - 更多參數

確保消息大小不超過256個字節。這是有效負載的閾值限制

暫無
暫無

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

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