SmobilerService 推送实现
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里的推送按钮,效果如图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
2021-08-03 SWEBUI--.NET 快速WEB 开发工具