2

SmobilerService 推送实现

 2 years ago
source link: https://blog.51cto.com/u_14360220/5539334
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

SmobilerService 推送实现

原创

smobiler 2022-08-03 10:10:49 ©著作权

文章标签 推送 推送消息 app 文章分类 Android 移动开发 阅读数240

SmobilerService 推送实现

SmobilerService 社区版、专业版、标准版都支持推送服务,那怎么能实现呢?

SmobilerService 推送实现_app

安装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/​​ ,点击【创建】

SmobilerService 推送实现_推送消息_02

创建一个新应用

SmobilerService 推送实现_app_03
SmobilerService 推送实现_推送消息_04

在vs中创建服务端程序,并通过SmobilerService部署

前提:需要有 安装 VS以及SmobilerDesigner

1.       创建一个SmobilerApplicants项目

SmobilerService 推送实现_推送_05

2.       在SmobilerForm1中拖入两个button和两个label,布局如图

SmobilerService 推送实现_推送_06

并在SmobilerForm1中写入下方代码:

// 创建推送服务的操作对象。7933 为应用在云平台的唯一编号

PushClient pushClient = new PushClient("7933");

private void SmobilerForm1_Load(object

{
//调用 pushClient.Push 时处理客户端确认事件
pushClient.Confirmed +=
PushClient_Confirmed;
//调用 pushClient.PushClientCallBack
时处理消息推送服务回传的数据
pushClient.ClientCallBack +=
PushClient_ClientCallBack;

}

private void button1_Press(object

{

//推送消息,用户点击应用内推送的确认按钮后,服务端将收到 Confirmed 事件响应。 获取当前设备号
pushClient.Push("标题", "这里是通知消息的内容。", new string[] { this.Client.DeviceID });

}

/// 调用 pushClient.Push 时处理客户端确认事件

private void PushClient_Confirmed(object

{
Client.RenderFlush();
label1.Text = e.MessageID;


}

private void button2_Press(object

{
//推送消息,并在推送成功时触发
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

{
Client.RenderFlush();
label2.Text = "ID" + e.MessageID + " param:"

}

3.       将项目的输出改成类库,重新生产项目,并部署到smobilerservce上去。

SmobilerService 推送实现_app_07

Ps:部署方法参考​ ​https://www.smobiler.com/service/serviceHelpDoc.html?isExpand=yes#cloud​

若是手机app打开出现“未配置业务地址xxx.xxx.xxx” 点击【许可证】-【同步】

在云平台上打包应用

点击应用打包

SmobilerService 推送实现_推送_08

选择【Android】,并添加内网推送插件

SmobilerService 推送实现_app_09

1883是SmobilerService默认的推送端口

192.168.9.113 是服务端的ip

Ps:默认推送端口可以在SmobilerService 中修改

SmobilerService 推送实现_推送_10

打包完成后,下载apk安装到手机上

1.       通过SmobilerService推送

点击【推送】,输入推送消息后,点击【选择设备并推送】

SmobilerService 推送实现_app_11
SmobilerService 推送实现_推送_12

手机端显示

SmobilerService 推送实现_推送消息_13

2.       通过代码推送

点击app里的推送按钮,效果如图

SmobilerService 推送实现_推送_14
  • 打赏
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK