首页 > 编程知识 正文

安卓隐藏运行app进程,服务器主动发信息给客户端

时间:2023-05-04 14:10:08 阅读:53103 作者:3904

3359 cloud.Tencent.com/developer/article/1198269

3359 cloud.Tencent.com/developer/article/1155926

作为服务端的研发人员,要完成一系列系统,就需要了解一些客户端的知识点,比如推送。 严格来说,这个领域并不完全属于客户端。

带着问题学习,收获很多。

问题

推送的边界在哪里,现在我能想到的是两条路径。 第一个是通过第三方推送通道,向手机推送专门接收推送消息的模块。 此模块接收到消息后,会弹出通知栏。 这里有问题。 可以通过点击通知栏中的消息访问程序。 此外,如何启动进程终止的APP,另一条路径是通过服务器与APP建立长连接。 通过此长连接服务端向客户端发送消息,客户端收到消息后,将内容写入通知栏也有问题。 第一,你是否有权限写通知栏,第二,APP是如何生存的。 日常推送是否仅通过第三方渠道推送至客户端,不包括服务端通过TCP长连接推送至客户端。 这两种关系是什么概念? 推送类型:在线推送在用户在线(APP在前台)时收到的来自状态栏的消息称为在线推送。 该功能与手机系统无关,是他们自己的APP开发的功能,该推送与是否在设置中打开“通知”无关。

例如,如果前台有QQ、微信等IM接口,聊天消息和命令将通过IM自己的网络长度连接通道推送

当脱机/远程pushapp脱机(kill进程掉线、切换到后台、锁定屏幕)时,它会收到一条称为脱机推送的消息。 脱机推送必须通过苹果APNs服务器才能推送至某个设备所在的APP。 这是与本地推送的本质区别。 推送与是否在设置中打开“通知”有关。

普通脱机远程推送:收到推送后(有文字和声音),打开通知,进入APP后执行

静音推送:接收推送(无文字、无声音),无需点击通知或打开APP即可执行。 用户完全感觉不到。

静默推送也被称为后台远程通告。 静默推送是在IOS7之后推送的推送方式。 与其他推送的区别在于,可以通过运行APP应用程序、收到通知,然后在后台运行代码来从服务中检索内容更新。

本地推送本地推送功能和远程推送功能是相同的,需要提示用户做点什么。 但是,与远程推送不同,本地推送不需要连接到网络。 远程推送要求设备已连接到网络。 因为只有在连接到网络时,才能与苹果的APNs服务建立长时间的连接并推送消息。 本地推送是由APP自己设置并发送到安装了APP的此设备的,具有一对一的对应关系。 典型的是闹钟类型的场景。 此推送与是否在设置中打开通知有关

本地推送与服务端关系不大,所以先不学习。

在线推送过程在线推送过程

在线推送比较简单。 由于是内部安装,具体流程如下

判断APP是否在线:在这里可以通过APP自己的后台策略上次与后台交互的时间等方法来判断APP是在线还是离线。 在线时,可以考虑发送在线推送。 否则,将发送脱机推送。 在线推送具有以下特点:

不需要经由苹果APNs

需要自己实现长连接

代码在app内部实现离线(远程)推送过程

主要过程包括:

1 )服务器端先向苹果的APNs发送消息

2 )苹果的APNs向顾客的设备方推送消息

3 )将IOS系统接收到的消息传递给适当的App。

总之,离线推送是苹果系统的行为,可以直接推送至指定手机的指定APP,而与APP状态无关

离线推送名词描述apns : applepushnotificationservice (苹果推送通知服务)

APNs主要用于以下场合。 如果用户主动杀死APP,或者APP进入后台超过约定的时间,APP就会被击垮。 这样可以保证前台APP的顺畅性,延长手机使用时间,获得良好的用户体验。 但这意味着,由于服务器无法主动与用户交互,苹果推出了APP,允许设备和服务器分别与苹果推送。

IOS 8以后,APNs推送的字节为2k,IOS 8以前为256字节

从IOS 9开始,APNs支持HTTP/2协议栈,优化长连接,具有标准的HTTP返回和管道复用技术;

从IOS 10开始,推送的字节为4k,APNs可以根据推送消息的唯一标识符查询用户是否已经读取了消息,并可以更新推送消息而无需发送重复的多个消息

付款

什么是付款? 发送到APNs的推送消息分别包含payload。 通常是构成JSON的Dictionary。 其中少不了APNs的属性。 他的相应value也是Dictionary,包括但不限于标题、副标题、内容、附件和类别

{ ' apns ' : { ' alert ' : } ' title ' : ' this is my title ',' subtitle ' : ' this is my subtitle ',' body'3360}

decive token

apnsusesdevicetokenstoidentifyeachuniqueappanddevicecombination。 italsousesthemtoauthenticatetheroutingofremotenotificationssenttoadevice。 脱机推送详细流程

1 )推送APP应用注册消息

2 ) IOS和apns服务器进行设备令牌。 该APP接受设备令牌;

3 ) APP应用将设备令牌发送到推送服务端程序

4 )服务端程序向APNs发送消息

5 ) APNs服务向iphone APP发送消息

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。