def push_customer_support_message(appid, appname, u, content, extra): receiver = u.uid #找出最近绑定的token ts = max(u.apns_timestamp, u.xg_timestamp, u.ng_timestamp, u.mi_timestamp, u.hw_timestamp, u.gcm_timestamp, u.ali_timestamp, u.jp_timestamp) if u.apns_device_token and u.apns_timestamp == ts: sound = 'default' alert = content badge = u.unread + 1 content_available = 1 IOSPush.push(appid, u.apns_device_token, alert, sound, badge, content_available, extra) user.set_user_unread(rds, appid, receiver, u.unread + 1) elif u.ng_device_token and u.ng_timestamp == ts: android_push(appid, appname, u.ng_device_token, content, extra) elif u.xg_device_token and u.xg_timestamp == ts: xg_push(appid, appname, u.xg_device_token, content, extra) elif u.mi_device_token and u.mi_timestamp == ts: MiPush.push(appid, appname, u.mi_device_token, content) elif u.hw_device_token and u.hw_timestamp == ts: HuaWeiPush.push(appid, appname, u.hw_device_token, content) elif u.gcm_device_token and u.gcm_timestamp == ts: GCMPush.push(appid, appname, u.gcm_device_token, content) elif u.ali_device_token and u.ali_timestamp == ts: AliPush.push(appid, appname, u.ali_device_token, content) #通过透传消息通知app有新消息到达 content = json.dumps({"xiaowei": {"new": 1}}) AliPush.push_message(appid, appname, u.ali_device_token, content) elif u.jp_device_token and u.jp_timestamp == ts: JGPush.push(appid, appname, u.jp_device_token, content) else: logging.info("uid:%d has't device token", receiver)
def handle_voip_message(msg): obj = json.loads(msg) appid = obj["appid"] sender = obj["sender"] receiver = obj["receiver"] appname = get_title(appid) sender_name = user.get_user_name(rds, appid, sender) u = user.get_user(rds, appid, receiver) if u is None: logging.info("uid:%d nonexist", receiver) return #找出最近绑定的token ts = max(u.apns_timestamp, u.xg_timestamp, u.ng_timestamp, u.mi_timestamp, u.hw_timestamp, u.gcm_timestamp, u.ali_timestamp) if sender_name: sender_name = sender_name.decode("utf8") content = "%s:%s"%(sender_name, u"请求与你通话") else: content = u"你的朋友请求与你通话" if u.apns_device_token and u.apns_timestamp == ts: sound = "apns.caf" badge = 0 ios_push(appid, u.apns_device_token, content, badge, sound, {}) elif u.mi_device_token and u.mi_timestamp == ts: MiPush.push_message(appid, u.mi_device_token, content) elif u.hw_device_token and u.hw_timestamp == ts: HuaWeiPush.push_message(appid, u.hw_device_token, content) elif u.ali_device_token and u.ali_timestamp == ts: AliPush.push_message(appid, appname, u.hw_device_token, content) else: logging.info("uid:%d has't device token", receiver)
u.apns_device_token, content, sound=sound, badge=u.unread + 1) user.set_user_unread(rds, appid, receiver, u.unread + 1) return if not content: return if u.mi_device_token and u.mi_timestamp == ts: MiPush.push_message(appid, u.mi_device_token, content) elif u.hw_device_token and u.hw_timestamp == ts: HuaWeiPush.push_message(appid, u.hw_device_token, content) elif u.ali_device_token and u.ali_timestamp == ts: AliPush.push_message(appid, appname, u.hw_device_token, content) else: logging.info("uid:%d has't device token", receiver) def receive_offline_message(): """ 等待100ms,批量发送推送 """ while True: logging.debug("waiting...") begin = time.time() p_items = [] g_items = [] c_items = []