====== APNs 内容解析 ====== ---- ===== 单聊 ===== ==== 不显示详情 ==== { "aps":{ "alert":{ "body":"您有一条新消息" }, "badge":1, "sound":"default" }, "f":"6001", "t":"6006", "m":"373360335316321408" } * alert: 显示信息 * badge: 角标,表示离线消息数 * sound: 收到 APNs 时的提示音 * f: 消息发送方的环信 ID * t: 消息接收方的环信 ID * m: 消息 ID ==== 显示详情 ==== { "aps":{ "alert":{ "body":"ApnsNickName:xxxx" }, "badge":1, "sound":"default" }, "f":"6001", "t":"6006", "m":"373360335316321408" } * alert: 显示信息 * ApnsNickName: 发送方设置的用户名(即环信管理后台中看到的用户昵称) * xxxx: 消息内容(发送方发的什么,就显示什么) * badge: 角标,表示离线消息数 * sound: 收到 APNs 时的提示音 * f: 消息发送方的环信 ID * t: 消息接收方的环信 ID * m: 消息 ID ===== 群聊 ===== ==== 不显示详情 ==== { "aps":{ "alert":{ "body":"您有一条新消息" }, "badge":1, "sound":"default" }, "f":"6001", "t":"6006", "g":"1421300621769", "m":"373360335316321408" } * alert: 显示信息 * badge: 角标,表示离线消息数 * sound: 收到 APNs 时的提示音 * f: 消息发送方的环信 ID * t: 消息接收方的环信 ID * g: 群组 ID * m: 消息 ID ==== 显示详情 ==== { "aps":{ "alert":{ "body":"ApnsNickName:xxxx" }, "badge":1, "sound":"default" }, "f":"6001", "t":"6006", "g":"1421300621769", "m":"373360335316321408" } * alert: 显示信息 * ApnsNickName: 发送方设置的用户名(即环信管理后台中看到的用户昵称) * xxxx: 消息内容(发送方发的什么,就显示什么) * badge: 角标,表示离线消息数 * sound: 收到 APNs 时的提示音 * f: 消息发送方的环信 ID * t: 消息接收方的环信 ID * g: 群组 ID * m: 消息 ID ===== 向 APNs 中添加扩展字段(em_apns_ext) ===== APNs扩展:添加后,您收到的 APNs 中将带有您填写的字段,可以帮助您区分 APNs。 ==== 解析内容 ==== { "aps":{ "alert":{ "body":"您有一条新消息" }, "badge":1, "sound":"default" }, "f":"6001", "t":"6006", "e":"推送自定义内容", "m":"373360335316321408" } * e: 您发送的推送自定义内容 ==== 发送扩展 ==== === REST 发送 === ([[start:100serverintegration:50messages#发送文本消息|REST 发消息]]) { "target_type":"users", "target":[ "6006" ], "msg":{ "type":"txt", "msg":"hello from rest" }, "from":"6001", "ext":{ "em_apns_ext":{ "extern":"推送自定义内容" } } } === iOS 发送 === ([[start:300iosclientintegration:40emmsg#构造消息|iOS 发消息]]) EMChatText *txt = [[EMChatText alloc] initWithText:@"test"]; EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt]; EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6006" bodies:@[body]]; // 设置自定义扩展字段 msg.ext = @{@"em_apns_ext":@{@"extern":@"推送自定义内容"}}; // 发送消息 [[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil];  ===== 发送静默消息(不发APNs,em_ignore_notification) ===== 发送时添加后,该消息将不会有 APNs 推送。 ==== REST 发送 ==== ([[start:100serverintegration:50messages#发送文本消息|REST 发消息]]) { "target_type":"users", "target":[ "6006" ], "msg":{ "type":"txt", "msg":"hello from rest" }, "from":"6001", "ext":{ "em_ignore_notification":true } } ==== iOS 发送 ==== ([[start:300iosclientintegration:40emmsg#构造消息|iOS 发消息]]) EMChatText *txt = [[EMChatText alloc] initWithText:@"test"]; EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt]; EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6006" bodies:@[body]]; // 设置自定义扩展字段 msg.ext = @{@"em_ignore_notification":@YES}; // 发送消息 [[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil]; ===== 设置强制推送型 APNs(em_force_notification) ===== 设置后,将强制推送消息,即使客户端设置了免打扰时间,也会得到推送。优先级比 em_ignore_notification 低,即同时设置 em_ignore_notification 后,该属性将失效。 ==== REST 发送 ==== ([[start:100serverintegration:50messages#发送文本消息|REST 发消息]]) { "target_type":"users", "target":[ "6006" ], "msg":{ "type":"txt", "msg":"hello from rest" }, "from":"6001", "ext":{ "em_force_notification":true } } ==== iOS 发送 ==== ([[start:300iosclientintegration:40emmsg#构造消息|iOS 发消息]]) EMChatText *txt = [[EMChatText alloc] initWithText:@"test"]; EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt]; EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6006" bodies:@[body]]; // 设置自定义扩展字段 msg.ext = @{@"em_force_notification":@YES}; // 发送消息 [[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil]; ===== 自定义显示 ===== 设置后,您收到的 APNs 的 alert 信息将是您设置的信息。 ==== 解析 ==== { "aps":{ "alert":{ "body":"自定义推送显示内容" }, "badge":1, "sound":"default" }, "f":"6001", "t":"6006", "m":"373360335316321408" } ==== REST 发送 ==== ([[start:100serverintegration:50messages#发送文本消息|REST 发消息]]) { "target_type":"users", "target":[ "6006" ], "msg":{ "type":"txt", "msg":"hello from rest" }, "from":"6001", "ext":{ "em_apns_ext":{ "em_push_content":"自定义推送显示内容" } } } ==== iOS 发送 ==== ([[start:300iosclientintegration:40emmsg#构造消息|iOS 发消息]]) EMChatText *txt = [[EMChatText alloc] initWithText:@"test"]; EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt]; EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6006" bodies:@[body]]; // 设置自定义扩展字段 msg.ext = @{@"em_apns_ext":@{@"em_push_content":@"自定义推送显示内容"}}; // 发送消息 [[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil]; ===== 自定义显示与自定义扩展同时发给对方 ===== ==== 解析 ==== { "aps":{ "alert":{ "body":"自定义推送显示内容" }, "badge":1, "sound":"default" }, "f":"6001", "t":"6006", "m":"373360335316321408", "e":"推送自定义内容" } ==== REST 发送 ==== ([[start:100serverintegration:50messages#发送文本消息|REST 发消息]]) { "target_type":"users", "target":[ "6006" ], "msg":{ "type":"txt", "msg":"hello from rest" }, "from":"6001", "ext":{ "em_apns_ext":{ "em_push_content":"自定义推送显示内容", "extern": "推送自定义内容" } } } ==== iOS 发送 ==== ([[start:300iosclientintegration:40emmsg#构造消息|iOS 发消息]]) EMChatText *txt = [[EMChatText alloc] initWithText:@"test"]; EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt]; EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6006" bodies:@[body]]; // 设置自定义扩展字段 msg.ext = @{@"em_apns_ext":@{@"em_push_content":@"自定义推送显示内容",@"extern":@"推送自定义内容"}}; // 发送消息 [[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil]; ---- 上一页:[[start:300iosclientintegration:80apns|APNs离线推送]] 下一页:[[start:300iosclientintegration:140easeuiuseguide|EaseUI使用指南]]