SendPush() 공개 메소드

向某个设备或者某设别列表推送一条通知,或者消息
包含http错误码:如401,404等,错误信息,JPush returen code和JPush returen mssage 包含错误的信息
public SendPush ( PushPayload payload ) : MessageResult
payload cn.jpush.api.push.mode.PushPayload
리턴 cn.jpush.api.push.MessageResult
예제 #1
0
        protected void btn_Send_Click(object sender, EventArgs e)
        {
            JPushClient pushClient = new JPushClient(apikKey, secretKey);
            try
            {
                Message msg = new Message(txtContent.Value, txtTitle.Value, "");

                //广播
                if (this.rbBrandCast.Checked)
                {
                    pushClient.SendPush(PushPayload.SendAndroidAlertPushToAll(msg));
                }
                //批量发送
                else if (this.rbBatch.Checked)
                {
                    string[] paramsId = new string[] { "0304819befc", "021032" };
                    pushClient.SendPush(PushPayload.SendAndroidAlertBatchPush(msg, paramsId));
                }
                //单独设备发送
                else if (rbSingleDevice.Checked)
                {
                    string registerId = "0304819befc";
                    pushClient.SendPush(PushPayload.SendAndroidAlertSinglePush(msg, registerId));

                }
            }
            catch (Exception msg)
            {
                txtResponse.Value = msg.Message;
            }
        }
예제 #2
0
        public MessageResult SendPush(string Msg, string RegId, Dictionary <string, object> extras)
        {
            PushPayload pay    = PushObject_all_registrationId_alert(Msg, RegId, extras);
            var         result = client.SendPush(pay);

            return(result);
        }
예제 #3
0
        /// <summary>
        /// 发送别名消息
        /// </summary>
        /// <param name="title">标题</param>
        /// <param name="message">message</param>
        /// <param name="alias">客户的别名组</param>
        /// <returns></returns>
        public MessageResult SendAliaMsg(string title, Message message, string[] alias)
        {
            MessageResult result = new MessageResult();

            try
            {
                JPushClient  client  = new JPushClient(app_key, master_secret);
                PushPayload  payload = new PushPayload();
                Notification not     = new Notification();
                not.setAlert(title);


                payload.notification = not;
                payload.platform     = Platform.all();
                payload.audience     = Audience.s_alias(alias);
                payload.message      = message;
                result = client.SendPush(payload);
            }
            catch (APIRequestException e)
            {
                SystemLogsBiz.logv("推送失败APIRequestException", e.ErrorMessage, "类 JpushHelp");
            }
            catch (APIConnectionException e)
            {
                SystemLogsBiz.logv("推送失败APIConnectionException", e.Message, "类 JpushHelp");
            }
            return(result);
        }
예제 #4
0
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="title">标题</param>
        /// <param name="message">消息</param>
        /// <param name="audience">用户类型</param>
        /// <returns></returns>
        public MessageResult SendMsg(Notification not, Message message, Audience audience)
        {
            MessageResult result = new MessageResult();

            try
            {
                JPushClient client = new JPushClient(app_key, master_secret);

                PushPayload payload = new PushPayload();
                payload.notification = not;
                payload.platform     = Platform.all();
                payload.audience     = audience;
                payload.message      = message;
                result = client.SendPush(payload);
            }
            catch (APIRequestException e)
            {
                SystemLogsBiz.logv("推送失败APIRequestException", e.ErrorMessage, "类 JpushHelp");
            }
            catch (APIConnectionException e)
            {
                SystemLogsBiz.logv("推送失败APIConnectionException", e.Message, "类 JpushHelp");
            }
            return(result);
        }
