有这样一种场景,当你在手机APP上输入你的信息,会自动跳出一个弹窗,表示某任务已执行。最简单的一个例子就是当你输入手机号,点击获取验证码的时候,就会跳出一个对话框,说“验证码已发送到手机,请注意查收”,这些都是如何实现的。

就以我参与开发的一款移动报表FineReport为例,讲解一下如何开发手动推送APP消息。

这个APP里有这样一个应用,它是可以实现在客户端填报录入数据,然后数据上传到数据库中的这样一个功能,也就是所谓的移动化办公,这在企业办公方面用得比较多。当数据录入系统成功后,会自动发送消息至APP提示数据已更新。

此功能的实现就是在数据录入成功的事件中添加js,使用ajax发送消息请求

FR.ajax({
url:'http://192.168.1.120:8033/WebReport/ReportServer?cmd=send_messages&op=fs_mobile_main',
type: 'POST', 
data: {user:'sunlin',text:'填报成功,模板A有数据更新',url:'http://192.168.1.120:8033/WebReport/ReportServer?reportlet=app.cpt&op=write',title:'app'},
success: function(msg){ 
alert( "提示" + msg ); 
} 
});

user:接收消息的人,可以是多个,多个用户之间用逗号分割,如“A,B” (必填)

text:消息内容 (选填)

url:打开地址(选填),在点击消息之后 进入app打开的地址

title: 打开地址的页面标题(选填)

举例

例子1、推送纯文本消息

在填报的模板,增加填报成功事件,示例代码如下:

FR.ajax({
url:'http://192.168.1.120:8033/WebReport/ReportServer?cmd=send_messages&op=fs_mobile_main',
type: 'POST', 
data: {user:'sunlin', text:'填报成功,模板A有数据更新'},
success: function(msg){ 
alert( "提示" + msg ); 
} 
});

移动端开发之APP消息推送_第1张图片
移动端开发之APP消息推送_第2张图片

例2、点击消息后,进入app,并且打开地址页面

在后台填报的模板,增加填报成功事件,示例代码如下:

FR.ajax({
url:'http://192.168.1.120:8033/WebReport/ReportServer?cmd=send_messages&op=fs_mobile_main',
type: 'POST', 
data: {user:'sunlin', text:'填报成功,模板A有数据更新',url:'http://192.168.1.120:8033/WebReport/ReportServer?reportlet=app.cpt&op=write',title:'app'},
success: function(msg){ 
alert( "提示" + msg ); 
} 
});

移动端开发之APP消息推送_第3张图片
移动端开发之APP消息推送_第4张图片