首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

uni-app 如何实现消息推送功能?

在没有UniPush以前,如果只使用三方push,会在很多国产手机上因为节电设置而无法保活push进程,导致无法推送。...技术架构 名词解释 名词 解释 通知消息 指定通知标题和内容后,由个推SDK自动处理在系统通知栏中展示通知栏消息,同时响铃或震动提醒用户(响铃和震动受手机系统的设置状态影响)。...已通过实名认证的用户,会直接将实名认证信息同步给个推。...如下图所示: 未提交实名认证信息的用户,需要在页面中输入相关信息后提交,如下图所示: 应用开通UniPush功能时,需要提交应用相关信息,如下图所示: 注意:UniPush在申请开通时,需要确保输入的...Android平台: Android包名必须与HBuilderX中App云端打包时配置的Android包名一致;Android应用签名必须填入打包时使用证书的SHA1指纹。

5.9K22

【Android 进程保活】应用进程拉活 ( 双进程守护保活 )

文章目录 一、 双进程守护保活原理 二、 双进程守护保活完整源码 1、AIDL 接口 2、本地前台服务 Service 3、远程前台服务 Service 4、清单配置 5、启动两个服务 5、执行效果...广播拉活 , 系统 Service 机制拉活 , 账户同步拉活 , JobScheduler 机制拉活 , 成功率都要高 , 可靠性比较高 , 但是也存在失败的情况 ; JobScheduler 原理 : 在应用中..." LocalForegroundService 在 onCreate 方法中开启前台服务 , 提权 , 参考 【Android 进程保活】提升进程优先级 ( 使用前台 Service 提高应用进程优先级..." LocalForegroundService , 在 onBind 方法中返回 onCreate 方法中创建的 Binder 对象 ; @Override public IBinder...// 设置 ID 为 0 , 就不显示已通知了 , 但是 oom_adj 值会变成后台进程 11 // 设置 ID 为 1 , 会在通知栏显示该前台服务

