C#调用推送问题


(Lee) #1

使用C#调用的推送命令,本机搭建服务测试时,安卓手机可以正常接收推送,但发布到服务器,提示推送成功,但安卓手机接收不到推送信息。求助,APPKEY:d535da86c5ea09d642ec6c2e


#2

收不到消息的问题:请提供推送的消息的msgid(MessageID)和收不到这条消息的设备的registrationID(在客户端获取,无论以何种方式做推送,该信息必须提供)
信息如何获取: 极光产品相关提问简要说明


(Lee) #3

推送的消息都没有在后台显示出来


(Lee) #4

你好,您的QQ方便说一下么?我是内网一个IP地址测试可以推送,但换成外网的就推送不了了


#5

1、推送不了报什么错?请详细贴出来

2、推送成功了收不到消息提供信息,否则无法提供帮助

3、 常见问题 - JPush 合集(持续更新)


(Lee) #6

C#推送代码:

 protected void Button1_Click(object sender, EventArgs e)
    {
        if (title.Text == "")
        {
            Page.RegisterStartupScript("1", "<script>alert('推送信息标题不能为空!')</script>");
            title.Focus();
            return;
        }
        if (content.Text == "")
        {
            Page.RegisterStartupScript("1", "<script>alert('推送信息内容不能为空!')</script>");
            content.Focus();
            return;
        }
        else
        {
            Console.WriteLine("*****开始发送******");
            JPushClient client = new JPushClient(app_key, master_secret);
            //PushPayload payload = JPushApiExample.PushObject_All_All_Alert(TextBox1.Text);
            PushPayload payload = JPushApiExample.PushObject_android_and_ios(title.Text,content.Text);
            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 ee)
            {
                Console.WriteLine("Error response from JPush server. Should review and fix it. ");
                Console.WriteLine("HTTP Status: " + ee.Status);
                Console.WriteLine("Error Code: " + ee.ErrorCode);
                Console.WriteLine("Error Message: " + ee.ErrorCode);
            }
            catch (APIConnectionException ee)
            {
                Console.WriteLine(ee.Message);
            }
            finally
            {
                Page.RegisterStartupScript("1", "<script>alert('推送信息发送成功^-^')</script>");
                title.Text = string.Empty;
                content.Text = string.Empty;
                title.Focus();
            }
            Console.WriteLine("*****结束发送******");
        }
    }

#7

请提供我所需要的信息,贴代码没什么用!


(Lee) #8

没有报错,也显示推送成功了,只是把服务端程序部署到另外一台电脑,就接收不到推送信息了


#9

那给我信息啊!


(Lee) #10

后台没有所发送消息的MESSAGE ID ,是不是代表没有发送成功?


#11

你将你请求和返回的日志贴出来好不好呢,你有没有去获取推送后的返回,返回值里面有code和msgid的。


(Lee) #12

发布到另一台电脑(IIS .net 4.0框架),调用时根本获取不到返回值,也不返回,我也晕了


(Lee) #13

调用后不返回也不报错,也不抛出异常


(Lee) #14

发送后报的错误是:基础连接已经关闭: 发送时发生错误。


#15