SmobilerService 社区版、专业版、标准版都支持推送服务,那怎么能实现呢?
安装SmobilerService
在https://www.smobiler.com/service/serviceInstall.html 上下载安装包并安装,安装后使用浏览器访问 http://localhost:15486 ,输入默认登陆名 admin 与默认密码 admin ,登陆并立即开始使用。
Ps:打不开http://localhost:15486 则参考 https://wiki.smobiler.com/wiki/103 排查
在云平台上创建应用
登录云平台https://cloud.smobiler.com/ ,点击【创建】
创建一个新应用
在vs中创建服务端程序,并通过SmobilerService部署
前提:电脑上需要安装VS以及SmobilerDesigner
- 创建一个SmobilerApplicants项目
- 在SmobilerForm1中拖入两个button和两个label,布局如图
并在SmobilerForm1中写入下方代码:
// 创建推送服务的操作对象。7933 为应用在云平台的唯一编号 PushClient pushClient = new PushClient("7933"); private void SmobilerForm1_Load(object sender, EventArgs e) { //调用 pushClient.Push 时处理客户端确认事件 pushClient.Confirmed += PushClient_Confirmed; //调用 pushClient.PushClientCallBack 时处理消息推送服务回传的数据 pushClient.ClientCallBack += PushClient_ClientCallBack; } private void button1_Press(object sender, EventArgs e) { //推送消息,用户点击应用内推送的确认按钮后,服务端将收到 Confirmed 事件响应。 this.client.DeviceID 获取当前设备号 pushClient.Push("标题", "这里是通知消息的内容。", new string[] { this.Client.DeviceID }); } /// 调用 pushClient.Push 时处理客户端确认事件 private void PushClient_Confirmed(object sender, PushConfirmEventArgs e) { Client.RenderFlush(); label1.Text = e.MessageID; } private void button2_Press(object sender, EventArgs e) { //推送消息,并在推送成功时触发 ClientCallBack 事件。 //ClientCallBack 事件由消息队列服务主动回传数据触发,回传数据 PushClientCallBackEventArgs.Param 中包含推送消息的标题、内容、消息队列的 topic 等详细信息。 440000000048726 为设备编号 this.client.DeviceID pushClient.PushClientCallBack("标题", "这里是通知消息的内容。", "这里是 PushClient_ClientCallBack 事件回传的参数 Param。", new string[] { this.Client.DeviceID }); } /// 调用 pushClient.PushClientCallBack 时处理消息推送服务主动回传的数据。e.Param 包含推送消息的标题、内容、消息队列的 topic 等详细信息 private void PushClient_ClientCallBack(object sender, PushClientCallBackEventArgs e) { Client.RenderFlush(); label2.Text = "ID" + e.MessageID + " param:" + e.Param; }
- 将项目的输出改成类库,重新生产项目,并部署到smobilerservce上去。
Ps:部署方法参考https://www.smobiler.com/service/serviceHelpDoc.html?isExpand=yes#cloud
若是手机app打开出现“未配置业务地址xxx.xxx.xxx” 点击【许可证】-【同步】
在云平台上打包应用
点击应用打包
选择【Android】,并添加内网推送插件
1883是SmobilerService默认的推送端口
192.168.9.113 是服务端的ip
Ps:默认推送端口可以在SmobilerService 中修改
打包完成后,下载apk安装到手机上
效果演示
- 通过SmobilerService推送
点击【推送】,输入推送消息后,点击【选择设备并推送】
手机端显示
- 通过代码推送
点击app里的推送按钮,效果如图