예제 #5
0
        /// <summary>
        /// 发送标签消息
        /// </summary>
        /// <param name="title">标题</param>
        /// <param name="Content">内容</param>
        /// <param name="alias">标签组</param>
        /// <returns></returns>
        public MessageResult SendTagMsg(string title, string Content, string[] Tags)
        {
            MessageResult result = new MessageResult();

            try
            {
                JPushClient  client      = new JPushClient(app_key, master_secret);
                string       MSG_CONTENT = Content;
                PushPayload  payload     = new PushPayload();
                Notification not         = new Notification();
                not.setAlert(title);

                payload.notification = not;
                payload.platform     = Platform.all();
                payload.audience     = Audience.s_tag(Tags);
                payload.message      = Message.content(title)
                                       .AddExtras("Content", Content)
                                       .AddExtras("Title", title)
                                       .AddExtras("key2", false);
                result = client.SendPush(payload);
            }
            catch (APIRequestException e)
            {
                SystemLogsBiz.logv("推送失败APIRequestException", e.ErrorMessage, "类 JpushHelp");
            }
            catch (APIConnectionException e)
            {
                SystemLogsBiz.logv("推送失败APIConnectionException", e.Message, "类 JpushHelp");
            }
            return(result);
        }
        static void Main(string[] args)
        {
            Console.WriteLine("*****开始发送******");
            JPushClient client = new JPushClient(app_key, master_secret);
            PushPayload payload = PushObject_all_alias_alert("8001");
            try
            {
                var result = client.SendPush(payload);
                //由于统计数据并非非是即时的,所以等待一小段时间再执行下面的获取结果方法
                System.Threading.Thread.Sleep(10000);
                /*如需查询上次推送结果执行下面的代码*/
                var apiResult = client.getReceivedApi(result.msg_id.ToString());
                var apiResultv3 = client.getReceivedApi_v3(result.msg_id.ToString());
                /*如需查询某个messageid的推送结果执行下面的代码*/
                var queryResultWithV2 = client.getReceivedApi("1739302794"); 
                var querResultWithV3 = client.getReceivedApi_v3("1739302794");

            }
            catch (APIRequestException e)
            {
                Console.WriteLine("Error response from JPush server. Should review and fix it. ");
                Console.WriteLine("HTTP Status: " + e.Status);
                Console.WriteLine("Error Code: " + e.ErrorCode);
                Console.WriteLine("Error Message: " + e.ErrorCode);
            }
            catch (APIConnectionException e)
            {
                Console.WriteLine(e.Message);
            }
            Console.WriteLine("*****结束发送******");
        }
예제 #7
0
        /// <summary>
        /// 发送消息
        /// </summary>
        /// <param name="title">标题</param>
        /// <param name="message">消息</param>
        /// <param name="audience">用户类型</param>
        /// <returns></returns>
        public MessageResult SendMsg(PushPayload payload)
        {
            MessageResult result = new MessageResult();

            try
            {
                JPushClient client = new JPushClient(app_key, master_secret);
                result = client.SendPush(payload);
            }
            catch (APIRequestException e)
            {
                SystemLogsBiz.logv("推送失败APIRequestException", e.ErrorMessage, "类 JpushHelp");
            }
            catch (APIConnectionException e)
            {
                SystemLogsBiz.logv("推送失败APIConnectionException", e.Message, "类 JpushHelp");
            }
            return(result);
        }
예제 #8
0
    //基于手机号(设备别名)的推送
    public static string PushByMobile(string mobile, string msg)
    {
        string      app_key       = "5755e4ed48c87923fef29871";
        string      master_secret = "5d02d7ebd59ccd3da3cc24fe";
        string      error         = "";
        PushPayload payload_alias = PushObject_all_alias_alert(mobile, msg);

        try
        {
            cn.jpush.api.JPushClient client = new cn.jpush.api.JPushClient(app_key, master_secret);
            var result = client.SendPush(payload_alias);
            //由于统计数据并非非是即时的,所以等待一小段时间再执行下面的获取结果方法
            //System.Threading.Thread.Sleep(100);
            ////如需查询上次推送结果执行下面的代码
            //var apiResult = client.getReceivedApi(result.msg_id.ToString());
            //var apiResultv3 = client.getReceivedApi_v3(result.msg_id.ToString());
            ////如需查询某个messageid的推送结果执行下面的代码
            //var queryResultWithV2 = client.getReceivedApi("1739302794");
            //var querResultWithV3 = client.getReceivedApi_v3("1739302794");
        }
        catch (APIRequestException e)
        {
            error += "|Error response from JPush server. Should review and fix it. ";
            error += "|HTTP Status: " + e.Status;
            error += "|Error Code: " + e.ErrorCode;
            error += "|Error Message: " + e.ErrorMessage;
        }
        catch (APIConnectionException e)
        {
            error += "e.Message";
        }
        if (error == "")
        {
            error = "success";
        }
        return(mobile + "$" + error);
    }