开发者社区> 问答> 正文

iOS通知扩展参数获取不到?


iOS通知payload字段通知扩展参数获取,举例如下:

  1. [backcolor=transparent]// 基于OpenAPI高级接口推送iOS通知
  2. [backcolor=transparent]PushRequest[backcolor=transparent] pushRequest [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]new[backcolor=transparent] [backcolor=transparent]PushRequest[backcolor=transparent]();
  3. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setAppKey[backcolor=transparent]([backcolor=transparent]appKey[backcolor=transparent]);
  4. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setTarget[backcolor=transparent]([backcolor=transparent]"DEVICE"[backcolor=transparent]);
  5. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setTargetValue[backcolor=transparent]([backcolor=transparent]"xxxxxx"[backcolor=transparent]);
  6. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setPushType[backcolor=transparent]([backcolor=transparent]"NOTICE"[backcolor=transparent]);
  7. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setDeviceType[backcolor=transparent]([backcolor=transparent]"iOS"[backcolor=transparent]);
  8. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setTitle[backcolor=transparent]([backcolor=transparent]"Push Title"[backcolor=transparent]);
  9. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setBody[backcolor=transparent]([backcolor=transparent]"Push Body"[backcolor=transparent]);
  10. [backcolor=transparent]// 通知扩展属性通过json map格式传入
  11. [backcolor=transparent]// 这里额外属性为key1 = value1, key2 = value2
  12. [backcolor=transparent]pushRequest[backcolor=transparent].[backcolor=transparent]setiOSExtParameters[backcolor=transparent]([backcolor=transparent]"{\"key1\":\"value1\",\"key2\":\"value2\"}"[backcolor=transparent])

  • 客户端获取额外参数,参考如下:

  • iOS 10+设备,
  1. [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]([backcolor=transparent]void[backcolor=transparent])[backcolor=transparent]handleiOS10Notification[backcolor=transparent]:([backcolor=transparent]UNNotification[backcolor=transparent] [backcolor=transparent]*)[backcolor=transparent]notification [backcolor=transparent]{
  2. [backcolor=transparent]    [backcolor=transparent]UNNotificationRequest[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]request [backcolor=transparent]=[backcolor=transparent] notification[backcolor=transparent].[backcolor=transparent]request[backcolor=transparent];
  3. [backcolor=transparent]    [backcolor=transparent]UNNotificationContent[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]content [backcolor=transparent]=[backcolor=transparent] request[backcolor=transparent].[backcolor=transparent]content[backcolor=transparent];
  4. [backcolor=transparent]    [backcolor=transparent]NSDictionary[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]userInfo [backcolor=transparent]=[backcolor=transparent] content[backcolor=transparent].[backcolor=transparent]userInfo[backcolor=transparent];
  5. [backcolor=transparent]    [backcolor=transparent]// 通知时间
  6. [backcolor=transparent]    [backcolor=transparent]NSDate[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]noticeDate [backcolor=transparent]=[backcolor=transparent] notification[backcolor=transparent].[backcolor=transparent]date[backcolor=transparent];
  7. [backcolor=transparent]    [backcolor=transparent]// 标题
  8. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]title [backcolor=transparent]=[backcolor=transparent] content[backcolor=transparent].[backcolor=transparent]title[backcolor=transparent];
  9. [backcolor=transparent]    [backcolor=transparent]// 副标题
  10. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]subtitle [backcolor=transparent]=[backcolor=transparent] content[backcolor=transparent].[backcolor=transparent]subtitle[backcolor=transparent];
  11. [backcolor=transparent]    [backcolor=transparent]// 内容
  12. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]body [backcolor=transparent]=[backcolor=transparent] content[backcolor=transparent].[backcolor=transparent]body[backcolor=transparent];
  13. [backcolor=transparent]    [backcolor=transparent]// 角标
  14. [backcolor=transparent]    [backcolor=transparent]int[backcolor=transparent] badge [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]content[backcolor=transparent].[backcolor=transparent]badge intValue[backcolor=transparent]];
  15. [backcolor=transparent]    [backcolor=transparent]// 取得通知自定义字段内容,例:获取key为"key1"和"key2"的内容
  16. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extKey1 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]@[backcolor=transparent]"key1"[backcolor=transparent];
  17. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extKey2 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]@[backcolor=transparent]"key2"[backcolor=transparent];
  18. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extValue1 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]userInfo valueForKey[backcolor=transparent]:[backcolor=transparent]extKey1[backcolor=transparent]];
  19. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extValue1 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]userInfo valueForKey[backcolor=transparent]:[backcolor=transparent]extKey1[backcolor=transparent]];
  20. [backcolor=transparent]    [backcolor=transparent]// 通知打开回执上报
  21. [backcolor=transparent]    [backcolor=transparent][[backcolor=transparent]CloudPushSDK[backcolor=transparent] sendNotificationAck[backcolor=transparent]:[backcolor=transparent]userInfo[backcolor=transparent]];
  22. [backcolor=transparent]    [backcolor=transparent]NSLog[backcolor=transparent](@[backcolor=transparent]"Notification, date: %@, title: %@, subtitle: %@, body: %@, badge: %d, extras: [%@ = %@, %@ = %@]."[backcolor=transparent],[backcolor=transparent] noticeDate[backcolor=transparent],[backcolor=transparent] title[backcolor=transparent],[backcolor=transparent] subtitle[backcolor=transparent],[backcolor=transparent] body[backcolor=transparent],[backcolor=transparent] badge[backcolor=transparent],[backcolor=transparent] extKey1[backcolor=transparent],[backcolor=transparent] extValue1[backcolor=transparent],[backcolor=transparent] extKey2[backcolor=transparent],[backcolor=transparent] extValue2[backcolor=transparent]);
  23. [backcolor=transparent]}
  • < iOS 10设备,
  1. [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]([backcolor=transparent]void[backcolor=transparent])[backcolor=transparent]application[backcolor=transparent]:([backcolor=transparent]UIApplication[backcolor=transparent]*)[backcolor=transparent]application didReceiveRemoteNotification[backcolor=transparent]:([backcolor=transparent]NSDictionary[backcolor=transparent]*)[backcolor=transparent]userInfo [backcolor=transparent]{
  2. [backcolor=transparent]    [backcolor=transparent]NSLog[backcolor=transparent](@[backcolor=transparent]"Receive one notification."[backcolor=transparent]);
  3. [backcolor=transparent]    [backcolor=transparent]// 取得APNS通知内容
  4. [backcolor=transparent]    [backcolor=transparent]NSDictionary[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]aps [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]userInfo valueForKey[backcolor=transparent]:@[backcolor=transparent]"aps"[backcolor=transparent]];
  5. [backcolor=transparent]    [backcolor=transparent]// 内容
  6. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]content [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]aps valueForKey[backcolor=transparent]:@[backcolor=transparent]"alert"[backcolor=transparent]];
  7. [backcolor=transparent]    [backcolor=transparent]// badge数量
  8. [backcolor=transparent]    [backcolor=transparent]NSInteger[backcolor=transparent] badge [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[[backcolor=transparent]aps valueForKey[backcolor=transparent]:@[backcolor=transparent]"badge"[backcolor=transparent]][backcolor=transparent] integerValue[backcolor=transparent]];
  9. [backcolor=transparent]    [backcolor=transparent]// 播放声音
  10. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]sound [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]aps valueForKey[backcolor=transparent]:@[backcolor=transparent]"sound"[backcolor=transparent]];
  11. [backcolor=transparent]    [backcolor=transparent]// 取得通知自定义字段内容,例:获取key为"key1"和"key2"的内容
  12. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extKey1 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]@[backcolor=transparent]"key1"[backcolor=transparent];
  13. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extKey2 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]@[backcolor=transparent]"key2"[backcolor=transparent];
  14. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extValue1 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]userInfo valueForKey[backcolor=transparent]:[backcolor=transparent]extKey1[backcolor=transparent]];
  15. [backcolor=transparent]    [backcolor=transparent]NSString[backcolor=transparent] [backcolor=transparent]*[backcolor=transparent]extValue1 [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent][[backcolor=transparent]userInfo valueForKey[backcolor=transparent]:[backcolor=transparent]extKey1[backcolor=transparent]];
  16. [backcolor=transparent]    [backcolor=transparent]NSLog[backcolor=transparent](@[backcolor=transparent]"content = [%@], badge = [%ld], sound = [%@], Extras = [%@ = %@, %@ = %@]"[backcolor=transparent],[backcolor=transparent] content[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]([backcolor=transparent]long[backcolor=transparent])[backcolor=transparent]badge[backcolor=transparent],[backcolor=transparent] sound[backcolor=transparent],[backcolor=transparent] extKey1[backcolor=transparent],[backcolor=transparent] extValue1[backcolor=transparent],[backcolor=transparent] extKey2[backcolor=transparent],[backcolor=transparent] extValue2[backcolor=transparent]);
  17. [backcolor=transparent]    [backcolor=transparent]// iOS badge 清0
  18. [backcolor=transparent]    application[backcolor=transparent].[backcolor=transparent]applicationIconBadgeNumber [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]0[backcolor=transparent];
  19. [backcolor=transparent]    [backcolor=transparent]// 通知打开回执上报
  20. [backcolor=transparent]    [backcolor=transparent]// [CloudPushSDK handleReceiveRemoteNotification:userInfo];(Deprecated from v1.8.1)
  21. [backcolor=transparent]    [backcolor=transparent][[backcolor=transparent]CloudPushSDK[backcolor=transparent] sendNotificationAck[backcolor=transparent]:[backcolor=transparent]userInfo[backcolor=transparent]];

展开
收起
猫饭先生 2017-10-24 09:59:24 1329 0
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载