一. 原始系统消息推送系统的设计:
说明:
《1》客户端初始化的时候会提交push_id,以及mac地址,以及用户注册的时候会产生用户信息(包括与mac地址的对应关系)。
《2》推送的流程是这样的:根据用户信息选出对于的mac地址然后在映射响应的push_id提交给推送服务器。
这里很多人就会问为什么不用用户id(user_id)跟push_id来做对应呢? 这里的设计是考虑到有些使用者是没有用户id这些信息的,用mac地址来做映射是考虑到系统也想对这些用户进行推送一些消息。
然后呢。。。。问题就来了。
IOS 7 禁止了对mac地址的读取(所有设备读到的mac都是一样的),按之前的推送系统的设计,就不能对IOS 7 用户进行推送了。好吧,唯有更改映射关系了,为了兼容IOS 7的推送,针对IOS 7 的设备使用用户ID来映射(只能吐槽设计矮穷挫啊)。
其实后面问题更大。。。。