如何实现消息推送功能

如何实现消息推送功能,第1张

消息推送(Push)就是通过服务器把内容主动发送到客户端的过程。运营人员通过自己的产品或第三方工具对用户移动设备进行主动消息推送。完成推送后,消息通知会展示在移动设备的锁定屏幕及通知栏上,用户点击通知即可去往相应页面。

现在流行的消息推送实现方式,主要为长链接方式实现。其原理是客户端主动和服务器建立TCP长链接,长链接建立之后,客户端定期向服务器发送心跳包用于保持链接,当有消息要发送的时候,服务器可以直接通过这个已经建立好的长链接,将消息发送到客户端。

个推作为国内移动推送领域的早期进入者,于2010年推出个推消息推送SDK产品,十余年来持续为移动开发者提供稳定、高效、智能的消息推送服务,成功服务了人民日报、新华社、CCTV、新浪微博等在内的数十万APP客户。个推消息推送,也是运用长链接的方式实现消息推送的,其长链接稳定性高、存活好,消息送达率高。开发者通过集成个推消息推送SDK,即可简单、快捷地实现Android和iOS平台的消息推送功能,有效提高产品活跃度、增加用户留存。

如果您对个推消息推送感兴趣,欢迎前往个推开发者中心免费注册体验。

个推的合作客户

这个最好不要通过数据库触发事件,建议在插入一条数据同时,再执行一条选择数据的语句。而且浏览器的刷新不建议间隔很短,毫秒级的刷新服务器压力较大,最好5s或这10s刷新,我想一般的监控需求都满足了,如果不能满足就改用客户端吧。

锁定解锁屏幕
driverlock(5)
将把当前应用放到后台 5 秒
driverbackground_app(5)
收起键盘
driverhide_keyboard()


启动 ACTIVITY
在当前应用中打开一个 activity 或者启动一个新应用并打开一个 activity 。 只能在 Android 上使用
driverstart_activity('comexampleandroidapis', 'Foo')
打开下拉通知栏 只能在 Android 上使用
driveropen_notifications()

检查应用是否已经安装
driveris_app_installed('comexampleandroidapis')
安装应用
driverinstall_app('path/to/myapk')
删除应用
driverremove_app('comexampleandroidapis')

摇晃 (SHAKE) 关闭应用
drivershake()
关闭应用
driverclose_app()

启动 (LAUNCH)
根据服务关键字 (desired capabilities) 启动会话 (session) 。请注意这必须在设定 autoLaunch=false 关键字时才能生效。这不是用于启动指定的 app/activities ————你可以使用 start_activity 做到这个效果————这是用来继续进行使用了 autoLaunch=false 关键字时的初始化 (Launch) 流程的
driverlaunch_app()

应用重置(相当于卸载重装应用)
driverreset()
列出所有的可用上下文 (CONTEXT)
context 可以理解为 可进入的窗口 。例如,对于原生应用,可用的 context 和默认 context 均为 NATIVE_APP
drivercontexts
列出当前上下文
drivercurrent_context

获取当前页面的源码(可以辅助元素定位)
driverpage_source
截图屏幕
driverget_screenshot_as_file(r'E:\img\img1png') # 截取整个屏幕

获取应用程序的字符串 (APP STRINGS)
driverapp_strings

给设备发送一个按键事件(KEY EVENT)(只限安卓)
driverkeyevent(176)

获取当前 activity。只能在 Android 上使用
drivercurrent_activity

模拟用户滑动(SWIPE)
driverswipe(start=75, starty=500, endx=75, endy=0, duration=800)

捏屏幕(PINCH) (双指往内移动来缩小屏幕)
driverpinch(element=el)

放大 (ZOOM)屏幕 (双指往外移动来放大屏幕)
driverzoom(element=el)

滑动 (SCROLL)到某个元素。从一个元素滚动到另一个元素
driverscroll(originalEl, destinationEl ) # originalEl - 要滚动的元素 destinationEl - 要滚动到的元素

设置元素的值
driverset_value(element=el,Val) # 设置 el 元素的值

推送文件到设备中去(PUSH FILE),推送文件需要转换为'base64'

获取/设置 appium 的服务器设置。

多个点点击(最多五个点)
drivertap([(100, 20), (100, 60), (100,100)], 500) # list 中的元组放 5 个点,500 表示按下 500ms

1、我们首先连接到linux服务器上,

2、我这里有很多的项目,就拿123这个文件夹做测试。

3、我要把这个文件夹压缩成1zip这个格式。

4、scp /1zip  root@192168015:/etc/squid。

/    当前的文件夹。

1zip 要上传的文件。

root   另一个服务器的用户名。

192168015 服务器ip(这个只是做测试用,真的服务器要修改真实的IP)。

/etc/squid   在服务器上要存放的目录。

5、做个真实的测试,输入服务器IP地址,回车以后提示输入密码。

6、输入密码以后你会看到传送的进度条。

7、登录到刚刚上传的那台服务器你会发上面有我们刚才上传的内容。

1、安装svn客户端TortoiseSVN。2、创建存放自己项目的文件夹,把本地创建好的vue项目代码提交到svn服务器上,不提交nodemodules。3、在本地要存放项目的地方右键svncheckout,填入上一步提交的路径,下载后用vscode打开此文件夹。4、在终端中执行命令npminstall,安装项目依赖。5、输入npmrundev运行项目。6、修改文件后直接在vscode左侧右键svnCommit就会显示需要提交的文件。
还没有纳入svn控制的文件才可以纳入忽略文件列表,已经被svn控制的文件是无法纳入到忽略文件列表的。若你的文件已经纳入svn控制,可以将导出另存到其他位置,然后将原工作区的文件夹删除,commit一下,再把刚才另存的文件夹复制回来,这样此文件夹就脱离svn控制啦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10689900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存