Esempio n. 1
0
        static void Main(string[] args)
        {
            var oldVersionList = DB.GetIsraelisWithOldVersionForPush();
            var listOfLists    = oldVersionList.Chunk(800);

            foreach (var item in listOfLists)
            {
                PushSender.SendSimpleMessageWithUrl("חג שמח הכי מהיר בעולם", "בלחיצה אחת במייסטייט 🚀 - שגרו ברכה בלי להקליד. הקליקו לעדכון", "http://bitly.com/pesachpush", item.Select(s => s.gcmregistrationid));
            }

            var newVersionList = DB.GetIsraelisWithNewVersionForPush();
            var newlistOfLists = newVersionList.Chunk(800);

            foreach (var item in newlistOfLists)
            {
                PushSender.SendSimpleMessageWithUrl("חג שמח הכי מהיר בעולם", "בלחיצה אחת במייסטייט 🚀 - שגרו ברכה בלי להקליד. נסו עכשיו!", "http://bit.ly/22Ogh8M", item.Select(s => s.gcmregistrationid));
            }

            //string hagai = "APA91bGHPDa_EiFn8p9OWESH48mDis4fenU3eZcFQpLaAtNT6MPYadro-DHlNpb3IIyLIyyoU54OiGTXHFFPEOdqFN43PeVh9VteueK6nEc5nwsiOh5DAzqN_w_0-L-gu_5nxTITYZ3z";
            //           string eido = "APA91bEOvSVOkzwvkG_ymCmiN7Tp3iFQgnyYYrIND1VGM_EjyQGQphV7FIr4On_jXfBdM085BQ1DCZWuFY1Dnz4opPqULkXR6tzQ4j1bD0BdH8mgumlPLsyQkIx0zHSu7ZaeYmQ6C2Xi";
            //           string assaf = "APA91bF-AQ0E3jaJu3MlAiByAVlNueQV-KVx4Dg8wNe4xXeCFiVTRF_aUQBSW_bmxl__iTFoMrbgN9ANF-pKojd3JGoGi329Eoos_J7ICufcPiGB1Oadaxr-fJV-OSolFDOyrn-usDdN";
            //           string michael = "APA91bFGdXbMaNMBsfw8awmQXgOPsFqFguIIBZw0abdc3kmkfS7qm3zHqm8fLwMVoXUcZHHd2pvEbCxk1vaaDBg0tIZ5pKoWgxk19NE5FspGhSKxQvYmcxtVEQ32HNPLTvSGA2biT0vP";
            //           string sveta = "APA91bG8ichrQRx3QIX2pRrwASy9gJOay9NQ-HUuCDQNG9y1Ynhv_F52ud5qrS1oLCUHyD4wPrK-uQgrX1o67tsVjDzU32nJEhuasOe8uVFQ9KJSKZmr9tgA9E40OMwat0qApv4Lon_N";



            //           PushSender.SendSimpleMessageWithUrl("חג שמח הכי מהיר בעולם", "בלחיצה אחת במייסטייט 🚀 - שגרו ברכה בלי להקליד. הקליקו לעדכון", "http://bitly.com/pesachpush", new List<string> { hagai,eido,assaf,michael,sveta});
            //           PushSender.SendSimpleMessageWithUrl("חג שמח הכי מהיר בעולם", "בלחיצה אחת במייסטייט 🚀 - שגרו ברכה בלי להקליד. נסו עכשיו!", "http://bit.ly/22Ogh8M", new List<string> { hagai, eido, assaf, michael, sveta });
        }
        private void Send()
        {
            try
            {
                // 產生 push playload
                PushMessage msg = new PushMessage();
                msg.Aps.Badge = 1;
                msg.Aps.Sound = "default";
                msg.Aps.Alert = "有一則推播通知";
                // msg.Aps.ContentAvailable = 0;

                PushSender sender = new PushSender();

                sender.PushMessage
                (
                    this.record.DeviceTokens,        // device token
                    msg,                             // push message, 不可超過2kb
                    this.record.CertificateFilePath, // p12授權檔路徑
                    this.record.CertificatePassword, // 授權檔密碼
                    this.record.ServerMode           // 推送到測試(false)或正式(true)server
                );
            }
            catch (Exception ex)
            {
                MessageBox.Show("error happen:" + ex.ToString());
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 推送消息给推送平台
        /// </summary>
        /// <param name="sendProcessDto">推送消息</param>
        /// <param name="rzTokenBrandDto">注册信息</param>
        /// <param name="rzTokenBrandDetailDto">注册明细</param>
        /// <param name="channelDto">通道</param>
        /// <param name="appChannelDto">App和通道的关系</param>
        /// <param name="requestTime">请求时间</param>
        /// <returns></returns>
        public SenderRet SendPushMsgToProvider(SendProcessDto sendProcessDto, DeviceChannelDto deviceChannelDto, out int requestTime)
        {
            SenderRet senderRet = new SenderRet {
                IsSuccess = true
            };

            //底层发送消息
            requestTime = 0;
            //获取ProductionMode
            object ProducttMode = _configLogic.GetConfigValue(ConfigKey.ProductionMode);
            //构造底层推送消息的参数
            PushChannelModel pushChannelModel = new PushChannelModel
            {
                ChannelName    = deviceChannelDto.ChannelName,
                Url            = deviceChannelDto.Url,
                AppKey         = deviceChannelDto.AppKey,
                AppSecret      = deviceChannelDto.AppSecret,
                ProductionMode = Convert.ToBoolean(ProducttMode)      //获取调试模式
            };
            PushMsgModel pushMsgModel = new PushMsgModel
            {
                Ticker      = sendProcessDto.Title,
                Title       = sendProcessDto.Title,
                Msg         = sendProcessDto.Msg,
                AttachInfo  = sendProcessDto.AttachInfo,
                DeviceToken = deviceChannelDto.DeviceToken,
                SystemType  = (SystemTypeEnum)deviceChannelDto.SystemType
            };
            ISender sender = PushSenderManager.GetSender(deviceChannelDto.ChannelId);

            if (sender == null)
            {
                senderRet.IsSuccess = false;
                senderRet.Msg       = string.Format("ChannelId:{0},推送信息供应商不存在", deviceChannelDto.ChannelId);
                //LogHelper.Error.Write("SendPushMsgToProvider", senderRet.Msg);
                return(senderRet);
            }
            Stopwatch sw            = new Stopwatch();
            var       isRealPushMsg = _configLogic.GetConfigValue(ConfigKey.IsRealPushMsg);

            sw.Start();
            if (isRealPushMsg != null && Convert.ToBoolean(isRealPushMsg))
            {
                senderRet = PushSender.Send(sender, pushChannelModel, pushMsgModel);
            }
            else
            {
                Thread.Sleep(200);
                senderRet = new SenderRet {
                    IsSuccess = true, Sign = Guid.NewGuid().ToString()
                };
            }
            sw.Stop();
            requestTime = (int)sw.ElapsedMilliseconds;
            return(senderRet);
        }
Esempio n. 4
0
        private static void SendMePushReconnectCode()
        {
            var pushDetails = PushSender.SendReconnectRequest(new List <string>()
            {
                "c41XYM5L_dY:APA91bGSFBvm3o7ESNsmz6V1_A9J6Ia43WObUsrFQnfDLSyJC0-rgDMH92LixkKNVhEI8yV4vdVPwSdtFttaAzLzIF_SCth2Cz-HLmzLGojem5dN_mF3WUiPKZrmNORmKB6VvI9J0mwH"
            });

            List <GoogleResult> gcmResults = pushDetails.RawResponse.Results;

            if (gcmResults[0].Error == "NotRegistered")
            {
                Console.WriteLine("NotRegistered");
            }
            else
            {
                Console.WriteLine("Registered");
            }
        }
Esempio n. 5
0
        static void FactoryMethodUse()
        {
            // Wrong.
            var message = "Design Partner Study";

            DesignParttenersK19.FactoryMethod.SMSSender smsSender = new SMSSender();
            smsSender.Send(message);

            DesignParttenersK19.FactoryMethod.EmailSender emailSender = new EmailSender();
            emailSender.Send(message);

            DesignParttenersK19.FactoryMethod.PushSender pushSender = new PushSender();
            pushSender.Send(message);

            // Right.
            DesignParttenersK19.FactoryMethod.SenderCreator creator = new SenderCreator();
            var sender = creator.Create(SenderType.Sms);

            sender.Send(message);
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Getting Push Codes from DB");
            //get the gcm codes for relevant numbers:
            //3. they are from version x(?) or more?
            var pushCodes = DB.GetNumbers();

            pushCodes.RemoveAll(s => s == "GcmRegistrationId");
            pushCodes.RemoveAll(s => s == null);

            Console.WriteLine("Got {0} Push Codes from DB", pushCodes.Count);
            var listOfLists = Chunk(pushCodes, 800);

            foreach (var list in listOfLists)
            {
                Console.WriteLine("Sending {0} Pushes ", list.Count());
                PushDetails details = PushSender.SendResyncBusinessNumbersRequest(list);

                Thread.Sleep(1000);
            }
        }
Esempio n. 7
0
        private static List <PhoneNumberAndSdkWithGcm> SendPushToReconnectAndReportBack(List <PhoneNumberAndSdkWithGcm> phoneNumbersAndSdksWithGcm)
        {
            phoneNumbersAndSdksWithGcm = phoneNumbersAndSdksWithGcm.Where(s => s.LastUpdated >= DateTime.UtcNow.AddDays(-7)).ToList();

            var listOfPhonesLists = phoneNumbersAndSdksWithGcm.Chunk(200).ToList();

            var count = listOfPhonesLists.Count;
            var j     = 0;

            foreach (IEnumerable <PhoneNumberAndSdkWithGcm> phoneNumberAndSdkWithGcm in listOfPhonesLists)
            {
                Console.WriteLine("Round " + j++ + " from " + count);
                var      partialList = phoneNumberAndSdkWithGcm.ToList();
                string[] usersCodes  = partialList.Select(s => s.GcmRegistrationId).ToArray();
                var      pushDetails = PushSender.SendReconnectRequest(usersCodes);

                List <GoogleResult> gcmResults = pushDetails.RawResponse.Results;

                List <PhoneNumberAndSdkWithGcm> toUninstall = new List <PhoneNumberAndSdkWithGcm>();
                List <string> toSaveReconnect = new List <string>();

                for (int i = 0; i < gcmResults.Count; i++)
                {
                    if (gcmResults[i].Error == "NotRegistered")
                    {
                        var uninstalledPushCode = partialList.Find(x => x.GcmRegistrationId == usersCodes[i]);
                        toUninstall.Add(uninstalledPushCode);
                    }
                    else
                    {
                        toSaveReconnect.Add(partialList[i].PhoneNumber);
                    }
                }

                DB.SaveResultsInDB(toUninstall, toSaveReconnect);
            }
            return(phoneNumbersAndSdksWithGcm);
        }