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()); } }
/// <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); }
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"); } }
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); }
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); } }
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); }