[英]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
}
其中acme1
和acme2
是自定義數據,您可以將其傳遞給推送通知並在啟動后將其放入應用程序內部。
數據可通過UIApplicationDelegate回調獲得,如此處所述處理本地和遠程通知
您可以在有效負載中添加更多參數。 在我們的應用中,我們添加了類似groupID或類型的內容。 查看此堆棧溢出以添加更多有效負載參數
確保消息大小不超過256個字節。這是有效負載的閾值限制
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.