3.5K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    vivo手机上的系统级消息推送平台的架构设计实践

    3、为什么需要消息推送消息推送对于移动端APP来说,是很常见的业务特征,比如新闻APP中的最新资讯、社交应用中的系统通知、IM即时通讯应用的离线聊天消息等等。...当快递员将快递放到快递柜中,快递后台就会自动推送一条消息,通知你有快递。我相信,如果你是一位运营人员,你也会喜欢这种自动下发消息高效的方式。...其实不会:初步看可能会觉得它们作为中心存储,但因为我们采用分布式缓存,将中心存储的数据,根据一定的策略缓存到各个业务节点,充分利用服务器资源,提升系统性能、吞吐量。...当然不会,我们会将这些消息存储到本地缓存、并且打散存储到Redis,之所以需要打散存储主要是为了避免后续出现存储热点问题。14.5 熔断降级推送平台,一些突发事件、热点新闻会给系统带来较大的突发流量。...[4] Android版微信后台保活实战分享(进程保活篇)[5] 实现Android版微信的智能心跳机制[6] Android P正式版即将到来:后台应用保活、消息推送的真正噩梦[7] 融云安卓端IM产品的网络链路保活技术实践

    1.4K20

    融云技术分享:融云安卓端IM产品的网络链路保活技术实践

    最后,安卓从 6.0 版本引入了 Doze 模式,并提供了新的闹钟设置方法 setExactAndAllowWhileIdle() ,通过该方法设置的闹钟时间,系统会智能调度,将各个应用设置的事务统一在一次唤醒中处理...推荐在安卓 6.0 以上系统中,优先使用该方法。...这方面更详细的技术文章,请见: 《应用保活终极总结(一):Android6.0以下的双进程守护保活实践》 《应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)》 《应用保活终极总结..., 则继续尝试连接下一个直到成功连接,将成功连接的地址保存到本地,作为最优地址,后面连接时优先使用此地址。...1.2)双服务守护: A 服务以 startForeground() 形式启动,发送一个通知, B 服务同样以 startForeground() 形式启动,且发送和 A 相同 ID 的通知,然后在

    3K40

    京东京麦商家开放平台的消息推送架构演进之路

    正是这种broker分发模式的存在,咚咚离线消息、ISV消息订阅等项目实现了快速接入,并提供服务; 4)在MC系统搭建的过程中,全链路消息追踪、消息统计也得到了实现(在第五节消息监控会详细讲解)。...针对Android系统无法很好的进行离线通知的推送的问题(俗称Android网络、进程保活黑科技这些东西,详见:《应用保活终极总结(一):Android6.0以下的双进程守护保活实践》、《应用保活终极总结...从上图可以看到系统中的处理方式是,分别订阅JMQ的同一个topic实现将消息日志分别存储在ES和HBase,存ES保证了我可以在消息管理后台对所有消息进行清晰透明化的追踪查询,存HBase是为了可以将数据长久的保存并且进一步的分析...《如何选择即时通讯应用的数据传输格式》 《强列建议将Protobuf作为你的即时通讯应用数据传输格式》 《全方位评测:Protobuf性能到底有没有比JSON快5倍?》...: 《应用保活终极总结(一):Android6.0以下的双进程守护保活实践》 《应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)》 《应用保活终极总结(三):Android6.0

    2.1K10

    Android应用保活全攻略:30个实用技巧助你突破后台限制

    在Android系统中,保活(保持应用进程一直存活)就是为了让应用在后台持续运行,来实现某些特定的功能,如实时消息推送、定位服务等。...前台服务(Foreground Service) 将应用的Service设置为前台服务,这样系统会认为这个服务是用户关心的,不容易被杀死。前台服务需要显示一个通知,告知用户当前服务正在运行。...当发送一个sticky广播时,系统会将该广播存储在内存中,这样即使应用被杀死,也可以在重新启动时收到广播。...需要注意的是,为了使用NotificationListenerService,用户需要在设置中授权应用访问通知权限。 最后,你真的需要保活吗?...保活策略可能会导致系统资源消耗增加、用户体验下降,甚至引发系统限制或用户卸载应用。因此,在实际开发中,应根据功能需求和用户体验来权衡保活策略,尽量遵循系统的规范和限制。

    1.7K21

    个推解读Android13,发布《Android13适配指南》

    开发者需要在AndroidManifest.xml中声明POST_NOTIFICATIONS权限,还需要在使用通知栏推送功能时在代码中申请运行时权限:android:maxSdkVersion="32" />复制三、更细分的媒体权限除了通知权限和WiFi权限的更新外,Android13对本地数据访问权限也做了进一步细化。...三、通知权限Android9引入了应用待机存储分区功能,根据应用的使用时间和频率,将应用动态分配到五个不同优先级的存储分区,然后对不同存储分区的应用施加不同级别的应用资源限制。...如下,存储分区按照优先级从高到低排序,优先级越低对该分区内的App限制越多:活跃:应用目前正在使用中,或者最近刚刚使用过。工作集:应用会定期使用。常用:应用会经常使用,但不会每天使用。...首先,Android13新增了以下规则,符合相应规则的应用将进入到“受限”存储分区(设备处于关闭状态的时间不会计入互动限制):用户已经8天没有与应用互动。应用在1天内调用过多的广播或者绑定服务。

    2.5K10

    跟着源码学IM(十一):一套基于Netty的分布式高可用IM详细设计与实现(有源码)

    如果是push消息过来(不是主动拉取),那么会先将消息存储到本地的消息队列中,等待客户端上一次拉取数据完毕,然后将数据进行合并即可。...15、网关设计15.1概述本套IM系统在设计时,将网关分为了接入层网关和应用层网关两种。接入层网关和应用层网关区别主要是:1)接入层网关需要有接收通知包或者下行接收数据的端口,并且需要另外开启线程池。...《一文读懂即时通讯应用中的网络心跳包机制:作用、原理、实现思路等》《微信团队原创分享:Android版微信后台保活实战分享(进程保活篇)》《微信团队原创分享:Android版微信后台保活实战分享(网络保活篇...本地TCP写操作成功,但数据可能还在本地写缓冲区中、网络链路设备中、对端读缓冲区中,并不代表对端应用读取到了数据。...[21] 一文读懂即时通讯应用中的网络心跳包机制:作用、原理、实现思路等[22] 微信团队原创分享:Android版微信后台保活实战分享(网络保活篇)[23] 融云技术分享:融云安卓端IM产品的网络链路保活技术实践

    1.2K40

    Android实现进程保活方案解析

    Android 6.0 引入了待机模式(doze),一旦用户拔下设备的电源插头,并在屏幕关闭后的一段时间内使其保持不活动状态,设备会进入低电耗模式,在该模式下设备会尝试让系统保持休眠状态。...Android 8.0 进一步加强了应用后台执行限制:一旦应用进入已缓存状态时,如果没有活动的组件,系统将解除应用具有的所有唤醒锁。...白色保活 用startForeground()启动前台服务,这是官方提供的后台保活方式,不足的就是通知栏会常驻一条通知,像360的状态栏。...灰色保活 开启前台Service,开启另一个Service将通知栏移除,其oom_adj值还是没变的,这样用户就察觉不到app在后台保活。...黑色保活 1 像素activity保活方案,监听息屏事件,在息屏时启动个一像素的activity,提升自身优先级; Service中循环播放一段无声音频,伪装音乐app,播放音乐中的app优先级还是蛮高的

    9.3K30

    应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)

    1、前言 在Android 4.4及以后的系统中,应用能否常驻内存,一直以来都是相当头疼的事情,尤其移动端IM、消息推送这类应用,为了保证“全时在线”的概念,真是费尽了心思。...其他如三星C9(Android 6.0)保活较好,特别是当一键清理时,"咕咚会自动启动,估计是使用了进程守护策略,而三星使用的是原生系统,因此结果你懂得;360F4(Android 6.0)保活很差,不愧是流氓中的战斗机...分析: 当"乐动力"处于停止状态时,黑屏状态下,其在短时间内被系统杀死,说明保活机制没有启用; 但当处于运动暂停或进行状态时,"乐动力"在一段时间内没有被杀死,且当锁屏时,"乐动力"会自动将运动界面切换到前台...都包含一个Window对象,在Android中Window对象通常由PhoneWindow来实现,PhoneWindow将一个DecorView设置为整个应用窗口的根View,它作为窗口界面的顶层视图,...则不需要创建,只需要把此activity加入到栈顶,并把该activity以上的activity实例全部pop; - singleInstance模式:将创建的activity实例放入单独的栈中,该栈只能存储这个实例

    4.2K21

    Android 13运行时权限变更一览

    细化的媒体权限 Google在Android 13上对本地数据访问权限做了更进一步的细化。 只能说Google为了保护用户隐私已经不遗余力了,而且今天的这步棋其实已经提前布局了很久了。...运行效果如下图所示: 比较奇怪的是,这里我在代码中只申请了读取照片的权限,但是截图上却显示我们正在申请读取照片和视频的权限。并且我在本地进行了验证,这两个权限确实是会一同授予的。...在代码中申请权限时也应该做出同样的逻辑处理才行,这里就不再贴出了。 通知运行时权限 通知运行时权限可以说是Android 13的重磅功能之一。...这么多年过去了,Google终于将通知纳入了运行时权限管理。 其实我对通知是比较无感的,主要是因为Google太喜欢在通知上面做文章了。...通知栏真是一个让人又爱又恨的东西,这句话我相信不需要多做解释,用Android手机的人应该都懂。 在之前的Android系统中,任何一个应用想要发出通知的话都是不需要经过用户同意的,想发就能发。

    4K30

    Flutter 3.7 新特性:介绍后台isolate通道

    因此,我们需要确保在框架中优化,并为开发者提供工具使其在必要时做更少的事。 下面是后台 isolate 一个人为的用例: 试想,一个应用程序可通过人工智能根据文本提示生成高分辨率图像。...用户之前创作都被存储在 Firebase Cloud 中,需求是用户可以用手机随时分享创作。...该 Flutter 应用启动时会开启一个后台 isolate 从 Firebase Cloud Store 下载 8K 文本提示相关图片,将图像压缩至指定规格大小导出,保存到相册,最后导出完成并发送通知...在此示例中,后台 isolate 至少使用了 3 个插件,一个用于从 Firebase Cloud Storage 中请求数据;接着保存到手机相册,保存完毕发送本地通知告诉用户。...文档中也包含了相左的沟通建议,但尚未付诸实施或接受。 感谢 Flutter 社区的支持,我希望你们都能找到这个新特性更惊艳的用途。

    4.2K40

    Android 13 适配指南

    ,这类似于用户在系统设置中手动关闭应用的所有通知后发生的行为。...在 Android 13 中,Google 将 Wi-Fi 扫描与位置相关内容分离, Android 13 为管理设备与周围 Wi-Fi 热点连接的应用添加 NEARBY_WIFI_DEVICES 运行时权限...这意味着任何留在全局剪贴板中的剪贴板内容,都可以在以后被应用程序读取,尽管 Android 的剪贴板访问有 toast 消息可能会提醒用户。...过去,JobScheduler 仅使用该信号让预提取作业有机会使用免费或多余的数据,在 Android 13 中系统现在会尝试确定应用下次启动的时间,并根据该估算值运行预提取作业,应用应尝试使用“预提取...电池资源利用率 Android 13 中引入了 电池资源利用率 功能,以便为系统提供多种方法来更好地管理设备电池续航时间: 更新了有关系统何时将你的应用放入“受限”应用待机模式存储分区的规则。

    5.2K31

    现代 WorkManager API 已发布

    再举另外一个例子,当您的应用完成与后端同步数据后,也许您希望同步过程中产生的本地日志文件被及时清理,或者是将来自后端的新数据填充到本地数据库中。...比如当您的应用提供在线编辑服务时,一定需要频繁将本地的编辑数据同步到云端,这就产生了定期执行的工作。 工作状态 由于您可以随时检查某个工作的状态,因此对于定期执行的工作而言,整个生命周期是透明的。...所以,即使用户切换到别的应用去使用,您的应用仍然可以继续实现为照片添加滤镜、保存到本地、上传等一系列工作。 对于大型应用的开发商来说,他们需要在优化资源使用方面投入更多的资源和精力。...当应用处于前台时,加急工作不存在任何配额限制,但是当应用转到后台运行时,就必须遵从这些限制。配额的大小取决于应用的待机存储分区和进程重要性 (如优先级)。...这个过程很重要,因为此时 WorkManager 会检查应用之前是否被强制停止过,它会比较 WorkManager 存储的信息与 JobScheduler 或 AlarmManager 中的信息,确保作业都被准确编入执行计划中

    1.3K20

    【Android 进程保活】应用进程拉活 ( 双进程守护 + JobScheduler 保活 | 成功率最高 | 推荐使用 )

    MainActivity 代码 5、运行效果 三、 源码资源 一、 双进程守护保活 + JobScheduler 原理 ---- 【Android 进程保活】应用进程拉活 ( JobScheduler...整合方法 : 在 JobService 的 onStartJob 方法中 , 判定 " 双进程守护保活 " 中的双进程是否挂了 , 如果这两个进程挂了 , 就重新将挂掉的进程重启 ; 判定 Service...+ JobScheduler 源码 ---- 大部分代码与 【Android 进程保活】应用进程拉活 ( 双进程守护保活 ) 博客中重复 , 这里只贴出 JobScheduler 相关源码 ; 1、JobService...-- 本地服务 , API 18 ~ 25 以上的设备, 关闭通知到专用服务 --> <service android:name=".LocalForegroundService...// 启动普通 Service , 但是在该 Service 的 onCreate 方法中执行了 startForeground // 变成了前台 Service 服务

    2.3K21

    Android系统服务DropBoxManagerService详解与实践应用

    ,添加获取文件等时机将文件列表初始化到内存中。...2.5.2 其它点文件存储不光限制大小,也会限制文件类型文件不是全部压缩的,超过一定大小的文件会进行压缩文件命名有讲究,包含了应用类型,崩溃信息,发生时间等相关信息文件获取是根据时间戳先后来获取的,对于时间戳异常的文件会进行时间上的调整...在使用中,部分文件命名应该加上包名,类似应用产生的崩溃文件,可以按包名区分文件,对使用更友好,当然这个设计的初衷是给系统统一使用,可能不对外开放。...,该配置控制上报情况下最小电量限制3.6 收集日志方案DropBox日志:先读取到本地,然后存储上报运行时日志:利用adb logcat命令输出日志到本地储存上内存快照:dump Hprof文件,然后进行一些裁剪...我认为主要有以下几点:编码技术的提升分析问题的思路解决方案的设计设计模式的应用本文抛砖引玉,借助以上案例简单地讲了一下DBMS源码以及源码阅读的应用,希望在源码阅读方面能够带给大家一些启发,同时对Android

    80730

    《基于实践,设计一个百万级别的高可用 & 高可靠的 IM 消息系统》

    项目背景 我们仔细观察就能发现,生活中的任何类型互联网服务都有 IM 系统的存在,比如: 基础性服务类-腾讯新闻(评论消息) 商务应用类-钉钉(审批工作流通知) 交流娱乐类-QQ/微信(私聊群聊 &讨论组...数据模型如下: 难点在于:如果第四步发生异常,群友会丢失消息,那么会导致有家人不知道“你脱单了”,造成催婚的严重后果。所以优化的方案是:不管群员是否在线,都要先存储消息。...拉取完成后,更新消息列表中最大的消息编号为新的本地的消息编号; (2)服务端在收到 ack 消息时,进行批量标记已读或者删除 好处:这种方式,在业务被称为推拉结合的方案,在分布式消息队列、配置中心、注册中心实现实时的数据同步...token”与长连接会话“Session”缓存到一个 ConcurrentHashMap,这样便能以 O(n)的效率检索到指定用户的长连接并发送通知包; 双工通信协议 客户端保活机制:客户端发送“ping...”包,服务端接受到,返回“pong”包,这是最基础的保活手段;(保活机制放在客户端,减轻服务端压力,同时节省服务端资源) 新消息通知协议:前后端约定使用固定的通知协议做为通知信号(eg,“msg.route.new

    1.9K42

    App和SDK开发必看 | 个推分享Android12适配指南

    Activity组件为用户提供可视化操作界面;服务组件在后台运行,支撑各类功能的实现;广播接收器顾名思义主要用于接受各种广播;内容提供器主要支持多个应用中存储和读取数据,相当于一个数据库。...这项功能可以让用户自行标记出一个应用列表,受标记的应用如果几个月未被使用,则系统会自动取消其权限、停止各种后台通知,将该应用置于休眠状态,以省电并移除其占有的应用空间。...如果测试或开发工作流程依赖于使用adb backup的应用数据,则可以选择在AndroidManifest文件中将android:debuggable设置为true来导出应用数据。...01 通知trampoline限制 当用户点击通知后,会启动一个组件来响应用户的点击操作, 一般最终会打开一个界面。这个界面组件就是通知trampoline。...因此,个推SDK产品使用的就是第一种方案进行Android12适配。 02 前台服务启动限制 除了一些特殊情况外,以 Android12 为目标平台的应用将无法在后台运行时启动前台服务。

    1.6K20

    Android进程与线程

    Davik 进程就是 Linux 操作系统中的一个进程,属于 Linux 进程。 每一个 Android 应用程序进程都有一个 Dalvik 虚拟机实例。...这样做的好处是 Android 应用程序进程之间不会相互影响,也就是说,一个 Android 应用程序进程的意外终止,不会影响到其他的应用程序进程的正常运行。...注:每个 Android 应用程序都会对应一个独立的 Dalvik 虚拟机 // Linux 进程: 有独立的内核堆栈和独立的存储空间,它是操作系统中资源分配和调度的最小单位。...在执行一个程序时,它会创建一个进程,来执行应用程序,并且伴随着资源的分配和释放。...:接入第三方SDK也会唤醒相应的app进程,如微信sdk会唤醒微信,支付宝sdk会唤醒支付宝。

    68620

    Android 5.0 API新增和改进

    如果您尚未针对新的 Android 运行时 (ART) 测试您的应用… 第 4.4 版引入了一个全新的实验性功能,即 Android 运行时 (ART)。...在第 4.4 版中,ART 是可选的,默认运行时仍为 Dalvik。对于 Android 5.0,默认运行时现在是 ART。 有关 ART 新功能的概述,请参阅 ART 简介。...不过,Dalvik 上运行的部分技术在 ART 上无法运行。要了解最重要的问题,请参阅在 Android 运行时 (ART) 上验证应用行为。...通知在锁定屏幕上的公开程度 在 Android 5.0 中,通知现在默认显示在用户的锁定屏幕上。用户可以选择不公开敏感信息,这样的话系统会自动修改通知显示文本。...浮点算法在中间计算期间尤其有用。播放端点为音频数据使用整数格式,并且具有较低的位深度。(在 Android 5.0 中,内部管线的某些部分尚未采用浮点格式。)

    1.7K20
    领券