示例#1
0
        /// <summary>
        /// 线程驱动
        /// </summary>
        public void ProcessQueue()
        {
            PushMessageItem pushMessageItem = null;

            lock (PushMessageItemQueue)
            {
                while (PushMessageItemQueue.Count > 0)
                {
                    pushMessageItem = PushMessageItemQueue.Dequeue();
                    if (null != pushMessageItem)
                    {
                        if (null == pushMessageItem.ClientIDList)
                        {
                            GetuiServerApiSDK.PushMessageToApp(pushMessageItem.Title, pushMessageItem.MessageText);
                        }
                        else if (pushMessageItem.ClientIDList.Count <= 1)
                        {
                            GetuiServerApiSDK.PushMessageToSingle(pushMessageItem.ClientIDList[0], pushMessageItem.Title, pushMessageItem.MessageText);
                        }
                        else
                        {
                            for (int i = 0; i < pushMessageItem.ClientIDList.Count;)
                            {
                                List <string> cidList = pushMessageItem.ClientIDList.GetRange(i, Math.Min(pushMessageItem.ClientIDList.Count - i, MaxNumPerList));
                                GetuiServerApiSDK.PushMessageToList(cidList, pushMessageItem.Title, pushMessageItem.MessageText);

                                i += MaxNumPerList;
                            }
                        }
                    }
                }
            }
        }
示例#2
0
 /// <summary>
 /// 添加一个要推送的消息项
 /// </summary>
 /// <param name="pushMessageItem"></param>
 public void AddPushMessageItem(PushMessageItem pushMessageItem)
 {
     lock (PushMessageItemQueue)
     {
         PushMessageItemQueue.Enqueue(pushMessageItem);
     }
 }
示例#3
0
        /// <summary>
        /// 推动到多个用户消息
        /// </summary>
        /// <param name="cid"></param>
        /// <param name="title"></param>
        /// <param name="messageText"></param>
        public void AddPushMessageText(List <string> cidList, string title, string messageText)
        {
            PushMessageItem pushMessageItem = new PushMessageItem()
            {
                ClientIDList = cidList,
                Title        = title,
                MessageText  = messageText,
            };

            AddPushMessageItem(pushMessageItem);
        }
示例#4
0
        /// <summary>
        /// 推动到单个用户消息
        /// </summary>
        /// <param name="cid"></param>
        /// <param name="title"></param>
        /// <param name="messageText"></param>
        public void AddPushMessageText(string cid, string title, string messageText)
        {
            PushMessageItem pushMessageItem = new PushMessageItem()
            {
                ClientIDList = new List <string>(),
                Title        = title,
                MessageText  = messageText,
            };

            pushMessageItem.ClientIDList.Add(cid);

            AddPushMessageItem(pushMessageItem);
        }