APNS 内容解析


单聊

不显示详情

{
	"aps":{
		"alert":"您有一条新消息",	 
		"badge":1,				 
		"sound":"default"		 
	},
	"f":"6001",					 
	"t":"6006",					 
	"m":"14aec1e00ef"			 
}
  • alert: 显示信息
  • badge: 角标,表示离线消息数
  • sound: 收到 APNS 时的提示音
  • f: 消息发送方的环信 ID
  • t: 消息接收方的环信 ID
  • m: 消息 ID

显示详情

{
	"aps":{
		"alert":"ApnsName:xxxx",	 
		"badge":1,				 
		"sound":"default"		 
	},
	"f":"6001",					 
	"t":"6006",					 
	"m":"14aec1e00ef"			 
}
  • alert: 显示信息
  • ApnsName: 发送方设置的用户名(即环信管理后台中看到的用户昵称)
  • xxxx: 消息内容(发送方发的什么,就显示什么)
  • badge: 角标,表示离线消息数
  • sound: 收到 APNS 时的提示音
  • f: 消息发送方的环信 ID
  • t: 消息接收方的环信 ID
  • m: 消息 ID

群聊

不显示详情

{
	"aps":{
		"alert":"您有一条新消息",	 
		"badge":1,				 
		"sound":"default"		 
	},
	"f":"6001",					 
	"t":"6006",	
	"g":"1421300621769",				 
	"m":"14aec1e00ef"			 
}
  • alert: 显示信息
  • badge: 角标,表示离线消息数
  • sound: 收到 APNS 时的提示音
  • f: 消息发送方的环信 ID
  • t: 消息接收方的环信 ID
  • g: 群组 ID
  • m: 消息 ID

显示详情

{
	"aps":{
		"alert":"ApnsName:xxxx",	 
		"badge":1,				 
		"sound":"default"		 
	},
	"f":"6001",					 
	"t":"6006",		
	"g":"1421300621769",
	"m":"14aec1e00ef"			 
}
  • alert: 显示信息
  • ApnsName: 发送方设置的用户名(即环信管理后台中看到的用户昵称)
  • xxxx: 消息内容(发送方发的什么,就显示什么)
  • badge: 角标,表示离线消息数
  • sound: 收到 APNS 时的提示音
  • f: 消息发送方的环信 ID
  • t: 消息接收方的环信 ID
  • g: 群组 ID
  • m: 消息 ID

向 APNS 中添加扩展字段(em_apns_ext)

APNS扩展:添加后,您收到的 APNS 中将带有您填写的字段,可以帮助您区分 APNS。

解析内容

{
	"aps":{
		"alert":"您有一条新消息",	 
		"badge":1,				 
		"sound":"default"		 
	},
	"f":"6001",					 
	"t":"6006",					 
	"e":"扩展内容",
	"m":"14aec1e00ef"			 
}
  • e: 您发送的自定义内容

发送扩展

REST 发送

REST 发消息

{
	"target_type":"users",
	"target":[
		"6006"
	],
	"msg":{
		"type":"txt",
		"msg":"hello from rest"
	},
	"from":"6001",
	"ext":{
		"em_apns_ext":"扩展内容"
	}
}

iOS 发送

iOS 发消息

EMChatText *txt = [[EMChatText alloc] initWithText:@"test"];
EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt];
EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6001" bodies:@[body]];
// 设置自定义扩展字段
msg.ext = @{@"em_apns_ext":@"扩展内容"};
// 发送消息
[[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil]; 

发送静默消息(不发APNS,em_ignore_notification)

发送时添加后,该消息将不会有 APNS 推送。

REST 发送

(REST 发消息)

{
	"target_type":"users",
	"target":[
		"6006"
	],
	"msg":{
		"type":"txt",
		"msg":"hello from rest"
	},
	"from":"6001",
	"ext":{
		"em_ignore_notification":true
	}
}

iOS 发送

(iOS 发消息)

EMChatText *txt = [[EMChatText alloc] initWithText:@"test"];
EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt];
EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6001" 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 发送

(REST 发消息)

{
	"target_type":"users",
	"target":[
		"6006"
	],
	"msg":{
		"type":"txt",
		"msg":"hello from rest"
	},
	"from":"6001",
	"ext":{
		"em_force_notification":true
	}
}

iOS 发送

(iOS 发消息)

EMChatText *txt = [[EMChatText alloc] initWithText:@"test"];
EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt];
EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6001" bodies:@[body]];
// 设置自定义扩展字段
msg.ext = @{@"em_force_notification":@YES};
// 发送消息
[[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil];

自定义显示

设置后,您收到的 APNS 的 alert 信息将是您设置的信息。

解析

{
	"aps":{
		"alert":"自定义信息",	 
		"badge":1,				 
		"sound":"default"		 
	},
	"f":"6001",					 
	"t":"6006",					 
	"m":"14aec1e00ef"			 
}

REST 发送

(REST 发消息)

{
	"target_type":"users",
	"target":[
		"6006"
	],
	"msg":{
		"type":"txt",
		"msg":"hello from rest"
	},
	"from":"6001",
	"ext":{
		"em_apns_ext":{
			"em_push_title":"自定义信息"
		}
	}
}

iOS 发送

(iOS 发消息)

EMChatText *txt = [[EMChatText alloc] initWithText:@"test"];
EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt];
EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6001" bodies:@[body]];
// 设置自定义扩展字段
msg.ext = @{@"em_apns_ext":@{@"em_push_title":@"自定义信息"}};
// 发送消息
[[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil];

自定义显示与自定义扩展同时发给对方

解析

{
	"aps":{
		"alert":"自定义信息",	 
		"badge":1,				 
		"sound":"default"		 
	},
	"f":"6001",					 
	"t":"6006",					 
	"m":"14aec1e00ef",
	"e":"扩展内容"
}

REST 发送

(REST 发消息)

{
	"target_type":"users",
	"target":[
		"6006"
	],
	"msg":{
		"type":"txt",
		"msg":"hello from rest"
	},
	"from":"6001",
	"ext":{
		"em_apns_ext":{
			"em_push_title":"自定义信息",
                        "extern": "扩展内容"
		}
	}
}

iOS 发送

(iOS 发消息)

EMChatText *txt = [[EMChatText alloc] initWithText:@"test"];
EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txt];
EMMessage *msg = [[EMMessage alloc] initWithReceiver:@"6001" bodies:@[body]];
// 设置自定义扩展字段
msg.ext = @{@"em_apns_ext":@{@"em_push_title":@"自定义信息",@"extern":@"扩展内容"}};
// 发送消息
[[EaseMob sharedInstance].chatManager asyncSendMessage:msg progress:nil];

上一页:APNS 离线推送

下一页:EaseUI 使用指南