2013-03-26 58 views
2

我在我的應用程序中使用了APNS,並且我想發送一些數據(當然小於256字節)。我的問題是我想用推送通知發送數據,而不會向用戶顯示任何警報。我怎樣才能做到這一點 ? 謝謝要通過APNS在有效載荷中發送的數據

回答

2

在aps鍵中指定徽章,並將您的數據放入其他鍵中。所以,如果你使用的徽章數量,重新計算正確的證件號碼,如果你不使用他們,只是給0

從蘋果文檔:

提供商可以在蘋果以外的指定自定義負載值保留的aps命名空間。自定義值必須使用JSON 結構化和基本類型:字典(對象),數組,字符串, 數字和布爾值。您不應將客戶信息作爲 自定義有效內容數據。而應將其用於設置 上下文(用於用戶界面)或內部度量標準等目的。例如, 自定義有效負載值可能是由即時消息客戶端應用程序使用的對話標識符,或標識提供程序何時發送通知的時間戳。與報警 消息相關的任何操作都不應具有破壞性,例如,刪除設備上的數據。

但有一個問題 - 這隻會在應用程序運行時才起作用。

它的工作方式是 - 如果應用程序正在運行,您將通過didReceiveRemoteNotification回調獲得有效負載數據的通知。你可以在這裏提取你的自定義數據。 但是,如果應用程序未運行,通常會顯示提醒,並且只有用戶點擊該應用程序纔會通知您的應用程序。由於你不想顯示警報 - 有沒有辦法讓你得到自定義有效載荷數據,當應用程序不運行。當你想到它時,如果應用程序自己啓動,對於用戶來說會非常可怕。 :)

+0

'if([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]){在推送通知上執行一些操作//}每當我在JSON結構中使用alert鍵時,'DidFinishLaunchingWithOptions'中的這段代碼就會在Notification tap上運行,有問題,我不想顯示通知警報。我該怎麼辦 ? – 2013-03-26 09:25:07

+1

查看更新的答案。 – Mar0ux 2013-03-26 09:33:16

+0

如果我沒有在JSON結構中指定'alert'鍵,那麼'UIApplicationLaunchOptionsRemoteNotificationKey'返回null。 – 2013-03-26 09:33:54

相關問題