SmobilerService 是一款功能强大的服务端托管提供程序。
在帮助您承载 Smobiler 应用服务端的同时,还额外提供 “推送服务”、“黑白名单管理”、“运营分析” 等其他常用的增值服务。
功能 |
社区版 |
标准版 |
专业版 |
企业版 |
简介 |
备注 |
---|---|---|---|---|---|---|
服务运行 | √ | √ | √ | √ | 应用服务端将以 Windows 服务的方式运行 | / |
应用管理 | √ | √ | √ | √ | 应用托管,设置启动页等基础选项 | / |
日志管理 | √ | √ | √ | √ | 记录并查询应用的运行、异常日志 | / |
推送服务 | * | * | √ | √ | 向设备进行消息推送,内网与外网均可送达 | 社区版与标准版限制推送设备的总数量,社区版为3台,标准版为100台 |
应用监护 | √ | √ | √ | 时时守护进程,发现程序异常退出,立即自动重启 | / | |
安全管理 | √ | √ | 黑白名单策略,有效控制客户端设备连接 | / | ||
客户端管理 | √ | √ | 查看当前已连接设备,并踢出指定的设备 | / | ||
运营分析 | √ | √ | 新增、活跃用户统计,应用启动总量统计 | / | ||
小程序+浏览器版本 | * | √ | √ | √ | 社区版中,小程序+浏览器版本会有版权信息;标准版、专业版和企业版中则无版权信息 | / |
升级更新 | 免费升级 | 享受一年免费升级支持 | 享受一年免费升级支持 | 享受一年免费升级支持 | 激活后有效期均为永久使用,后续升级更新的支持周期为购买后一年内免费 | / |
收费策略 | 免费/永久授权 | ¥999.0/应用/永久授权 | ¥4999.0/应用/永久授权 | 电话咨询 | / | / |
1.不限制客户端最大连接数量
相较于传统的使用 Winform 窗体启动服务端的方式,SmobilerService 采用全新的方式帮助你管理应用。它采用 Windows 服务的方式运行,能够在出现错误时自动进行 3 次重启尝试来恢复服务,并提供远程管理界面 http://localhost:15486 从浏览器中,在任何地点,都让你能够远程管理你的应用,而无需连接远程桌面。
我们鼓励你使用 SmobilerService 托管应用(其社区版是永久免费的),以带来更好的稳定性、更便捷的管理效能,以及提前为后续更多精彩丰富的基于 SmobilerService 带来的 Smobiler 应用功能拓展早做准备。
在 6.0 中, SmobilerService 即使只使用永久免费的社区版,就已不会受到任何设备连接数量的限制。
2.更加便捷的应用添加和激活:
我们完全改进了 SmobilerService 的应用激活机制,现在只需输入云平台账号密码,即可查询此账号下所有激活了 SmobilerService 产品的应用,并直接添加、运行。传统采用 Key 生成激活的方式,因为激活过程太过复杂,提升了操作门槛,因而现在已被我们决定废弃。(但我们仍保留了旧版本的 ServiceKey 生成入口,以为不便立即升级的用户继续提供有效的产品支持)。
3.更多强大的赋能插件:
SmobilerService 6.0 启用了插件支持。你将能够在激活各个版本的 Service 后使用这些功能丰富的插件和扩展。我们也为永久免费的社区版添加了常用的几个扩展插件来增强功能,更多详细的各版本插件介绍,请查看 SmobilerService 官方首页。
使用你的云平台账户登陆 Smobiler 云平台,点击任意你期望托管在 SmobilerService 上的应用,进入此应用的应用管理页。在页面中部位置,即可开始准备使用 SmoiblerService 服务。
激活社区版
社区版完全免费,点击应用界面下方的“免费激活并下载”即可永久免费获得。 社区版供初级开发者、Smobiler 开源项目参与者和个人使用,同时可继续获得后续的所有更新和 Bug 修复。
现在,您已经拥有了社区版的 Service 使用权限。
标准版、专业版、企业版提供更多更强大的功能,您可从 Smobiler 官方商城购买它们的激活码。
有效期说明:
Servicec 激活后永久可用,但享有的免费升级支持的有效周期为 1 年。
免费升级支持指的是在一年的年限内,您可持续使用所有在一年内新发布的插件,及已有插件的新版本更新。超过一年有效期后,已经拥有的插件和版本会继续保持永久可用,但新的功能和一年有效期之外发布的插件及旧插件的新版本则不可用。稍后我们会支持以适当的价格续费以延长有效期,在续费后,新的插件版本和功能会恢复使用。过期后则规则同上,已有插件和插件版本保持可用,但新插件及就插件的新版本需续费延长升级支持有效期。
激活码购买流程
1.点击希望购买的 SmobilerService 版本下的“购买”按钮跳转至 Smobiler 商城相应的购买界面。将产品加入购物车后付款结算,则您能够立即在邮箱中收到来自 Smobiler 授权系统发送的邮件,其中包含的激活码,即可用于您的 SmobilerService 产品激活。
2.进入您希望使用 SmobilerService 托管的应用,点击“立即激活使用”按钮跳转到激活页面。输入您购买的产品激活码并点击查询,如果激活码正确,此时应当显示激活码可供激活的版本,以及激活按钮。点击激活,完成您的 SmobilerService 产品激活,以获得产品的永久使用资格。
3.激活成功后您会跳转回应用管理界面。此时,SmobilerService 服务已可用。
1.通过默认账户 admin, 密码 admin 登陆 SmobilerService 服务。
2.通过点击主页右上方的“新增”按钮,跳转到查询云平台应用的界面。
3.在查询界面右上角输入你的 Smobiler 云平台账号与密码,点击查询,即可返回所有当前账户下激活了 Service 产品服务的应用,及其激活的 Service 版本。注意:在不输入应用编号的情况下,直接点击查询,即可返回所有激活了 Service 产品的应用。
4.点击你希望创建的托管应用列表右侧红色的“添加”按钮,即会弹出确认框。
其中涉及的相关选项的用途与值限制如下表所述:
选项名称 | 说明 | 备注 |
---|---|---|
应用编号 | 云平台应用编号。 | 无。 |
应用名称 | 云平台应用名称。 | 无。 |
文件夹路径 | 您的应用服务端程序 dll 文件输出时选择的路径 | 您必须将 Smobiler 应用服务端的生成选项修改为类库,才可使用 SmobilerService 托管。方法请见下文。 |
32 位 | 应用程序是否是 32 位程序。 | 默认为 64 位,运行出错请尝试调整为 32 位。 |
开机自动运行 | 该应用是否在计算机重启后自动恢复运行。 | 无。 |
如何将应用服务端的生成选项修改为类库:
请右击您的 Smobiler 服务端项目,选择属性,然后如图进行简单调整,将项目的输出类型设置为类库,然后保存,重新生成项目即可获取到数个 dll 文件,这些文件就是能被 Service 识别并启动的 SmobilerApp 类库文件:
注意:
生成供 Service 托管的应用 .dll 文件需要您下载并更新至最新的 SmobilerDegisn 版本 并重启 Visual Studio 后再执行生成。否则,使用旧版本 SmobilerDesign 生成的 .dll 文件在被 Service 托管启动时会因 “未知的原因” 而中止,且当前暂无明显的错误提示指出错误原因是 “SmobilerDesign” 版本不支持 SmobilerService,排查错误原因时较为困难。
另外,当您完成了后续的购买步骤成功创建了应用后,请记得将 SmobilerService 应用设置下的入口程序集、起始界面设定为适合您上述应用的值,托管应用才会开始正常运行(下图为托管 Smobiler示例程序 时设定的值示例):
特别提示:
微信小程序 + Web 版本设置
SmobilerService 托管的应用程序可以通过浏览器或微信小程序访问。
访问网页时用到的 url 即为云平台指定应用下,“应用设置” 中所给定的服务器 IP 地址 + HTTP 端口号。
例如在上图中,我们为名为 test97 的应用设置了服务器 IP 地址 localhost,HTTP 端口号 2324,则使用 http://localhost:2324
即可访问 Web 版本启动页面。
注意:
如果一切配置顺利,输入 url 浏览器将立即显示应用界面。
如果出现问题,则可能会出现以下提示:
如果出现上图 “业务地址不匹配” 的提示,请确认:
排除以上错误即可解决问题。
微信小程序支持:
在完成以上设置后应用已可通过网页访问,同时也能够被配置到微信小程序中。有关于微信小程序的使用,请查阅 微信小程序配置教程 。
应用设置
应用设置分为基础设置与监护设置。
基础设置可对 Smobiler 服务端的相关配置进行设定,例如你的应用服务端将占用的 HTTP 端口与 TCP端口等。
监护设置可对 SmobilerService 守护应用正常运行的进程进行配置,例如重连操作次数的上限、监控处理的超时时间等。
客户端管理
踢除设备:
您可通过客户端管理功能查看当前连接到服务器的设备编号,并可通过点击指定设备编号后的“Kill”按钮对客户端进行踢除操作。被踢除的设备将会立即与服务端断开连接,不再显示界面并展示连接中断的提示信息。
安全管理
用户可以通过安全管理控制可以访问应用的用户群体,或者限制指定用户禁止访问应用。
通过选择安全模式并点击保存按钮,即可开始添加设备。其中,设备编号可在 SmobilerService 客户端管理中进行查询。
黑名单模式:
黑名单模式将允许所有用户访问应用,而排除已在名单中的设备。
白名单模式:
白名单模式将禁止所有用户访问应用,而仅向已在名单中的设备开放。
推送服务
通过推送服务,您可快速将信息推送至指定的设备,或推送给安装有此应用的所有设备。
点击应用管理界面中的“推送服务”按钮,即可显示推送操作界面。在 Service 1.1 时,推送服务在设定合理限制的情况下,被下降到社区版、标准版中。而由于限制不一,不同版本的 Service 在打开此功能时,界面也会有所差别。Service 6.0 也保留了这些设计。
专业版、企业版的界面如下所示:
社区版、标准版的界面如下所示:
由于推送服务程序已内置在 SmobilerService 服务引擎中,因而无论其设备通过公网 IP 还是局域网 IP 与您的服务器进行连接,推送消息均可准确送达,而不依赖其他第三方服务。
当 APP 收到推送时,通知会以下图方式显示。
你也可以通过代码推送:
用户界面手动操作起来虽然友好,但通常都是低效的。作为开发者,使用代码推送让一切变的自动化并且更加高效也许是更好的选择。推送功能支持调用 smobiler.service.push 库直接进行代码级的推送调用。
例如可以将推送写在SmobilerForm中。
1.添加 Smobiler.Service.Push.dll 的库引用。此库位于安装目录 server 文件夹下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Smobiler.Core;
using Smobiler.Core.Controls;
using Smobiler.Service.Push;
namespace TestDemo
{
partial class SmobilerForm1 : Smobiler.Core.Controls.MobileForm
{
public SmobilerForm1() : base()
{
InitializeComponent();
}
private void loginBtn_Press(object sender, EventArgs e)
{
//创建推送服务的操作对象。5833 为应用在云平台的唯一编号
PushClient pushClient = new PushClient("5833");
//推送消息,用户点击应用内推送的确认按钮后,服务端将收到 Confirmed 事件响应。440000000048726 为设备编号 this.client.DeviceID
pushClient.Push("标题", "这里是通知消息的内容。", new string[] { "440000000048726" });
//推送消息,并在推送成功时触发 ClientCallBack 事件。
//ClientCallBack 事件由消息队列服务主动回传数据触发,回传数据 PushClientCallBackEventArgs.Param 中包含推送消息的标题、内容、消息队列的 topic 等详细信息。 440000000048726 为设备编号 this.client.DeviceID
pushClient.PushClientCallBack("标题", "这里是通知消息的内容。", "这里是 PushClient_ClientCallBack 事件回传的参数 Param。", new string[] { "440000000048726" });
//调用 pushClient.Push 时处理客户端确认事件
pushClient.Confirmed += PushClient_Confirmed;
//调用 pushClient.PushClientCallBack 时处理消息推送服务回传的数据
pushClient.ClientCallBack += PushClient_ClientCallBack;
}
/// 调用 pushClient.Push 时处理客户端确认事件
private void PushClient_Confirmed(object sender, PushConfirmEventArgs e)
{
Console.WriteLine(e.DeviceID);
Console.WriteLine(e.MessageID);
}
/// 调用 pushClient.PushClientCallBack 时处理消息推送服务主动回传的数据。e.Param 包含推送消息的标题、内容、消息队列的 topic 等详细信息
private void PushClient_ClientCallBack(object sender, PushClientCallBackEventArgs e)
{
Console.WriteLine(e.DeviceID);
Console.WriteLine(e.MessageID);
Console.WriteLine(e.Param);
}
}
}
其中构造函数填入的 "YourAppId" 是应用在云平台的数字编号。
Push 服务会根据该应用名称来查询对应激活的 Service 版本,以此来判断你是否确实具有调用这些功能的权限。
3.推送服务也包含更多的方法,可按需选择。如下图所示:
不论使用何种推送,记得打包 “smo_push” 插件:
并配置推送服务的地址选项为 “服务器地址:推送端口号”:
日志
您可通过日志功能查看 Smobiler 生成的运行日志,便于您在程序出现异常时进行问题排查。
进程日志:托管当前服务的进程所产生的日志。
应用日志:您的应用服务端产生的日志。
应用Sys日志:您的应用服务端产生的详细系统日志。需要在 SmobilerService 应用设置功能中,启动“记录系统日志”功能。
客户端日志:您的移动端 APP 在连接服务端进行操作时所产生的日志。需要在 SmobilerService 应用设置功能中,启动“记录客户端操作日志”功能。
特别提示:
当日志内容过长时,一次性返回会导致性能问题。由于 SmobilerService 暂不支持分页和搜索功能,为避免这种情况的发生,目前在执行查询操作发现文件内容过长时,会直接向您返回文件,以便在您的计算机上使用适当的工具进行关键词搜索与查找。
ServiceKey 与应用设置同步
此功能用于向您显示当前应用在 SmobilerService 上托管的授权信息。
您可通过点击橙色的“同步”按钮便捷的在您修改云平台相关配置,例如激活了购买的版本、修改了业务服务器地址等操作后,迅速获取最新版本的 Service 应用状态和数据。
需要注意的是,有效日期到期后,您仍可正常使用已有的所有 Service 功能。此处描述的有效日期仅仅是 Service 免费升级支持周期的日期区间,我们会在后续的新版本中完善这些描述文字。
运营分析
SmobilerService 集成了云平台中的运营分析功能,并在数据易读性和功能易用性上再次做出大幅改进,您现在能够更加轻而易举的掌握您的应用运营动向。
统计概览:
此页面显示三个有关您应用的重要统计。
用户数量:统计当前已连接过的设备总数,以及昨日新增的设备总数。
活跃用户(昨日):统计昨日启动过应用的设备总数,以及相较于前日,昨日新增的活跃用户数量。
启动次数:统计应用累计的启动总数,以及昨日新增的启动数量。
以上三个统计项点击详情按钮可下方视图中显示精确到每小时的数据。
用户新增历史、用户活跃历史、应用启动历史:
顾名思义,他们对上述内容的历史数据提供查询服务。
支持快速查询:7天 / 14天 / 30天
也可按照自定义区间查询:由您决定查询的历史区间。
额外需要您留意的是:
考虑到 SmobilerService 运营统计所需分析的数据量远不及 Smobiler 云平台的海量启动数据,因而我们采用的是实时统计策略而非定时任务。因而如果您的用户群体极其庞大,启动此页面可能会存在 1~2 秒左右的延迟,同时历史查询的自定义区间选择越长,相应的也能够导致统计时间增加,但应当均在数秒以内完成,请耐心等待。
Service6.0 已采用更为便捷的联网激活方式,来降低应用的激活操作门槛。
如果您使用的是旧版本的 Service ,则仍需要手动激活。在界面上,你仍旧能够看到我们为旧版本 Service 保留的 Key 生成入口: