====== 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使用指南]]