关于app:山东布谷科技讲解直播App源码开发指南

直播利用是当今挪动利用市场中备受欢送的利用之一,它容许用户实时观看、互动并分享各种内容,从游戏到日常生活。本文将为您提供一份简要的直播App源码开发指南,帮忙您开始构建您本人的直播利用。 一、明确需要在开始开发之前,您须要明确您的直播利用的需要。思考以下问题:1.您的利用是为哪个平台开发的?(iOS、Android、Web、多平台)2.您的利用是否须要用户身份验证和账户治理?3.您是否须要实时聊天性能以便观众与主播互动?4.您是否须要付费订阅或捐献性能?5.您是否须要推送告诉以告诉用户有新的直播?6.明确需要有助于制订适合的打算和决策。 二、抉择开发技术栈依据您的需要,抉择适合的开发技术栈。以下是一些常见的抉择:1.前端开发:应用React Native、Flutter或原生开发(Swift/Kotlin)等技术来构建用户界面。2.后端开发:抉择服务器端技术,如Node.js、Python Django、Ruby on Rails等,用于解决用户数据、实时聊天和直播流的治理。3.实时流媒体:抉择一个牢靠的实时流媒体服务,如Twitch、YouTube Live、Agora或自建流媒体服务器。4.数据库:抉择适宜您的利用的数据库,如MongoDB、PostgreSQL、Firebase等。 三、创立用户界面依据您的设计,开始创立利用的用户界面。确保用户可能轻松地浏览直播内容、查找主播和与其余观众互动。思考以下要点:1.首页:显示热门直播、举荐内容和实时告诉。2.直播间:展现主播视频、聊天性能、送礼物和点赞等互动元素。3.用户配置文件:容许用户编辑个人资料、查看已关注的主播和观众。4.实时告诉:推送告诉,揭示用户关注的主播开始直播。 四、实现直播性能实现直播性能是直播利用的外围局部。您须要集成实时流媒体服务,确保主播可能轻松地开始直播,观众可能顺畅观看。一些关键步骤包含:1.集成实时流媒体SDK,如Agora、WebRTC或其余抉择。2.实时视频编码和解码,以确保高质量的视频传输。3.实现主播和观众之间的实时互动,如聊天、点赞和送礼物。4.解决直播间的人数限度,以防止服务器负载问题。 五、用户身份验证和安全性确保用户身份验证和数据安全十分重要。您能够思考以下措施:1.应用OAuth或其余身份验证办法来爱护用户数据。2.施行权限管制,确保只有受权用户可能创立直播或进行互动。3.加密敏感数据,如用户明码和领取信息。4.定期审查和更新利用的安全性。 六、测试和优化在公布利用之前,进行全面的测试以确保其稳定性和性能。测试应包含:1.功能测试:确保所有性能按预期工作。2.平安测试:查找并修复潜在的安全漏洞。3.性能测试:查看利用的性能,包含加载速度和流畅性。4.兼容性测试:确保利用在不同设施和操作系统上都能失常工作。5.优化您的利用,以进步性能、缩小提早和升高资源耗费。 七、公布和推广一旦您的直播利用通过充沛测试并准备就绪,您能够公布它到利用商店。确保制订一个无效的营销策略,以吸引用户:1.制作利用演示视频和屏幕截图,以展现利用的性能。2.利用社交媒体、博客和新闻稿来宣传您的利用。3.提供特地促销和处分,以吸引用户下载和注册。4.收集用户反馈并继续改良利用。 论断开发一个直播App须要三思而行的打算和技术常识,但它也是一个具备后劲的畛域,能够吸引大量用户。遵循以上步骤,您将可能着手构建您本人的直播利用,并为用户提供一个令人兴奋的互动体验。祝您好运!

September 7, 2023 · 1 min · jiezi

关于app:APP流水线测试领域探索与最佳实践-京东物流技术团队

1 背景APP端UI自动化因其特殊性(需连贯测试机)个别都在本地执行,这种执行形式的局限性有以下弊病: 时效性低:研发每次打包后都须要告诉测试,测试再去打包平台取包,存在时间差研发自测或产品验收无奈应用自动化脚本:研发自测及产品验收时如果想用自动化脚本须要搭建相应的运行环境并筹备测试机,繁琐的步骤导致研发/产品放弃应用自动化。而手工验证的过程中常常须要测试帮助下单、改数据,效率低本地执行的后果没有长久化存储,不利于进行后果度量2 计划剖析为解决以上问题须要搭建流水线,CI/CD畛域罕用的流水线平台非Jenkins莫属,Jenkins功能强大、可二次开发,但执行APP自动化须要windows执行机、模拟器/真机,这些要求无疑减少了测试老本。与之相比,Bamboo平台是基于Jenkins开发的流水线平台,不仅继承了Jenkins的泛滥性能,且反对图形化配置,并对接了赛博平台等其余平台。 从下图比照中能够看出,复用现有的Bamboo平台老本更低,同时须要做以下扭转:一、自动化框架须要改为airtest框架;二、须要对测试报告进行解决以合乎预期。 []() 3 计划施行架构图: []() 流程图: []() 执行后果: []() 4 执行过程中遇到的问题及解决方案1.bamboo打debug包成,release包不胜利 解决:证书治理中上传 sign.properties 文件,该文件中去掉绝对路径信息,应用相对路径 2.赛博平台无奈输出汉字 解决:用poco().set_text()代替text()办法 3.跑脚本失败提醒 RuntimeError: unable to launch AndroidUiautomationPoco 解决:赛博的机器有ATX,会影响poco初始化。poco初始化前加代码: # 进行ATXtry:shell("am force-stop com.github.uiautomator")shell("/data/local/tmp/atx-agent server --stop")except Exception as e:print("兼容非赛博机器")5 待解决问题接入coding平台,只反对airtest框架 影响:须要对原框架进行改变,老本较高。与赛博平台负责产品沟通过,赛博平台前期会开发对接其余框架的性能。手动配置的数据比拟多:模块、用例、用例集 影响:除了测试脚本外还需独自配置模块、用例、用例集,人工成本较高。后需可思考coding平台代码合并后触发定时工作主动生成对应的模块、用例、用例集。无奈指定机型 影响:无奈指定机型进行兼容性测试,与赛博平台分则产品沟通过,暂未有打算批改此项。京管家未接入线上打包平台 影响:测试过程中须要本地保留apk包,占本地内存且容易混同;无奈进行版本治理,须要复现问题时不能及时提供历史版本;UED走查或产品验收时只能京ME分割研发取包,时效性差;无奈接入流水线。6 预期收益流水线不仅解决了环境配置及测试机有余的问题还有以下劣势: 学习成本低,操作简略,预计可节俭三分之二的工时执行后果能够做长久化存储,前期可与自动化度量平台相结合进行数据分析流水线中可退出Sunglasses原子,UI自动化测试过程中监控Flutter异样线上版本可做日常化监控,及时发现问题作者:京东物流 范文君 起源:京东云开发者社区 自猿其说Tech

July 6, 2023 · 1 min · jiezi

关于app:京东购物车分页方案探索和落地-京东云技术团队

随着京东购物车利用场景的丰富化和加车渠道的多元化,京东购物车的商品容量从2015年至今始终在逐渐减少。 2015年京东购物车由80件扩容到120件;2018年由120件扩容到150件;2020年由150件扩容到180件;2021年京东PLUS会员扩容到了220件。继续一直的扩容给咱们的后端服务带来了微小的负载压力,因为用户购物车中商品种类数量的减少对应到后端的计算资源也会线性减少,如何做到资源最大限度的节约又能保障业务和用户的体验不受影响,如何从技术和业务层面综合考量为逐渐扩容的购物车诉求做好底层的撑持,始终以来都是摆在咱们背后的一个痛点和挑战。 首先形容下京东购物车的个性: 用户在购物车操作完商品后会记录下用户以后的操作状态,比方勾选,反勾选,切换促销后的商品促销信息等,当用户再次进入购物车后会全量获取购物车中的所有商品,依据商品的勾选态,促销等实时计算商品的价格,展现给用户。每次刷新或者批改购物车商品都是全量数据下发。继续扩容势必会继续加大后端服务的压力,同时购物车页面的布局计算、渲染等操作不仅使用户期待页面刷新的工夫变长,而且还会占用大量的内存资源,导致手机卡顿。 京东购物车为了晋升用户体验,保留了勾选商品总额、优惠促销、运费等一系列整车维度的计算逻辑,最终导致目前无奈一步到位去实现购物车主商品的分页。期间也对行业内的支流电商类APP做了充沛的调研,大部分APP都没有做购物车分页且购物车容量下限也大都管制在120以下,做了分页的APP也在勾选态保留和全局优惠计算等方面做了一些简化和降级,所以咱们决定从另一个方向进行摸索和冲破,即商品从属信息分页,临时避开会影响到全局优惠计算和影响业务玩法、流量转化的主数据分页。 什么是商品根底信息和从属信息? 商品根底信息和商品从属信息的划分次要从上游接口层面进行辨别,商品根底信息即从购物车中台间接获取的商品信息,比方商品图片、商品名称、商品价格、商品类型等;基于根底信息,通过异步并行框架分批获取的商品的从属信息,比方优惠券、预估到手价、商品库存、流动标签、服务、秒杀、闪购等。 图1 商品信息示例 02 指标 了解,首先 MCube 会根据模板缓存状态判断是否须要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的构造,转换实现后将通过表达式引擎解析表达式并获得正确的值,通过事件解析引擎解析用户自定义事件并实现事件的绑定,实现解析赋值以及事件绑定后进行视图的渲染,最终将指标页面展现到屏幕 晋升用户体验,解决因为上游服务接口无奈撑持购物车超多商品并发拜访而导致的产品体验问题,在无损用户体验的状况下,保障用户在购物车滑动过程中无感知分页加载商品从属信息;缩减机器老本,缩小不必要的上游接口申请,升高后端服务器负载;03  技术计划 了解,首先 MCube 会根据模板缓存状态判断是否须要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的构造,转换实现后将通过表达式引擎解析表达式并获得正确的值,通过事件解析引擎解析用户自定义事件并实现事件的绑定,实现解析赋值以及事件绑定后进行视图的渲染,最终将指标页面展现到屏幕。从设计稿登程,晋升页面搭建效率,亟需解决的外围问题有: 1)商品从属信息分页加载价值剖析 依据购物车线上不同维度埋点数据分析结果显示,京东购物车中商品数量在20-220区间的申请次数占总申请次数一半以上,均匀一屏展现的商品数量不超过3个,购物车中商品浏览的均匀曝光深度6~7个,由此剖析大部分的上游接口调用都有很大节俭空间。通过前端线上模仿分页埋点剖析预估,商品从属信息分页调用的形式能够缩小30+%的上游异步接口调用,做到在无损用户体验的状况下,削减接口调用峰值,升高接口的性能压力和机器资源耗费。 2)商品从属信息分页加载 商品从属信息分页前后接口交互的差别在下图进行了清晰的标识,次要体现在页面刷新和页面滑动两个方面。 图2 异步请求分页计划 商品从属信息不分页加载计划: 客户端触发一次刷新操作须要从各个上游接口获取所有商品信息并组装整合后一次性下发给客户端进行展现,在页面滑动过程中不波及接口申请。上游接口的调用形式次要分以下3种: 单次获取全量商品某从属信息: 即客户端获取商品根底信息后仅调用一次上游接口,该上游接口一次性返回所有商品的某从属信息。这种形式接口调用频次较低且防止了局部商品从属信息缺失的体验问题,然而随着购物车中商品数量的减少,对于接口的响应时长等性能挑战也越大。单次获取局部商品某从属信息: 即客户端获取商品根底信息后仅调用一次该上游接口,但只会获取前几个商品的某从属信息,其余商品的该从属信息会缺失。这种形式缩小了上游接口的调用频次,然而就义了局部用户体验(通常是因为上游接口不反对频繁调用,且单次计算逻辑简单导致);分批次获取全量商品某从属信息: 即客户端获取商品根底信息后分批调用该上游接口,从而获取所有商品的某从属信息。这种形式防止了局部商品从属信息缺失的体验问题,然而上游接口的高频次调用给上游带来了较大的挑战,随着购物车中商品数量的减少,机器资源耗费也会随之减少。长处:对于客户端而言交互简略,只需关怀数据刷新/变更类操作(如下拉刷新购物车、勾选反选等),一次性获取购物车全副商品信息后整体刷新页面,无需剖析用户滑动行为,不须要解决商品数据的组装整合,逻辑简略轻量。 毛病:客户端每次触发数据刷新/变更类操作,除了从后端获取购物车全副商品根本信息外还须要通过异步并发框架分批申请全副商品的从属信息,间接导致购物车整体流量翻倍,减少机器资源老本。 商品从属信息分页加载计划: 客户端从后端获取商品根底信息后,对商品进行页码划分,而后同步并行申请第1页至屏幕浏览当前页的商品从属信息,组装整合后下发给客户端展现;其余页码的商品从属信息由客户端在列表滑动过程中逐页预加载,将返回的该页商品从属信息与商品根底信息组装整合后展现。下图对商品从属信息分页加载计划中购物车客户端以及各上游接口的整体交互流程进行了清晰的阐明,整体具体的步骤为: 调用查问接口时将主商品所在页码的pageSize传递给服务器,服务器将pageSize所在页的主商品的从属信息下发,客户端渲染将商品的所有从属信息封装为一个独立接口在主商品上进行打戳,标记预加载的申请机会。此处的打戳标识是依据埋点数据和用户跟踪获取到的预加载标记,既能保障独立的从属信息接口不会有大量有效的加载,同时可能保障从属信息接口的数据及时更新到页面上,确保用户体验长处:商品从属信息分页加载计划,将用户的刷新/变更操作和滑动操作进行行为差别细分。通过将各页商品的从属信息后置到滑动过程中获取,大幅缓解了单次刷新/变更操作中上游接口集中分批调用带来的流量性能压力,起到日常流量削峰的作用,同时节俭了未浏览商品的从属信息异步接口调用(30+%),节约了对应流量的机器资源老本。 毛病:对于客户端而言交互简单,不仅须要关注购物车商品的刷新/变更,同时须要在滑动过程中关注上一页/下一页/当前页商品从属信息是否残缺,针对从属信息缺失的商品适时进行预加载,并对购物车主数据进行组装整合解决。 图3 商品从属信息分页加载计划 04  技术难点与解决方案 了解,首先 MCube 会根据模板缓存状态判断是否须要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的构造,转换实现后将通过表达式引擎解析表达式并获得正确的值,通过事件解析引擎解析用户自定义事件并实现事件的绑定,实现解析赋值以及事件绑定后进行视图的渲染,最终将指标页面展现到屏幕。 1)购物车动静、多维分堆规定上移 目前购物车后端对主数据进行不同维度排序、归堆、分类展现。其中后端服务先对购物车主数据进行店铺归堆、促销归堆、工夫排序解决,客户端对购物车主数据又进行业务精细化筛选、归堆、排序解决(波及30天加车、提价、常买、跨店满减、分类等10+个业务场景)。客户端须要对商品筛选、归堆、排序逻辑进行对立收口解决,在此基础上对购物车主数据进行分页。 2 )分页策略选型 商品分页: 从商品维度进行分页,n个商品为一页。因为购物车层级构造比较复杂(店铺-促销-套装/组套-商品),从商品维度进行分页会导致店铺、促销、套装被拆分,影响到购物车中店铺、促销、套装业务逻辑完整性,不能满足购物车简单的层级构造和业务场景。 店铺分页: 从店铺维度进行分页,n个店铺为一页。因为单个店铺下的商品数量差别过大,从店铺维度进行分页会导致每一页的商品数量差别过大,而上游异步接口是从商品维度进行分批调用的,主数据分页和上游异步接口分批口径不统一,会导致通过分页缩小上游接口调用的成果大打折扣。 商品+店铺分页: 从商品维度进行分页,n个商品为一页,然而不拆分店铺,同一个店铺的商品归为同一页。这个分页策略完满地解决了上述两种分页形式带来的问题,既能够防止因为店铺、促销、套装拆分而影响到店铺、促销、套装维度从属信息业务场景,又能通过灵便调控页大小与上游接口分批调用的口径达成统一,进而联合用户浏览行为,将通过分页缩小上游接口调用价值最大化。 3 )预加载计划剖析 传统意义上的分页通常是对主数据进行分页,不存在数据不残缺的状况,仅须要在滑动过程中加载下一页数据。而这里的分页是在主数据残缺的状况下针对从属信息进行分页加载,可能会产生列表滑动过程中主数据展现不残缺的状况,同时因为购物车非凡业务场景(比方锚点业务、商品程序变动等)可能会导致当前页或前几页的商品从属信息不残缺,所以须要同时思考预加载上一页、下一页、当前页的交互场景。 如果不思考预加载的计划,滑动到当前页再加载当前页的商品从属信息,分页异步接口返回后会有信息重组整合后重刷页面的操作,从而呈现页面闪动的状况,影响用户体验。 然而如果将预加载机会太前置,尽管会解决大部分页面闪动的问题,但会在肯定水平上多申请上一页/下一页的异步接口,削减通过分页加载缩小上游接口调用的价值。 为了解决上述两个问题,这里设计了预加载机会配置化计划。服务端通过将上一页/下一页的预加载机会配置下发,在线上灵便配置调优,以达到兼顾用户体验和缩小上游异步接口调用的最佳均衡,从而将分页价值最大化。 4 )分页接口的高效调用 用户在页面上滑动时,有很多状况。当用户疾速滑动时,事实上对滑动过程中的内容是不关怀的,只关怀滚动完结处的内容,那么用户不关怀的内容能够不加载;当用户慢速滑动时,没有必要过早的提前预加载。针对不同的滑动场景,怎么能力在保障用户体验的前提下正当调用分页从属信息接口? 首先,咱们依据用户滑动速度有抉择的加载分页从属信息接口,当用户滑动过快时不进行接口申请和渲染。其次,当用户滑动较慢时抉择较小的预加载阈值。 5)分页接口的脏数据处理 试想在分页接口异步加载的过程中,页面上的根底数据产生了变动,此时的所有操作都是徒劳的。此种状况不仅会重大影响性能,更重大的还会导致页面展现数据的谬误,怎么进行脏数据的解决呢? 提到客户端的脏数据处理,很多人都有可能想到锁、信号量,然而锁和信号量并不适用于这个场景,这里将介绍一种更轻量级的实现计划。首先在以后主数据申请后记一个工夫戳,在每次异步接口申请前获取到主数据的工夫戳,在接口返回后再拿着接口申请前的工夫戳和主数据的工夫戳进行比照,如果不统一,那么此次的数据为脏数据,就进行抛弃,以此来避免脏数据问题。 05  收益 ...

June 12, 2023 · 1 min · jiezi

关于app:得物App万米高空WiFi拦截记

0.前情摘要在一次航行途中,我司客户遭逢到了得物App在飞机上的WiFi网络拜访异样的问题。这让咱们意识到在特定场景下,用户可能面临无奈应用得物App的困扰。通过SRE团队与无线团队、网络团队联结全力排查与优化,最终胜利解决了这一问题,并同时挖掘出全网防火墙设施在各个C端用户工作生存场景拜访不到得物App的问题。为得物er稳固拜访得物提供保障,同时也输入相似疑难问题排查模板。 1.常识速递1.1  什么是地面WiFi技术?目前机载 WiFi 服务次要有两大解决方案:地空宽带(ATG)无线通信零碎和机载卫星通信零碎(SATCOM)。 地空宽带(ATG)无线通信零碎采纳定制的无线收发设施,沿航行航路或特定空域架设高空基站和对空天线,造成 地空通信链路。机载卫星通信零碎由利用卫星、飞机、卫星地面站三者进行数据通讯两者的技术优劣势比照如下: 指标ATGSATCOM时延<100ms较高,10-700ms,取决于卫星类型和轨道高度覆盖范围高空基站笼罩的区域,次要在海洋上,最大半径300km寰球范畴,包含远离海洋和陆地上的区域网络连通性高空基站之间可能存在信号盲区通过卫星信号传输,具备更高的连通性可靠性可能受地形和基站散布影响受卫星信号强度和可用卫星数量影响实用场景次要实用于海洋上的航行实用于寰球范畴内的航行,包含跨洋航线马斯克搞的星链服务用的是近轨卫星群,间隔地表在550公里范畴左右,时延根本在20ms以内,而我国目前用于客舱通信的卫星根本是同步卫星,离地间隔36000公里,时延根本在500ms以上 1.2  电商业务为什么会广泛应用TCP协定当今互联网支流通信协议应用的TCP/UDP协定,恪守TCP/IP的4层网络模型,其中TCP协定相比UDP提供了牢靠的、面向连贯的通信: 三次握手在TCP协定下,数据传输之前,通信单方须要先建设连贯,建设连贯时会进行一系列的握手过程,确保数据传输前通信单方的状态和能力都是失常的 包确认机制(ACK)在数据传输时,TCP协定会将数据分成多个包进行传输,并且会对每个包进行校验和确认,确保数据可能正确无误地传输。 拥塞及流量管制TCP协定提供了拥塞管制和流量管制等机制,可能自适应地调整传输速率,防止网络拥塞和数据失落 基于以上TCP协定保证数据的可靠性和完整性,因而在电商利用中宽泛应用TCP协定。 2.天地协同排查****2.1  计划制订理解了地面WiFi实现技术后,如何定位排查问题便是咱们SRE专家思考的问题。对于工作疑难杂症,永远的三板斧:模仿复现问题,抓包,剖析残缺申请链路。本次麻烦的是场景非凡,须要在地面WiFi环境上能力复现,同时抓包又是一个技术活,只能咱们技术团队亲自出马了。这里要特地褒扬无线平台的客户端同学,为了齐全复现场景,顺便早上7点乘指定班机来回测试,收集重要抓包数据。 2.2  测试计划&工具确认因复现场景刻薄(必须万米低空WiFi才会开启),必须制订好残缺的测试计划实现尽可能多的数据收集。无线平台团队和SRE团队协同筹备好了测试工具包,可进行网路层面测试蕴含ping和traceroute,APP层面的申请测试,单域名拜访测试等。并筹备好抓包工具,在测试时留存所有抓包数据。SRE在公司同步值班抓取服务端申请包,做双向比照。 上面是咱们的SRE老司机梳理的各协定段排查工具,大家可珍藏: 只管TCP协定具备面向连贯、可靠性低等长处,然而在理论的网络环境中,因为网络的复杂性、拓扑构造、利用缺点等因素,会导致各种网络问题, 以下咱们将排障工具和4层模型做了一个归类: 咱们排障个别按从下往上逐层排除可疑点这个思路来时,日常工作会少走一些弯路 2.3  问题复现&测试抓包客户端测试同学在飞机巡航情况下,连上飞机WiFi后,关上得物App,确实存在拜访不了得物App的状况。于是,客户端同步公开值班人员开启测试。(1)关上得物App,浏览不同页面并截图,确保影响范畴(2)进行网络测试蕴含(ping、traceroute等)(3)在浏览器独自拜访典型接口,如主接口、社区接口、图片链接等(4)测试其它电商平台,察看其拜访状况。以上所有拜访保留截图、日志、抓包数据等值班SRE等同工夫抓取雷同工夫的接口的入口申请包,保留下来,后做比照剖析。 2.4  数据整顿2.4.1  链路诊断网络链路层测试:用ping/traceroute等工具对app.dewu.com/m.dewu.com相干域名进行了拔测,均显示网络层失常 这里简略介绍一下ping/traceroute工具工作原理 (1)ping工具 ping是一种基于icmp协定开发的网络诊断工具,工作于第3层,其工作原理是向指标主机收回一个icmp的echo request数据包,并期待接管echo response数据包,而后程序主动估算丢包率和数据包的rtt,因而次要用于网络连通性和网络时延的诊断 此工具原始作者是Mike Muuss,于1983年开发,前面macos/win/linux相继实现各自版本,以下没有非凡阐明的状况下,所有相干参数或叙述次要是针对linux版本开展的 ping工具集成在iputils包中,开源我的项目https://github.com/iputils/iputils一个基于icmp协定的ping包格局 上图中红色标注的属于ip和icmp协定头中较要害的字段: 协定字段取值含意与作用IPIdentification1-65535数据包惟一标识符,另外性能用于ip分片,当一个ip包的负载超过1480时,ip包要分成多片,且多片的identification放弃一样IPFlags3个bit位用于批示IP数据包是否容许分片和每个分片的地位,它的三个bit别离是:- 第一个bit示意是否容许分片,如果容许分片,则该位被设置为1,否则设置为0。如果该位为0,则示意不分片,整个IP数据报会一次性传输;如果为1,则容许分片。第二个bit示意是否是最初一片,如果是最初一片,则该位被设置为0,否则设置为1。第三个bit是 "更多片" 标记位。如果传输的 IP 数据报被分片成多个分片,然而以后这个数据报不是最初一个分片,则这个标记位被设置为1;否则设置为0 | | IP | TTL | 1-255 | 次要管制网络中呈现回路时,防止IP包无休止的在网络上转发,每经验一个路由器时,此值会减1;小窍门:Linux的网络中默认个别为64,因而在服务侧抓包看到的ttl值后,64-以后ttl值,即可晓得此包经验过多少路由器 | | IP | Protocol | 1/2/6/17 | 代表承载的下层协定:1:ICMP, 2:IGMP, 6:TCP, 17:UDP | | ICMP | Type | 0-18 | 节选局部解释:回复应答(ICMP类型0):ping命令用到该类型的数据包以测试TCP/IP连贯;指标不可达 (ICMP类型3):用以批示指标网络、主机或者端口不可达;回复申请(ICMP类型8):ping命令用该类型的数据包测试TCP/IP连贯; | | ICMP | Identifier | 随机/指定值 | Identifier 字段在 Echo Request 和 Echo Reply 音讯中都存在,作用是帮忙辨别不同的 ICMP 会话。在发送 Echo Request 音讯时,发送方会随机地生成一个16位的标识符,而后在接管响应包的时候,通过比拟响应报文中的标识符,来确认响应报文是否是本人发送的响应 | | ICMP | SequanceNumber | 1-65535 | 当一个 ICMP Echo(ping)申请音讯被发送给指标主机时,Sequence Number 字段的值通常从0开始计数,每发送一个 ICMP Echo 申请就会递增一个。而当指标主机收到 ICMP Echo 申请后,会将它的 Sequence Number 值复制到 ICMP Echo Reply(ping回应)音讯中,以便申请端确认它所接管到的回应音讯是对相应申请的响应 | | ICMP | TimeStamp | 工夫戳 | 次要用于测量RTT,当一个主机收到一个 ICMP Timestamp 申请时,它会记录返回的 ICMP Timestamp 回应音讯中的以后工夫戳,并计算出申请和回应之间的时间差 |ping的局部参数默认值参数Linux 默认值阐明-t64指定ttl数值-c发送有限数量的 ICMP 数据包指定发送 ICMP 数据包的次数-s56 字节指定 ICMP 数据包的大小-W10秒指定每个响应包超时工夫,单位为秒-i1 秒指定发送 ICMP 数据包的工夫距离ping的例外从结尾形容的ping的原理能够看出,指标设施必须回复echo response能力判断网络连通性和时延,因而如果指标设施设置了相似“net.ipv4.icmp\_echo\_ignore_all=0”禁止或者防火墙设置了抛弃icmp包策略,此测试后果根本生效,此时须要其它工具如telnet/nc/curl等工具配合测试了 ...

June 1, 2023 · 2 min · jiezi

关于app:通话记录生成器安卓版下载通话记录生成器app一键批量生成通话记录

铁牛通话记录生成器是能够一键主动批量生成通话记录app。铁牛通话记录生成器怎么用,默认跟着软件上设置好的五步,从上往下顺着操作。上面我写个亲测的操作教程分享给大家,以便有个大体的逻辑思路,当然了这个理解也是无限的。想更多具体钻研理解它的敌人,能够关上你的手机浏览器上百度搜寻一下,铁牛通话记录生成器。 第(1)步操作:如何把号码放进来通话记录生成器app内?你复制粘贴号码进来就能够,能够大量批量放进来铁牛通话记录生成器。前提是你的号码必须是一行一个,单列参差,洁净排列,你先整顿好,再复制粘贴进来。如果你的号码是曾经打印在A4纸上的号码,那么你能够拍照,而后它会在线自动识别图片外面的号码,并主动提取好。 第(2)步操作:抉择通话时间范畴和通话时间长度。通话时间范畴是指你的这些所有的号码在过来一个小时或者几个小时之类产生了通话,这个动作。 第(3)步操作:如何抉择通话时长?通话时间长度是指你的每个号码产生了多少分钟工夫长度的通话。铁牛通话记录生成器app上设置好了,一分钟之内,三到五分钟,自定义A到B分钟,三种工夫长度,默认抉择一分钟之内。 第(4)步操作:能够抉择四种通话类型。“已拨电话”(你打进来他人接了),也可抉择“已接电话”(他人打进来你接了),或“已拨未接”(你打进来他人没有接)还有“拨入未接”(他人打进来你没有接)。默认抉择“已拨电话”。 第(5)步操作:间接点击铁牛通话记录生成器,下方的按钮“通话记录生成”,即可一键批量主动生成虚构通话记录。 关键词:通话记录生成器,通话记录生成器app,通话记录生成器安卓版下载,手机通话记录生成器app,一键生成通话记录,手机通话记录生成器下载,虚构通话记录生成器,通话记录生成器安卓版下载最新版本,虚构通话记录生成器,通话记录生成器最新版,通话记录生成器app软件下载,通话记录生成器,手机虚构通话记录生成器,批量通话记录生成器,通话记录生成器安卓版下载app,通话记录生成器安卓版,一键生成100个通话记录,手机通话记录生成器在线,通话记录生成器下载。

May 17, 2023 · 1 min · jiezi

关于app:京东APP百亿级商品与车关系数据检索实践-京东云技术团队

导读本文次要解说了京东百亿级商品车型适配数据存储结构设计以及怎么实现适配接口的高性能查问。通过京东百亿级数据缓存架构设计实际案例,简略分析了jimdb的位图(bitmap)函数和lua脚本利用在高性能场景。心愿通过本文,读者能够对缓存的内部结构常识有肯定理解,并且可能以最小的内存应用代价将位图(bitmap)灵便利用到各个高性能理论场景。 1.背景整个汽车行业行特殊性,对于零配件有一个很强的对口个性,不同车应用的零配件(例如:轮胎、机油、三滤、雨刮、火花塞等)规格型号不一样。在售卖汽车零配件的时候,不能像3C家电、服饰,须要联合用户具体车辆信息,举荐适宜的配件商品。基于此起因,京东自建人车档案模型并且利用算法荡涤出百亿级的车型-零配件的适配关系数据,最终造成“人->车-〉货”关系链路,解决“人不识货”的问题。 具体应用场景如下图: . 图1.1京东商详举荐商品 图1.2京东加购弹窗举荐商品 2.数据模型“人-\> 车->货”关系的外围链路是由人(京东用户)、乘用车和SKU这三局部组成。 首先,用户在京东APP的商搜页、商详页多个地位都能够抉择本人的车型信息进行绑定(例如:图2.1,京东商详绑车入口地位“+增加爱车”按钮),建设“人车档案”数据。 . 图2.1.京东商详绑车入口地位 图2.2.京东商搜绑车入口地位 其次,经营在后盾管理系统中将商品与车型进行绑定,建设“商品与车型关系”数据(商品与车型的关系数据量级在百亿级别)。 最终,购买商品的时候,京东举荐零碎能够通过用户本人绑定的车型举荐出适宜该车型的商品。具体商品适配车型数据模型,见图2.3。 图2.3京东商品适配车型数据模型 3.缓存结构设计基于后面两个局部的介绍,咱们能够理解到整个商品搜寻适配举荐存在两个最外围问题。第一、百亿级商品适配车型数据的存储结构设计,尽可能的占用资源老本最小;第二、商详通过用户车型来搜寻适配商品时,必须保障接口性能的TP99位于毫秒级。最终技术选型的时候,采纳了jimdb的位图(bitmap)函数来进行数据存储。 3.1位图(bitmap)构造位图(bitmap)是通过最小的单位bit来进行0或者1的设置,示意某个元素对应的值或者状态。一个bit的值是0或者1;也就是说一个bit能存储的最多信息是2。 • 位(bit):计算机外部数据存储的最小单位,例如:11001100是一个八位二进制数。 • 字节(byte):计算机中数据处理的根本单位,习惯上用大写B来示意,1B(byte,字节)=8bit。 图3.1位图(bitmap)内部结构 3.2位图(bitmap)数据写流程位图(bitmap)是基于jimdb的SDS(简略动静字符串)类型的一系列位操作,遵循jimdb的SDS个性,例如:位图(bitmap)最大长度512M,最大能够存储232位。以下是“big”字符串的SDS构造示例: 图3.2.1“big”字符串的SDS构造 SDS(简略动静字符串)为了保障性能采纳了空间预调配的策略:空间预调配用于优化SDS的字符串增长操作。SDS的API对一个SDS进行批改并且须要对SDS进行空间扩大的时候,程序不仅会为SDS调配批改所必须要的空间,还会为SDS调配额定的未应用空。具体预调配流程图如下: 图3.2.2SDS预调配流程图 地位1:创立SDS简略字符串预调配空间为:偏移量/8+1。 地位2:残余空间有余时,预调配空间流程。 3.3压缩商品与车关系缓存偏移量(自增ID)全量车型商品SKU1116578810136221165793101362商品适配车型关系(百亿级数据量) 商品与车关系缓存存储过程中,采纳了商品SKU作为KEY,全量车型ID的偏移量(采纳偏移量是为升高内存耗费)作为VALUE值来进行存储。 全量车型ID大概有几十万的数据量,极限状况下一个商品SKU能够适配几十万辆车,很容易造成缓存大KEY的问题,为此咱们进行了偏移量(全量车型ID对应的自增ID)的分段解决。具体是依照:SKU作为缓存KEY的根底上,追加一个分段标记数字作为新KEY,每个偏移量都会依照分段范畴对应一个分段标记数字。例如:偏移量1~50000,对应缓存KEY为SKU+0;偏移量50001~100000,对应缓存KEY为SKU+1,其它偏移量以此类推,这样就保障了一个SKU即便适配所有车辆也不会呈现缓存大KEY的状况。 BitMap缓存构造底层应用SDS简略字符串,为了保障性能采纳了预调配空间的策略(图3.2.2,“缓存BitMap外部存储流程图”的“地位2”中虚线框圈选),这样在缓存商品与车关系的时候节约了大量的缓存空间。为此咱们调整了偏移量存储程序,首先获取到须要缓存的车型内最大的偏移量,保障同一个缓存KEY第1次创立SDS简略字符串(图3.2.2,“缓存BitMap外部存储流程图”的“地位1”中虚线框圈选)后,不再进行第2次空间扩容,这样来最大限度的晋升缓存利用率,起到压缩空间目标。缓存数据关系流程如下: 图3.3.1缓存数据关系流程 地位3:设置分段最大的偏移量,保障后续新增偏移量不再扩容空间。 地位4:设置分段较小的偏移量。 全量车型ID是定长7位的数字,如果用它作为偏移量将耗费内存微小,所以采纳对应自增ID作为偏移量。最终在bitmap缓存的商品SKU与车的适配关系缓存构造如下图: 3.3.2商品与车缓存结构图 地位5:spuId用{}括起来示意缓存路由(Lua脚本中同一次申请,数据必须在缓存同一个分片上,否则会失落数据)。POP商品spuId是SKU的产品ID,自营商品spuId是SKU的MainSkuId。 备注: 1、自营商品MainSkuId可能发生变化,所以咱们接入了商品变动MQ音讯,实时调整SKU与车适配关系的存储地位。 2、京东商详页面中每个不同的规格/型号别离对应不同的SKU,然而它们都对应同一个SpuId或者MainSkuId。 4.缓存架构设计商品与车的关系数据量每天都在一直增长,要求缓存架构设计,须要反对集群横向/纵向扩容和来满足业务倒退以及高可用性。整个缓存架构体系次要有前端、京东养车商品与车关系层和存储三局部组成。 “商品与车关系缓存架构”层外围包含:1、“集群路由”层,实现了集群横向扩容,保障数据量增涨的时候,缓存容量也能跟上。2、“分片路由”层,保障搜寻的底层数据的分片雷同,防止数据失落。 “存储”层外围包含:1、实现了缓存压缩,参见3.3压缩商品与车关系缓存。2、单元化实现跨区域灾备,保障大促零碎稳定性。具体商品与车关系缓存架构如下: 4.1商品与车关系缓存架构图 地位6:集群路由,通过商品类型或者商品编号(POP商品)路由到不同缓存集群,便于横向扩大,每个集群单分片限度,解决分片超过限度问题。 地位7:分片路由,保障Lua脚本搜寻数据的底层数据集群分片雷同,防止数据失落。其中自营商品和POP商品的路由别离是main\_sku\_id和product_id。 地位8:自营商品缓存集群,单元化实现跨区域灾备,采纳自研DRC(Data Replication Center)数据同步机制。 地位9:POP商品缓存集群,通过商家编号拆分为两个子集群。 5.高性能搜寻基于BitMap(位图)缓存的商品与车关系数据,商详调用接口的外部实现采纳了Lua脚本来升高网络开销,保障整个接口的性能。以下是搜寻接口的流程图: 5.1商详搜寻商品与车适配关系流程图 地位10:商详调用接口的时候,要传两个参数。第1个参数是全量车型ID列表,大概5个全量车型ID。第2个参数是商品SKU列表,SKU的数量极限超过200个。最初全量车型ID与商品SKU组合为上千个商品与车的关系后,再到百亿级适配关系去搜寻看是否匹配的。如果不匹配返回适配商品,反之则返回不适配。 Lua脚本缩小了应用服务器与缓存服务器的交互,升高了网络开销的工夫,达到晋升搜寻服务的性能。以下是Lua脚本具体代码: 5.2商详搜寻商品与车适配关系Lua代码 ...

May 8, 2023 · 1 min · jiezi

关于app:如何建设一个用于编译-iOS-App-的-macOS-云服务器集群-京东云技术团队

作者:京东批发 叶萌 古代软件开发个别会借助 CI/CD 来晋升代码品质、放慢发版速度、自动化反复的事件,iOS App 只能在 mac 机器上编译,CI/CD 工具因而须要有一个 macOS 云服务器集群来执行 iOS App 的编译。 明天就来谈谈如何建设 macOS 云服务器集群 购买 mac mini / Mac Studio 机器最简略的形式就是购买一批 mac 机器,买它个 1000 台,买回来后放入机房,把其中一台机器作为治理机,申请办公网拜访这台机器的网络权限,每次要保护这批机器里的软件时,先从办公网进入治理机,而后从治理机在近程连贯到其余机器。 虚拟化 macOS 集群借助 macOS 官网的Virtualization.Framework,能够分钟级创立 macOS 虚拟机,这种形式创立的虚拟机性能、稳定性、安全性都很高,能够继续采纳更新、更快、更高级的 mac 硬件,最终实现更快的 App 编译速度。 在企业外部申请 macOS 机器,须要经验申请估算、领导审批、洽购、运输、部署至机房等繁琐步骤,当初可通过购买高配置的 mac 机器,而后再将其按需配置成多台虚拟机,缩小了硬件保护老本,进步了扩容效率。这方面代表性产品有 https://github.com/cirruslabs/tarthttps://www.macstadium.com/anka挪动端 CI/CD 平台 bitrise 采纳的是这种形式,只不过他们做了很多自研工作,打造了Gen2编译基础设施,声称能让客户更快、更频繁的公布 App 云端治理 macOS 服务器自行购买并保护 mac 机器还是不太不便,老本很高,如果能云端治理、按需付费就更好了。亚马逊的 AWS 解决了这个问题,他家的Amazon EC2 Mac Instances能让咱们按需申请 macOS 服务器,如果能承受云端服务的话,其实这种形式最省事。与这种服务相似的产品有 https://flow.swiss/mac-bare-metalhttps://www.scaleway.com/en/hello-m1/在 linux 里运行 macOS 虚拟机sickcodes/Docker-OSX是最近风行的一个我的项目。 ...

April 25, 2023 · 1 min · jiezi

关于app:超详细图文保姆级教程App开发新手入门三

上文咱们曾经实现了一个利用我的项目的导入、代码更新和代码提交,本章持续讲述一下,如何在开发过程中进行代码的同步联机调试。 4 代码调试4.1 纯动态CSS页面款式查看代码调试有多种形式,如果是查看纯正的动态款式,能够应用浏览器关上对应页面,或者间接在开发工具上鼠标右键点击页面文件,而后抉择「实时预览」选项,即可在开发工具中查看 4.2 真机联调(重点)在理论开发中,通常须要这样一种场景,就是对于一些简单交互逻辑的页面的联调。这些页面加载后须要执行一些代码逻辑,或者调用一些手机特有的性能(比方扫描二维码),这时候咱们就须要在实在的手机环境下运行代码,进行开发调试,这种状况咱们就须要应用到上面介绍的真机联调形式了。 真机调试次要有2种形式,一种是通过USE数据线使手机和电脑连贯进行同步,另一种是通过Wifi网络进行真机同步,Wifi形式更为符合理论开发须要,为了升高老手浏览学习的复杂度,本文重点介绍如果通过Wifi形式进行真机联调。 WIFI真机联调的操作流程: 4.2.1 编译测试利用安装包关上编译自定义Loader页面 编译自定义Loader 装置自定义Loader到手机 PS1:以上操作也能够自行在浏览器里去操作实现,具体为应用浏览器登录官网,在控制台里抉择「模块」- 「自定义Loader」页面进行操作,是同样的成果。其实开发工具中调用的就是浏览器页面,两者是同一个Web页面。 PS2: 真机调试能够应用实在的物理手机,也能够在电脑PC端装置模拟器软件代替手机进行开发调试。应用模拟器同步速度快,频繁同步也不伤手机,当不具备WIFI环境或局域网环境时,特地适宜。不过须要留神因为是模仿软件,绝对于实在手机有肯定的兼容性问题,比方波及应用原生性能(比方扫描二维码等)的页面,还是倡议应用物理手机去调试。 PS3:对于模仿的抉择,因为苹果的iOS属于闭源零碎,所以以后还是次要抉择安卓模拟器进行代码联调,这里集体举荐应用网易开发的MuMu模拟器,理论开发应用成果很不错。下载apk安装包后,鼠标双击或者拖动到安装包到模拟器内即可实现装置(下图是MuMu模拟器装置测试Loader的截图)。 4.2.2 设施连贯在Studio3 开发工具中,点击顶部菜单 「终端」- 「通过Wi-Fi连贯新的设施」 正确操作会弹出以下界面,这个界面不要敞开,前面的连贯会用到 在手机中启动自定义Loader利用,可见到以下页面 双击灰色操作球,调起连贯面板,这里就对应到在开发工具上显示的二维码设施连贯界面了 4.2.3 同步数据建设连贯胜利后,在开发工具中鼠标右键点击根目录,而后「抉择WIFI同步【全量】」(也能够应用快捷键操作,不同的操作系统快捷键并不相同,下图是在MacOS零碎下的截图)。 PS: 全量和增量的区别,全量是将开发工具内的利用代码全副笼罩到手机的利用上,进行全副替换。而增量是开发工具在同步数据之前会比照开发工具内的代码和利用内的页面代码,会进行页面比照,只替换那些不同的页面。首次同步倡议应用全量,后续应用增量即可。 同步数据实现后,利用会主动重启,显示最新的代码界面,如下图就是胜利同步代码后的利用界面。 PS:如果Wifi同步后没有反馈,查看确认一下利用是否具备存储权限。以后支流的安卓零碎都对利用权限加了限度,没有存储权限,利用无奈保留更新后的代码,所以确保利用具备存储权限,不同的手机零碎可能略有不同,大体是 「设置」-「利用」- 抉择你的利用,点击进行详情页,而后点击权限进行查看批改 4.2.4 批改数据,体验下同步成果让咱们批改一下html门路下的mian.html文件 批改实现后记得先保留文件 右键根目录或应用快捷键进行Wif增量同步 真机同步成果(未完待续…)

December 26, 2022 · 1 min · jiezi

关于app:2022-卡塔尔世界杯收官中国-App-继续中东征战

卡塔尔世界杯完满收官,球王梅西梦圆大力神杯。关注【融云寰球互联网通信云】理解更多这届世界杯不仅属于每一个奋战的球员,也是卡塔尔当之无愧的高光时刻。 据悉,本届世界杯期间,共有超过 340 万球迷返回现场观看较量。而在国内的社交媒体上,从 2000 亿美金办赛到专为游客建筑公共交通,从卡塔尔王后的“武则天人生”到首赛后刷屏的“饺子皮王子”,这个常住人口有余 300 万的国家赚足了大家的眼球。 此前,不同于迪拜酋长国的“豪华之都”和沙特阿拉伯的“出海圣地”,卡塔尔对很多人来说只是石油壕国中“模摸糊糊有据说过的”。现在,借助世界杯,卡塔尔的“品牌声量”得以显著晋升。 卡塔尔埃米尔(国王)曾说,申办世界杯的目标之一,是让全世界晓得有一个国家叫卡塔尔。能够说,这是一次胜利的大型国家品牌流动。而随着卡塔尔进入人们的眼帘,当地及中东地区的生存、娱乐形式也逐步被更多人理解。咱们发现,中国的很多 App 早就进入了中东老铁的手机中。 泛娱乐流行 中东老铁钟爱中国 App以沙特阿拉伯为例,依据此前融云与白鲸出海联结公布的《2022 社交泛娱乐出海白皮书》(下简称《白皮书》),2022 年沙特阿拉伯上半年下载和支出 Top100 的公司中,中国 App 渗透率为 14.4%,仅次于美国,列第二位。沙特市场 App 下载开发者组成,起源:《白皮书》 在阿联酋、土耳其等其它中东国家,中国产的社交娱乐类 App 也非常受欢迎。 依据霞光社 2021 年的粗略计算,中国出品的社交娱乐 App 在中东的用户已超过 1 亿人,占当地人口的 1/5。这种景象,由多方面起因独特造成。 首先,由沙特阿拉伯、阿联酋、科威特、卡塔尔、阿曼、巴林组成的海湾六国,以石油作为外围经济支柱,是全世界最富裕的区域之一。据国际货币基金组织数据显示,中东地区海湾六国的人均 GDP 在 2.3 万美元至 8.4 万美元之间(寰球仅有四十多个国家人均 GDP 高于 2 万美元),远高于世界平均水平。 其次,中东地区领有较高互联网覆盖率。依据相干考察数据,中东国家的均匀互联网覆盖率达 64.5%,远远高于 54.5% 的世界平均水平。海湾六国的互联网普及率均超过 90%,其中卡塔尔高达 99.6%,阿联酋为 96.4%。 这些,足以撑持起中东在很多线上赛道的高客单价特点,包含电商生产、线上娱乐等等。依据《白皮书》,美国、巴西、沙特阿拉伯、印度尼西亚四个市场中,沙特阿拉伯市场以 4% 的音频社交 App 下载量奉献了将近 30% 的支出。 再次,中东互联网用户年龄基数偏小,在约 5 亿的总人口中,30 岁以下人口约占 70%。宏大的年轻人群体也代表着对陈腐事物的高接受度,预示着当地的社交泛娱乐市场还有很大倒退空间。有钻研显示,中东社交娱乐市场在 2019 年的市场规模达到 58.4 亿美元,预计到 2024 年将达 135.2 亿美元。 ...

December 21, 2022 · 1 min · jiezi

关于app:哈啰App首页千万DAU的容器动态化方案-乐高系统

前言你是否为我的项目外围页面短少标准化的开发标准和流程、代码冗余耦合重大而无从下手?你是否为我的项目中多人或多个团队跨团队协同开发一个页面性能而懊恼?你是否为我的项目简单页面短少端到端动态化编排配置经营的伎俩、开发/公布周期和流程过长而耗时耗力?你是否为我的项目中多团队高频迭代开发外围页面的品质和稳定性后知后觉而焦虑? 背景在哈啰的疾速倒退和业务演进过程中,从两轮出行到四轮出行再到基于出行的普惠生存服务平台,APP DAU已冲破1000+w,细分的业务场景也越来越多,孵化了数十个业务BU。从出行用车到生存服务,有两轮的单车、助力车,四轮的打车、逆风车、送货,以及租车、智能电动车、火车票、换电、好物、酒店、相亲、宠物、游戏等等多类笼罩出行和生存的业务,哈啰能够说是目前出行生存平台畛域业务复杂度较高的利用之一。 咱们平台经营团队负责APP启动到首页等多个哈啰重要的用户入口,承当着流量散发平台的作用,提供平台能力反对业务线倒退。平台经营自身也是一个平台业务,除了本身的业务外,对外的角色也很简单,同时还承当着新业务倒退平台的角色,这意味着想要反对好哈啰平台业务的倒退是一件十分有挑战的事件。 演进思路 以哈啰APP首页为例,在平台化转型业务快速增长倒退初期:平台首页团队只有两三个人对接十多个业务线,每个业务都有特定的场景和诉求,并且局部业务场景除了须要用户经营外还存在着互斥或优先级的关系,须要肯定的策略经营能力。业务方急需在短期内疾速更新迭代来验证业务方向。因而首页随着多个团队的独特参加开发复杂度和合作老本是极高的,同时随着减少人员带来迭代边际效应越来越低。因为不同团队/人员短少对立、规范的开发标准和风险意识,体验和稳定性难以保障,重大影响用户增长和业务倒退。 所以咱们面临的问题是: 首页等业务外围页面存在单页面多团队协同开发,承载多业务状态的诉求。首页等业务外围页面心愿能够疾速迭代来验证业务方向。首页等外围页面须要有肯定的策略经营能力来为用户提供所需的业务服务。首页等业务外围页面须要有良好的用户体验和稳定性保障。基于现状问题和将来演进方向,咱们依照端容器承载、模块化拆分的基本思路,联合根底能力形象成框架、对接口和数据结构进行定义等,从新进行架构分层和方案设计,来满足多端复用、平台赋能、多团队合作、需要动静变更/公布等多方面诉求。 解决方案 - 乐高零碎 根据上述的问题和思路,咱们零碎的建设有两个指标: 对于研发侧:须要撑持外围场景下多团队协同开发的继续交付效率和保障简单场景下的稳定性&体验,来撑持业务倒退。对于业务侧:须要能够在APP疾速搭建牢靠的高性能原生页面,进行动静编排和丰盛的经营能力,需要迭代动静线上变更快上快下,疾速无效的验证业务方向。基于基本思路和指标确定了三个后续演进的方向:标准化的前后端开发框架和体验&稳定性保障,动态化的公布和线上经营能力,系统化的从前到后端到端解决方案。 整体链路和零碎建设上的指标,心愿技术演进为业务赋能反对业务更快更好倒退。 设计思路那咱们明确一下什么是乐高零碎?要解决什么具体问题? 乐高零碎是基于“哈啰APP首页计划”演进过程中积攒的教训,孵化建设的一套适宜哈啰的端到端动态化经营公布零碎。来解决业务倒退过程中经营能力欠缺或反复建设、公布周期长、业务验证效率低、研发投入和保护老本高、以及保障外围页面的体验&稳定性等诉求。 乐高的利用场景是哈啰APP首页等一级页面和业务外围页面,也能够利用到其余业务矩阵内的宿主APP。是面向APP的页面动静搭建和经营公布平台,帮忙业务晋升产研效率。面向对象有三个角色,对应三个子系统的产品能力,别离对应不同的能力边界: 1.在搭建平台侧:*面向产品经营的乐高经营后盾 面向产品经营提供残缺的权限审批和公布流程,环境可隔离,反对测试、预发、灰度、公布。提供页面容不同粒度模块/组件/款式/内容的动静搭建编排和公布能力。实现页面搭建、组件治理、协定编排(有序化/互斥/灰度/AB/标签)等能力,与投放平台、伽利略试验平台和数据平台买通;提供欠缺和丰盛的经营能力,千人千面。2.在聚合服务侧:*面向后端研发的聚合服务配置平台 搭建元数据配置化后盾,进行数据源/款式配置管理、参数治理映射和动静脚本能力,与数据模型进行绑定,数据模型与组件进行关联。实现聚合服务BFF层,联合元数据配置后盾进行可视化配置化驱动数据编排,以及公布流程和容灾机制。深度联合整体架构设计和框架个性进行性能&稳定性建设,保障服务侧可灰度、可观测、可应急。3.在挪动端框架侧:*面向挪动端研发的乐高容器动态化框架 借鉴适配器设计模式和依赖倒置准则,提供注解的形式进行注册依赖解耦,用模块仓库进行对立治理。设计通用的接口协议Adapter Protocol,面向规范的形象协定接口开发,业务逻辑和依赖组件化隔离,齐全反对热拔插。形象通用的布局数据、状态治理、生命周期及事件总线的能力,积淀通用能力和组件,缩小反复的代码开发,晋升研发效率。在页面布局和状态治理方面,与列表容器深度联合,实现高效的页面渲染、数据驱动的页面刷新能力;稳固牢靠的高性能前端流式布局和残缺数据生命周期反对框架。联合公司外部自研的“悟空DSL”动态化渲染计划,实现页面部分动态化渲染,买通页面的最初一个编排粒度,联合乐高后盾实现模块性能动静公布上线。深度联合整体架构设计和框架个性进行性能&稳定性建设,保障端侧可灰度、可观测、可应急。零碎架构 乐高零碎从架构上整体分三局部: 面向产品经营的配置化后盾,进行线上编排和经营。作为业务的对立输出口,配置驱动业务的无效验证。面向服务端的聚合服务与元数据配置后盾。作为配置和数据驱动的中间层,买通经营后盾和应用层的端到端流程。同时通过配置化晋升服务端的研发效率,反对聚合服务的容灾降级和观测告警能力。面向挪动端的乐高容器框架。作为外围面向用户的应用层框架,为用户动静的出现丰盛的业务服务和所需的业务性能。反对端侧的性能&稳定性监控告警和灰度降级能力。挪动端-乐高容器乐高容器化框架的思路是把一个页面用模块化的形式拆分,依照形象定义好的规定/逻辑进行动静编排,页面容器去承载这些形象的功能模块,赋予其独立的加载渲染生命周期、数据散发、事件总线和音讯通信能力。通过框架协定将模块标准化后对立治理,在过程中积淀出通用的组件能力,进步复用缩小反复建设。 联合经营后盾能力和聚合服务的配置化能力的搭建和买通,将简单页面的搭建形象成结构化数据(数据 + 容器解决 + 模块树 + 渲染节点),由结构化数据驱动模块/组件/款式/内容模版的拼装。使页面动起来,让用户看到须要的内容(千人千面),让业务只聚焦于本身模块的业务性能实现和动静公布,疾速验证方向。 1.动静卡片 - 悟空DSL 悟空DSL是哈啰外部研发的一套动态化渲染技术计划。悟空作为容器动态化的一个原子能力,补足了乐高容器页面动态化最初一环能力,反对在容器模块内进行弱交互的平铺UI的开发和绘制,联合乐高搭建的动静经营后盾和服务配置化数据绑定买通,达到UI层的动静渲染和公布能力。 2.组件积淀 组件模块就是基于业务迭代过程中形象出的通用模块,继续积淀到组件池,定义好规范的数据结构,与后盾买通,通过表单配置和数据驱动页面上组件的变动出现。最大水平晋升根底能力的复用和缩小端到端链路反复建设的老本,业务拿来即用。 服务端 - 配置化聚合服务 按需搭建和C端交互须要的各个模块、组件、数据源,通过配置化的形式,升高服务端针对每次不同的数据聚合须要反复开发、测试、发版的次数,只须要在页面中可视化配置即可实现,晋升服务端的研发效率。 聚合服务针对上游数据源的服务等级、撑持的QPS、稳定性保障要求等提供按需配置的保障措施,比方对上游服务的限流、熔断、数据的的资源隔离等能力,缩小聚合服务接入方在稳定性上的投入老本。 稳定性建设 乐高零碎整体链路稳定性建设反对可观测、可灰度、可降级、可告警的。基于Grafana搭建的大盘数据和技术指标看板,基于UItron搭建的异样告警看板并与钉钉机器人买通,及时触达。基于前后端链路的串联买通,反对从聚合服务到端侧框架的容灾和兜底降级能力。 流程公布流程 1.产运创立页面,进行模块、策略、内容的搭建和编排,将待实现的模块性能通过工作流指派给对应的研发。2.前后端研发进行模块性能配置或定制开发,而后依据工作进行模块-组件-数据模型关联,实现后告诉验收。3.测试进行性能验证,产品进行验收后进入预公布阶段,线上动静公布须要抉择对应的审批人进行把关。4.对应负责人审批后,需要性能上线开启阶段性灰度比例,逐渐放量观测。5.过程中会有监控大盘实时进行业务和技术指标监控。6.观测到异样后立刻进行本地主动降级或版本回滚并通过钉钉告警到对应的产品研发进行跟进。7.一段时间内观测无异样后进行主动/手动全量,后产品经营进行数据回收。8.实现整个灰度公布流程。 研发流程 - 挪动端 原流程上每个性能的开发上线都须要通过单方甚至多方的独特染指,进行计划沟通和联调,换一个对接人换一种计划,整个协同过程是人为驱动和把控,在这种单页面多团队的场景下,耗时耗力。 乐高流程在页面配置好后,依照框架标准接入或者间接复用已有的模块性能,由配置数据驱动,研发和公布流程上有三种场景:1.动态功能模块:模块组件库里没有或者无奈形象和动静开发的模块,失常依照框架接口开发实现后,配合后盾进行配置编排和策略经营。*该状况一下会思考抽出一些能够复用的模块组件来积淀到组件池。2.动静功能模块:乐高联合悟空DSL的部分款式动静渲染能力,反对部分的动态化开发和公布。只须要一端在远端进行UI款式布局的编写,在聚合服务配置平台配合字段,再进行公布即可。研发效率和公布回收效率都能够晋升之前的一倍以上。3.组件功能模块:通过业务诉求迭代过程中形象积淀进去通用功能模块(如:宫格、banner、瀑布流...),后盾产运进行配置即可,无需研发反复投入和公布。复用后的提效成果最高。 研发流程 - 服务端 以前是“一杆子捅到底”的开发模式,每个展现场景的搭建须要经验过从接口的沟通到API的开发整个过程,基于新的聚合服务配置化平台的计划后,统主动具备多层复用及可视化、配置化能力。聚合服务的元数据开发和应用会有三个场景:1.场景一:最优状况拿来即用,此时取数性能和展现性能都曾经被积淀下来,研发同学须要做的只是创立查问计划,基于经营平台按需抉择须要的展现单元。2.场景二:取数单元能够复用,在展现上有字段差别,此时可能没有展现性能,然而通过平台查看到,数据源曾经接入过,只须要基于现有的数据源编写一段加工逻辑即可。3.场景三:纯新接入的场景,在初期计划刚开始落地的时候比拟常见,这个时候聚合服务平台还短少相干的元数据积淀,只须要依照标准规范将数据源接入进来,而后编写加工逻辑片段即可,之后这些能力是能够被继续复用的。 前后流程提效比照 现状乐高零碎是基于哈啰业务倒退过程中理论面临的问题,搭建的端到端页面动态化公布经营解决方案。做为App三大容器解决方案之一(Web容器,小程序,乐高容器),前后端能力买通,为业务赋能,帮忙产研提效、疾速验证业务方向。 目前乐高已在“哈啰APP首页"、“搜寻”、“钱包”等多个外围场景落地利用。并反对数次迭代性能动静公布,反对70%以上的模块性能迭代应用动态化开发或者组件复用,晋升研发效率,缩小保护老本。承载数千万DAU、线上运行近百个功能模块、每天数亿次加载渲染的稳定性和体验。 后续打算反对多个业务外围场景利用,帮忙研发标准化搭建页面,帮忙产品经营进行整个页面的动静编排。 瞻望 作者简介:刘欢,哈啰挪动端开发专家,2018年入职哈啰,主导哈啰App首页架构演进和性能优化,负责平台经营客户端团队相干工作。 本文系哈啰技术团队出品,未经许可,不得进行商业性转载或者应用。非商业目标转载或应用本文内容,敬请注明“内容转载自哈啰技术团队”。

November 28, 2022 · 1 min · jiezi

关于app:超详细图文保姆级教程App-开发新手入门二

上文咱们曾经胜利的创立了一个我的项目,接下来咱们讲述一下,如何导入、编辑、提交我的项目代码上面咱们持续。 开发调试4.1 我的项目导入 当用户创立一个新的利用时,Studio3 开发工具会主动导入我的项目代码,不须要手动进行代码导入。那么当咱们不是创立利用,而是须要导入一个曾经存在的旧的利用我的项目时,能够按以下教程内容进行操作执行。 启动 APICloud Studio3 开发工具,点击顶部菜单的「我的项目」-> 「导入我的项目」 在弹出菜单上咱们看到有 2 个选项,即「本地导入」和「云端检出」, 如果用户是第一次导入我的项目,本地并不存在我的项目代码,或者想重写生成一个我的项目代码正本,能够抉择云端检出;如果本地已存在我的项目,则抉择本地导入即可。 本地导入:在弹出的对话框中先选中预导入我的项目所在文件夹,再点击底部的「关上」按钮即可实现我的项目的本地导入。 云端检出:在弹出的我的项目列表中,抉择本人筹备导入的项目名称 -> 抉择筹备存储我的项目代码的本地文件夹 -> 点击底部的「Select Repository Location」按钮即可实现我的项目的代码导入。 PS1: 以上两种导入形式,开发者依据本人的理论状况抉择一种即可,如果抉择「云端检出」形式,则须要以后开发工具处于为已登录状态 PS2: 开发者如果本地已存在如 TortoiseSVN 小乌龟、Cornerstone 等第三方的 SVN 工具,开发者也能够通过第三方的 Svn 工具进行云端代码的导出,而后再通过「本地导入」的形式,将我的项目代码导入开发工具中。 具体的我的项目云端 svn 仓库的存储地址和明码的信息获取如下: 登录云端官网,进入控制台页面抉择对应的我的项目,并点击抉择代码页 -> 查看仓库地址及明码关上第三方 svn 工具,进行 svn 仓库的信息填写,实现 svn 我的项目的检出 (本文截图已 Cornerstone 举例,不同的 svn 工具的界面有所不同,但外围还是仓库地址、账户、明码这 3 个元素)4.2 代码同步更新实现我的项目导入后,某些场景可能须要咱们更新一下本地代码到云端最新版本(比方团队单干,或者本地我的项目代码不是最新版本),此时可按以下操作执行: PS: 也能够通过其余第三方 SVN 工具拉取代码的形式,实现代码的云端同步更新4.3 代码提交当批改完代码当前,咱们须要将本地代码同步更新到云端仓库,在弹出界面填写提交日志信息,提交当前,即可在云端 - 控制台 - 代码页面看到提交的代码记录信息。

November 24, 2022 · 1 min · jiezi

关于app:一文告诉你AVM中设置字体的方法

avm 是一种简便的多端开发框架,能够开发APP、小程序、H5。明天学习了一下应用 avm 开发 APP 怎么设置字体,上面将教训分享给大家。 所需步骤: 1.  将须要应用的字体文件放到代码包res 目录下。 2. 在 config.xml 中配置字体,配置示例: <preference name="font" family="sf" value="widget/res/sf.ttf" /> <preference name="font" family="hwxk" value="widget/res/hwxk.ttf" /> <preference name="font" family="alpht" value="widget/res/alpht.ttf" /> <preference name="font" family="pmkt" value="widget/res/pmkt.ttf" />3.  配置后提交代码到云端,而后从新编译自定义loader,下载安装。 4. 在代码中援用字体,示例如下: <template> <view class="page"> <view> <text class="font-text">测试字体1abc</text> </view> <view> <text class="font2">测试字体2abcd</text> </view> <view> <text class="font3">测试字体2abcd</text> </view> <view> <text class="font4">测试字体2abcd</text> </view> </view></template><script>export default { name: 'test1', apiready() {//like created }, data() { return { } }, methods: { }}</script><style>.page { height: 100%;}.font-text { font-size: 18px; font-family: sf; color: #000;}.font2 { font-size: 18px; font-family: hwxk; color: #000;}.font3 { font-size: 18px; font-family: alpht; color: #000;}.font4 { font-size: 18px; font-family: pmkt; color: #000;}</style>5.  将代码全量同步到自定义loader中查看成果(如果同步后没失效,能够重启loader再查看成果): ...

October 19, 2022 · 1 min · jiezi

关于app:AVM-拖动组件-movableview-介绍

利用开发中拖动性能是比拟常见的 ,如滑动解锁,滑动验证码,实现一些小游戏,少儿编程中常见。 avm.js 是多端开发框架,一套代码可同时编译为APP 、小程序、h5。 avm 框架中实现拖动性能非常简单,先应用 movable-view 标签定义一个可挪动区域,并指定宽高,代码如下: <template> <view class="page"> <movable-area class="movable-area"></movable-area> </view></template><script> export default { name: 'test3', apiready(){//like created }, data() { return{ } }, methods: { } }</script><style> .page { height: 100%; } .movable-area { width: 200px; height: 200px; background-color: #c4bfbf; }</style>再应用 movable-view 标签定义一个可挪动区域,指定宽高,代码如下: <template> <view class="page"> <safe-area> <movable-area class="movable-area"> <movable-view class="movable-view"></movable-view> </movable-area> </safe-area> </view></template><script>export default { name: 'test3', apiready() {//like created }, data() { return { } }, methods: { }}</script><style>.page { height: 100%;}.movable-area { width: 200px; height: 200px; background-color: #c4bfbf;}.movable-view { height: 50px; width: 50px; background-color: #e0a9a9;}</style>此时,咱们运行代码,发现滑块还是不可拖动的。咱们须要在 movable-view 上增加一个属性 direction; ...

September 13, 2022 · 2 min · jiezi

关于app:APICloud-平台常用技术点汇总讲解

平台介绍: 应用 APICloud 能够开发挪动APP、小程序、html5 网页利用。如果要实现编写一套代码编译为多端利用(挪动APP、小程序、html5 ),需应用 avm.js  框架进行开发。如果只开发APP,则能够应用前端技术(HTML5、Vue、react 等)、avm.js 进行开发,还能够应用模块商店大量的原生模块以及多端组件。 API对象:  封装了十分罕用的接口,如窗口操作,网络申请,媒体播放,事件监听,是开发中用到频率最高的。目前大部分API对象接口已适配了微信小程序,在多端开发文档中有阐明。 窗口操作教程,详见 https://blog.csdn.net/ff_888888/article/details/122196826 模块应用教程,详见  https://blog.csdn.net/weixin_43947457/article/details/122540956 开发工具应用教程,  详见  https://docs.apicloud.com/apicloud3/#/overview/devtools?index=0&subIndex=3 应用开发工具能够新建我的项目,编写代码进行开发。能够治理代码,提交代码到云端,而后编译测试版或正式版安装包。 开发控制台:指APICloud官网开发控制台,有很多性能,如创立利用,上传利用图标,上传利用启动页,上传利用证书,云编译(生成安装包),版本更新,云修复等。 avm.js 学习办法: 首先看一遍官网文档,能够运行一遍其中的示例代码。有些人感觉学习一种新技术会很艰难 ,不违心去学习。首先要打消这种心态,只有一步一步去学习还是很简略的。通过浏览文档咱们发现 avm.js 的语法和html 有相似之处,都是一些标签,属性,和事件。和 vue 也很相像,指令、生命周期、组件这些都很像,所以如果有html ,js 根底, 或者学过 vue ,会感觉很容易学。 看一下简略的示例页面: <template> <scroll-view class="main" scroll-y> <button onclick={this.btnAction}>默认按钮</button> <button class="btn" onclick={this.btnAction}>自定义按钮</button> </scroll-view></template><style> .main { width: 100%; height: 100%; } button { margin: 8px; } .btn { width: 200px; height: 40px; color: #fff; background-image: linear-gradient(to bottom, #00b, #006); }</style><script> export default { name: 'button-test', data(){ return { } }, methods:{ btnAction(e){ api.alert({ msg: '触发了点击事件' }); } } }</script>开发流程入门视频教程:https://ke.qq.com/course/4365948/12486500725988988?\_wv=2147487745#term\_id=104530623 ...

August 12, 2022 · 1 min · jiezi

关于app:企业开发一个自己的APP有哪些好处

随着挪动互联网的倒退和智能手机的宽泛遍及,咱们的生存变得越来越智能化、信息化和网络化。人们不仅能够足不出户就能吃到美味的食物,还能够理解天下事,结交敌人。手机不再仅仅是一个通话的工具,更多的是一个集聊天、领取、娱乐等为一体的数据库,而这所有的便当都离不开手机APP的疾速倒退!所以当初越来越多的企业致力于开发本人公司的APP,你晓得开发APP的益处吗?接下来深圳至佳科技就跟大家谈一谈。开发属于本人公司的APP有哪些益处? 1、安全系数高,安全性高 依据苹果操作系统自身的特点,苹果APP软件开发针对iOS生态采取了关闭措施,建设了欠缺的开发者认证和利用审核机制。利用审核特地严格,无效防止了恶意软件的入侵。相比第三方平台,用户数据信息由本人掌控,更安全可靠。 2、利用开发有助于精准营销 开发利用能够晋升企业的品牌和名誉。消费者利用挪动互联网接触企业,通过APP理解更多的产品和服务,在建设品牌形象和消费者信任度方面具备不可代替的作用。 3、APP是一种新的流传载体 只有信息流传,社会能力倒退。过来,咱们离不开纸媒和煤炭;明天,咱们离不开网络宣传。APP的开发是线上宣传的重要渠道,也是产品公布的新渠道。APP的开发能够进一步实现从精密媒体到手机媒体、多媒体等繁多媒体的转变。 4、进步企业的品牌高度和信用 在每个人都领有智能手机的时代,用户能够通过手机应用程序间接与公司沟通。它让用户对公司的产品和服务有了更深刻的理解,在建设品牌形象和减少消费者信任度方面有着不可代替的作用。 5、APP能够升高广告老本 开发APP,让企业以最低的广告老本获得最佳的推广成果。与传统广告形式相比,APP广告不须要依照点击量和播放量付费,其图文并茂、活泼形象的广告模式在老本和成果上更胜一筹。 6、数据更新速度快 与传统营销模式相比,它能够不依附其余力量而独立进行营销。一个APP能够把所有的营销零碎整合在一起。挪动营销让营销信息一眼就能吸引客户的注意力,更新速度很快,比方新产品、新服务或者新信息同步公布更新,任何信息只能更新一次。客户应用APP时,内容会随着浏览自动更新。 7、留住老客户,吸引客户 通过手机APP,用户能够间接与企业沟通,实时获取最新消息和流动,提供信息等。通过积分会员模式,留住老用户,造成稳固的用户群。还能够设置团战、全场打折、限时打折等流动,激励用户参加,促成销售。 当初,一个属于本人的APP,根本曾经成为企业的标配。如果您的公司还没有APP,须要尽快制作。当然,如果你想开发一款APP,能够分割深圳至佳科技,咱们会为你开发一款属于你本人的手机APP,帮忙你进行企业宣传和品牌推广。

July 7, 2022 · 1 min · jiezi

关于app:即时通讯sdk版和集成版都有什么区别呢

即时通讯软件是咱们日常交换和办公的好帮手,在互联网信息时代即时通讯的应用在很大水平上扭转了传统依附电话、短信等通信实现交换的形式路径,让交换和沟通更加便捷,让用户的需要失去最大化满足。明天咱们简略理解一下即时通讯集成版和sdk版本的区别。 即时通讯软件置信大家都不算生疏,但对于即时通讯的具体分类很多敌人一头雾水,以后罕用于企业单位信息交换沟通的即时通讯软件有集成版和sdk版两种类型,这两种版本的即时通讯软件性能特点上有肯定相似性,但具体划分下来还是有很大区别的。 即时通讯集成版顾名思义就是信息系统集成技术下产生的即时通讯软件。即时通讯集成版在软件市场上具备很高的价值,集成版能够将即时通讯软件的各种独立性能集成后汇聚成一个整体,从而为用户提供性能服务,因而咱们通常认为即时通讯集成版的性能更加全面,并且能够定制。即时通讯集成版的性能定制特点也是很多企业抉择它的次要起因,在互联网信息时代系统集成技术的利用可能让用户向互联网厂商定制不同类型的即时通讯软件,而即时通讯集成版因为能够依据客户需要进行定制,在性能上更加具备灵活性、发展性与可操作性,即时通讯集成版在投资方面也具备更好的体现。若理解即时通讯源码,可征询星动云IM。相较于即时通讯集成版来说sdk版的即时通讯软件在普通用户中知名度不显。sdk版本也就是常说的软件开发工具包版本,不同于集成版即时通讯能够在软件性能上进行增加删减,sdk版本在开发性上具备更好的体现,可能实用于软件工程师的工作要求,能够给予软件包、软件框架、硬件平台等进行开发。即时通讯sdk版对于软件工程来说具备更高的利用价值,客户也能够依据本人的需要通过程序语言的设计,让即时通讯软件更加合乎本人的需要,同时sdk版的即时通讯软件能够用于进行一些更加高品质的即时通讯软件开发,比惯例性能堆砌的集成版具备更强的创新性。 无论是即时通讯集成版还是sdk版在现阶段的网络通讯中都具备重要的意义,对于客户来说想要通过即时通讯软件的投资、开发和利用获取更好的利益,须要着重剖析本人的需要在二者之间进行取舍。性能导向以及需要导向是现阶段抉择即时通讯软件的要害,集成版在系统集成的横向纵向划分中也有了更深刻的体现,而sdk版也在一直倒退和演变,只有依据理论需要进行抉择能力更好的施展即时通讯软件的作用与价值。理解更多能够登录官网征询 https://www.tokim.cn

July 5, 2022 · 1 min · jiezi

关于app:app分发平台源码开源应用分发搭建

 配置散发平台 要容许 Android 上的app散发平台应用凭据,services必须在我的项目上启用该插件。这须要批改Android目录中的两个文件。 演示:s.appwin.top 首先,将services插件增加为文件中的依赖项/android/build.gradle: buildscript { dependencies { // ... other dependencies classpath 'com.gms:services:4.3.12' // Add me --- /\ }} 最初,通过将以下内容增加到/android/app/build.gradle文件中来执行插件: apply plugin: 'com.android.application' apply plugin: 'com.gms.services' // <- Add this line iOS 设置 为了让 iOS 利用平安地连贯到您的app散发平台我的项目,必须下载配置文件并将其增加到您的我的项目中,并且您必须在 CocoaPods 中启用框架 生成 iOS 凭据 在app散发平台管制台上,增加一个新的 iOS 应用程序并输入您的我的项目详细信息。“iOS 捆绑包 ID”必须与您的本地我的项目捆绑包 ID 匹配。应用 Xcode 关上我的项目时,能够在“惯例”选项卡中找到捆绑 ID。 下载Service-Info.plist文件。 应用 Xcode,关上我的项目/ios/{projectName}.xcodeproj文件(或者/ios/{projectName}.xcworkspace如果应用 Pods)。 右键单击项目名称和“增加文件”到我的项目中,如下所示: 通过 Xcode 增加文件 从您的计算机中抉择下载的GoogleService-Info.plist文件,并确保启用“如果须要,复制我的项目”复选框。 抉择“如果须要,复制我的项目” 应用 iOS 凭据配置散发平台 要容许 iOS 上的app散发平台应用凭据,必须在应用程序的疏导阶段配置app散发平台iOS SDK。 为此,请关上您的/ios/{projectName}/AppDelegate.m文件,并增加以下内容: 在文件顶部,导入app散发平台SDK: #import <Firebase.h> 在您现有的didFinishLaunchingWithOptions办法中,将以下内容增加到办法的顶部: ...

July 3, 2022 · 2 min · jiezi

关于app:各类小程序如何授权微信登录

随着小程序生态的倒退,app配套小程序运行能力曾经成为大势所趋。其中,小程序微信受权登录是在挪动互联网疾速倒退的当下,基于小程序技术不再是BAT专属的理论状况而产生的事实应用问题。对于少数小程序商户来说,所开发的小程序都是基于微信生态而建设的用户受权登陆体系,受众较广并且用户接受度高广;对于用户来说,关上小程序后就能够一键受权容许小程序应用本人的微信头像、昵称、手机号或相干信息,实现更加便当的操作。那么,是否将小程序商家之前开发的微信小程序平滑地迁徙至其余APP进行上架,并持续沿用微信受权登录体系呢?FinClip通知咱们,这是能够实现的,具体步骤如下: 一、受权关联微信登录用户须要将由FinClip 设计的小程序受权页面减少至已有的小程序代码包之中并提交审核,随后将关联的微信小程序的原始 ID,受权页面链接别离填入「关联微信登录」弹窗进行关联,当用户关上非微信平台小程序时,如须要调用登录体系,则会疏导用户关上微信查看对应页面进行受权,由FinClip实现用户登录数据同步。 二、实现用户数据同步随后当用户关上非微信平台小程序时,如须要调用登录体系,则会疏导用户关上微信查看对应页面进行受权,由 FinClip 实现用户登录数据同步。最终用户就能够借助微信实现用户登录。FinClip 还反对「一码通」性能,通过微信或是通过集成了FinClip sdk 的APP 扫描同一个二维码,关上的小程序场景页面都是统一的,可实现线上线下、域内域外联动。在FinClip上架的小程序间接具备用微信登录能力,可基于微信生态建设对应的用户登录体系,无需批改任何一行代码。具体阐明请上官网理解。

June 8, 2022 · 1 min · jiezi

关于app:即时通讯为企业办公带来了怎样的便利

互联网时代越来越多的生存和办公条件失去了便当,特地是在即时通讯软件方面的倒退,更是让咱们从日常人际交往到工作交换都变得更加便捷。即时通讯为咱们办公发明了怎么的便当条件? 1、即时通讯为办公带来了更加及时的信息反馈。在传统的通信联系形式上,特地是大量数据的剖析和回顾,须要通过电子邮件发送以及面对面交换或者电话通信等形式进行交换,这种沟通形式尽管保障了公务解决的可行性,然而工作效率和成果大打折扣。而即时通讯的产生,在通信联系上进行了更好的改善,可能便于工作对接更加及时和无效。咱们在即时通讯软件上能够与上级领导和上级员工进行交换和沟通,条件须要的状况下能够把整个小组成员拉至同一分组,独特进行问题的探讨,无论间隔多远,只有有手机电脑等工具,就能够进行即时通讯,帮忙咱们更好的进行问题的探讨。 2、即时通讯为办公节约了各种资源。在互联网倒退时代,通信信息相干的资金节约是比拟显著的,尤其是网络通讯遍及和流量费用升高的状况下,即时通讯可能有比电话通信费用等更加实惠的劣势,让咱们在办公中很好的节约通信费用,更好的进行资金节约,将更多的资金运用到研发和生产当中去。 3、 即时通讯为办公发明了更加无效的条件。即时通讯的产生让办公更加高效的同时,也为咱们的工作交换进行了更好的调整,云办公这种办公形式逐步成为互联网时代的新办公形式。咱们能够通过即时通讯的形式缩小日常工作对接中因为见不到人而产生的各种问题,咱们能通过即时通讯让办公气氛趋于良好,相当一部分在办公室中容易呈现的人际交往问题,在即时通讯中容易防止,从而更加无效的进行工作。 4、即时通讯为互联网时代办公提供了良好的条件,这种条件不仅体现在办公形式和模式上的转变,更体现在即时通讯对网络时代办公中工作气氛的扭转。即时通讯条件下的办公是更加简洁高效的办公模式,在即时通讯条件下进行办公也会产生一些其余发展趋势。若理解即时通讯源码,可征询星动云IM。 在信息时代,想要持续倒退即时通讯的高效办公劣势,不仅须要咱们理解即时通讯为办公带来了怎么的便当。更须要咱们深刻的剖析在即时通讯条件下,办公须要什么样的条件,比方咱们常见的网络通讯稳定性,员工在线时长统计,通信揭示的及时和无效等等。 互联网时代中即时通讯是办公中一项重要的沟通条件,在即时通讯的环境下进行会议交换、数据传递以及小组讨论等,都让咱们的日常办公条件更加方便快捷,可能让即时通讯中的工作效率大大提高,即时通讯是互联网技术以及办公倒退的重要趋势。

June 1, 2022 · 1 min · jiezi

关于app:实用工具-推荐10款令人惊艳的免费手机APP

前言 我是一个对各种软件、APP充斥着好奇心的人,闲暇的时候就会关上利用市场,破费上几分钟工夫看一下最近有没有什么陈腐的APP。 我也是一个十分挑剔的人,只管一个APP绝对于整部手机的内存能够忽略不计,然而当体验APP时不足以令我惊艳时我还是会毫不犹豫的把它卸载。 长此以往,我手机上的APP并没有多起来,然而通过各种筛选留下来的我认为都是有很多亮点的。本文就举荐10款不错的APP,后续如果遇到什么好用的APP会再次举荐。 备注: 集体应用的是光荣手机,所以下述APP均可在华为利用市场下载,其余Android零碎的品牌手机应该也能够找到对应的APP。1. 一个木涵 我认为这款APP能够称得上"APP中的百宝箱",它一款APP汇合了几十甚至上百款APP的性能,它的包含但不限于如下性能, OCR图片文字辨认文件清理动物辨认动物辨认菜品辨认果蔬辨认历史上的明天进制转换画板工夫屏幕汇率转换快递查问网速测试指南针二维码生成GIF合成表情制作获取壁纸......2. 全历史 当我体验一段时间全历史这款APP时我被惊艳了,令人耳目一新。 我是一个历史爱好者,也是我保持工夫最长的一个兴趣爱好,然而这么多年来无关历史的书籍、工具从没有让我眼前一亮的感觉,大多数都是枯燥乏味、千篇一律、高深莫测,兴许这就是越来越少的人喜爱历史的起因吧。 当我看到这一款APP时,我感觉它真的不同凡响,它蕴含历史地图、关系图谱、国家历史、古书籍、画作、疆域变迁等内容。以时间轴的形式直观展示历史的变迁和高低承接关系,十分吸引人。另外,关系图谱这项性能引起了我的极大趣味,它直观的展示你所关注人物的关系网络,甚至能够推至几百年前,让你感觉原来历史这么微妙。 3. 咔嗒 多媒体流行的时代,图像在外面占据着不可代替的位置。我同样也是一个摄影爱好者,每当去到一个中央喜爱拍一些体现不同风土人情、天然风貌的照片。然而我又是一个对修图无所不通的人,因而每当和敌人谈起不修图时我美其名曰"我喜爱天然、原始的样貌"。其实,适当的修图可能让一幅图像更加有意境,更加吸引人。然而PS这些技术太难学了,尽管近几年所谓的“一键丑化”工具层出不穷,然而我感觉99%的APP都是噱头,与其说一键丑化,倒不如说是“一键不三不四”。 当体验咔嗒这款APP时我并没有抱多大心愿,然而体验后登时让我改观,成果真的让其余丑化APP黯然失色。它是一款基于AI的丑化工具,可能精准辨认图像中的物体,例如汽车、天空、海、建筑物等,而后依据不同的场景抉择对应的滤镜对其进行丑化,真正能够称得上“一键丑化”,上图中左图为原图,右图为一键丑化的图片,没有通过任何手动调整的图片。 4. 不做手机控 手机在咱们生存中的位置越来越无奈取代,学习时、工作时、走路时、吃饭时、排队时...无论何时何地总是不乏抬头族。缓缓的手机成了让人又爱又恨的货色,它确实给生存带来了很大的便捷和乐趣,然而也确实占据了很多贵重的时光。可是没方法,自制力是一件很难做到的事件,仅凭本人的意志太艰难了。 和丑化工具一样,近几年批评手机负面影响的人越来越多的同时,习惯养成类APP也层出不穷,然而我认为大多数都是在向用户进行斗争,在一些不痛不痒的地带进行束缚,制约权还是在用户本身。我感觉不做手机控是一个另类,它相比于其余APP要求更高的权限,当然,它的管制力度更强,当你在打算工作工夫内它能够束缚除白名单外的任何APP,连本人都无奈解开,除非耗费积分。此外,它还有睡眠打算、白噪声、手机应用统计等实用功能,让你对本人的应用状况高深莫测。 5. Stork Stork中文名文献鸟,是一款由斯坦福大学钻研人员开发的一款文献追踪神器。 对于高校学生、科研人员,或者从事偏钻研性质岗位的工作人员而言,须要一直的跟踪本人所在畛域的前言成绩。当然这有很多种办法,能够用谷歌学术订阅对应作者的动静,能够每天关注arXiv,然而我集体并不喜爱这样的形式,以谷歌学术为例,如果我订阅李飞飞的相干文章,她每年挂名的文章可能多达几十篇,而且我认为其中90%是不值得破费工夫看的,换句话说,通过arXiv和谷歌学术追踪到的信息很多是没价值的。 而Stork不同,你能够灵便应用这款APP,能够像谷歌学术那样通过作者名进行订阅,也能够通过关键字进行订阅,它会依照你本人规定的推送频率给你邮件推送相干文章,依照影响因子进行排序,同时还会提供相应文章的下载链接,十分不便。 6. 句读 柔美的句子总是在不经意之间直击人的心灵深处, 人在无端微笑时,不是百无聊赖,就是苦楚难当。(王小波《黄金时代》)我之所以举荐句读这款APP是因为它的特立独行,信息爆炸的时代,各种文字类相干的APP都变了滋味,每天推送数不清的文章,而大多数都是没有任何印象的内容,这就锤炼一个人从嘈杂内容中过滤有价值信息的能力。还好有这款句读APP,它每天精选一句话,仅仅一句话,从社区中提炼出一句热门、柔美的句子。兴许每天你只须要停留5秒钟,长此以往就会发现自己播种了很多。 7. 白描 图片和PDF转换成可编辑的文字始终以来都是一件令人困扰的事件,转化后的文本凌乱,品质差。因而,始终以来我并不信赖各种所谓的OCR工具,直到遇到白描这款APP,可能精准、高效的辨认图片中的文字,转换后的文本整洁、洁净,同时速度十分快,能够看一下上图中辨认图片中文字的成果。 另外须要阐明一下,普通用户每天限度辨认5次,我感觉这对于大多数用户曾经足够应用甚至用不完。 8. 夜间护眼 咱们对手机的依赖越来越重,看书、追剧、看新闻、社交等等,每天眼睛对着屏幕的工夫占比十分高,长此以往,对眼睛的挫伤天然很重大。一些手机制造商逐步的开始在手机中退出夜间模式,其实齐全没有必要苦苦期待一个定制化的零碎性能,不如尝试一下夜间护眼这款APP,它反对夜间、助眠、浏览、游戏等模式,还反对手动调节屏幕色彩,可能针对不同场景设置不同的屏幕色彩,这样在保障咱们应用手机的舒适感的状况下同时爱护了咱们的眼睛。 此外,它还有很多实用的小性能,例如强制横屏让你的手机秒变平板、视力测试等。 9. 讯飞语记 我认为养成记录是一个很不错的习惯,俗话说“好记忆不如一个烂笔头”,然而情理都懂,记录是一件让人感觉很麻烦的事件。讯飞语记让这件事件变的简略起来,讯飞在语音辨认畛域的积淀天然不必多讲,十分厉害,它可能通过对你谈话的语音进行疾速、精确的辨认,而后做好记事记录。此外,它不仅限于一款语音记事APP,它还反对文字辨认、待办事项,同时还能够用于笔记排版。 此外,语言方面讯飞语记在语言/方言方面反对普通话、英语、粤语、四川话、西南话、河南话、山东话、上海话、武汉话、闽南语。 10. 藏书馆 兴许,电子浏览有很多利润可图,因而,越来越多的互联网、传统出版公司开始进入这一块畛域。那些被夸赞的天花烂坠的浏览APP试用了很多,无一例外,均采纳大量收费诱导,而后让你不得不付费的伎俩,直到我遇到藏书馆这款APP,能够说让我恍然大悟,和其余电子浏览千篇一律的模式不同,藏书馆采纳凋谢、共享的经营模式,其余书友能够在这里分享他们的书籍,而后你能够收费的借阅,这就给这款浏览APP带来两个无法比拟的劣势: 收费资源丰盛

May 31, 2022 · 1 min · jiezi

关于app:移动App测试崩溃常见的测试场景

挪动App测试解体常见的测试场景 01.验证在有不同的屏幕分辨率,操作系统和运营商的多个设施上。 02.用新公布的操作系统版本验证。 03.验证在如隧道,电梯等网络品质忽然扭转的环境中。 04.通过手动网络从蜂窝更改到Wi-Fi ,或反过来,验证。 05.验证在没有网络的环境中的App行为。 06.验证复电/短信和设施特定的警报(如警报和告诉)时。 07.通过扭转设施的方向,以不同的视图模式,验证。 08.验证设施内存不足时。 09.通过用测试工具施加载荷验证。 10.用不同的反对语言验证。 举荐浏览: App测试、Web测试和接口测试个别测试流程 App功能测试纲要总结 APP兼容性测试的目标和要求是什么? APP兼容性测试难点在哪里?

May 9, 2022 · 1 min · jiezi

关于app:App测试Web测试和接口测试一般测试流程

app测试流程: 1、需要剖析,理解具体需要 2、测试筹备:原型图、效果图、需要文件、测试用例、用例评审、各种测试数据筹备 3、测试环节:承受版本,开始执行 1)冒烟测试:对版本品质的管制以及此版本是否具备测试条件; 2)装置、卸载测试:通过商店装置,且反对应用第三方工具装置 3)在线降级测试:验证数字签名、在线跨版本升级、降级后可应用 4)业务功能测试:业务逻辑测试、性能点测试、关联性测试;对需要和测试用例笼罩 5)稳定性及异样性测试:交互性测试(客户端多种打搅测试,待机拔插线等操作)、断 网 、 断电异样等状况客户端稳固 6)性能测试,服务器接口,多线程压测;客户端不同网络下的响应速度 7)易用性测试:界面与交互性测试,合乎交互标准,用户体验良好,应用方便快捷 8)适配性测试:分辨率,不同版本零碎,不同尺寸等反对 9)提交bug,争议bug评审,回归测试 10)手机流量及电量测试:客户端应用监控电量和流量软件,确定符合规范 11)内存泄露测试 12)联机调试测试,关上调试模式,通过logcat记录每个操作,不便谬误定位 13)外网测试:笼罩wifi、2g、3g、4g,电信、挪动、联通所有组合测试 14)自动化测试 a、ui自动化测试 :个别应用python+appium进行ui自动化测试 4、公布性能,上线验证,公布上线报告 web测试流程 1、需要剖析,理解具体需要 2、测试筹备:原型图、效果图、需要文件、测试用用例、用例评审、各种测试数据筹备 3、测试环节:承受版本开始执行 1)冒烟测试:对版本品质的管制以及此版本是否具备测试条件; 2)UI测试:核查效果图 3)功能测试:核查需要文件测试用例,对性能进行验证 4)兼容测试:各个浏览器,手机是否兼容 5)性能测试,服务器接口,多线程等压测 6)平安测试 7)易用性测试:界面与交互性测试,合乎交互标准,用户体验良好,应用方便快捷 8)提交bug,争议bug评审,回归测试 9)自动化测试 a、ui自动化测试 :个别应用python+selenium进行ui自动化测试 4、公布性能,上线验证,公布上线报告 接口测试流程 1、需要剖析:接口之间的逻辑关系,接口文档具体理解 2、测试筹备:接口文档、接口测试用例、各种测试数据筹备 3、测试环节,承受版本 1)功能测试:功是否依照接口文档实现 2)业务逻辑:是否依赖业务 3)参数异样:a关键字参数(语言中的关键字)、b参数为空、c多少参数、d谬误参数 4)数据异样:a关键字数据、b数据为空、c长度不统一(短处数据库字段长度)、d谬误数据 5)平安:cookie、header(特地是挪动端应用)、惟一识别码(客户端罕用) 6)回归测试 7)自动化测试:个别应用python+requests进行接口自动化测试 4、公布性能,上线验证、发送上线报告 举荐浏览: 什么是冒烟测试? Bug治理的个别规范流程 继续集成,继续交付,继续部署三者之间有什么异同? 疾速找出bug的几点倡议 App功能测试纲要总结

May 7, 2022 · 1 min · jiezi

关于app:移动APP性能测试包括哪些方面

挪动App性能测试次要测试App在边界、压力等极其条件下运行是否满足客户需要,例如在电量有余、访问量增大等状况下App运行是否失常。上面介绍挪动App的性能测试要点。 1.边界测试 在各种边界压力下,如电量有余、存储空间有余、网络不稳固时,测试App是否能正确响应、失常运行。 2.压力测试 对挪动App一直施加压力,如一直减少负载、一直增大数据吞吐量等以确定App的服务瓶颈,取得App能提供的高并发服务级别,确定App性能是否满足用户需要。 3.响应能力测试 确应能力测试本质上也是种压力测试, 在肯定条件下 App是否能够正确响应,响应工夫是否超过了客户需要。 4.耗能测试 App测试运行时对挪动设施的资源占用状况,包含内存、CPU耗费,App长期运行时耗电量、耗流量状况,验证App对资源的耗费是否满足用户需要。 举荐浏览: 性能测试须要做些什么? 性能测试分为哪几种类型? 性能测试常见的一些指标 性能测试中常见的的三大误区

April 28, 2022 · 1 min · jiezi

关于app:APP兼容性测试难点在哪里泽众云测试

APP兼容性测试,在于须要笼罩不同的android零碎版本、不同的手机品牌和型号、不同的分辨率。 当然,这是外表的起因,不是具体影响的内容。 通过咱们的理论教训,咱们发现,兼容性测试的几个难点是: 第一,app的装置和受权。 第二,app对象在不同手机上的变动。 第三,平安键盘和字体导致的差别。 咱们先看app的装置。 当咱们去装置一个app,咱们晓得,不同的手机采纳了不同的装置平安控制策略。比方,简略的会询问平安起源是否容许,简单的须要输出以后手机的pin来容许装置。 当咱们应用自动化脚本来装置,就须要辨认不同手机对安全控制的解决,反映在界面上,就是要动静辨认装置时候弹出的各种询问解决、明码输出等状况。 实际上,简单的状况是,当零碎弹出须要输出pin的界面的时候,出于安全性的思考,自动化测试工具却无奈辨认、无奈“发现”这个界面,对于自动化测试工具来说,就是“一片光明”,就是什么都没有。因而,这种状况下,是无奈实现自动化装置的。 所以,总结一句话,所谓一个脚本可能实现所有手机的自动化测试,都是耍流氓。你须要手工去装置APP给这些非凡的手机。具体是哪些型号,就不点名了。 再看受权。 当装置实现,第一次启动app,会怎么样?会弹出很多受权窗口,须要你来容许拜访。这个受权窗口的弹出,跟APP其实是没有关系的(也有一点,就是app须要申请什么样的权限),于是就又回到了跟装置相似的问题,这时候,须要解决的不是利用解决的脚本,而是各个手机受权的脚本,一样的不肯定可能99.99%的自动化解决。 所以,咱们反复一下,说写一个脚本就可能实现所有的操作,无需人工干预的,就是耍流氓,不,是坑骗客户。 当然,自动化的解决,可能实现80%以上的状况,还有5%-20%是难以解决的,因为会遇到各种状况,特地是手机开发厂商处于平安的思考,不容许辨认屏幕对象,不容许镜像屏幕的时候。 举荐浏览: 手机app兼容性测试,次要是针对哪些方面测试? 通过在线泽众云测试平台做APP兼容性测试精确吗?

April 28, 2022 · 1 min · jiezi

关于app:从第一代到第五代App加固技术详解

App加固技术性能倒退通过这几年的倒退APP加固技术,一直失去疾速迭代倒退,加固的强度也在一直的晋升。加固技术的倒退次要经验:动静加载、内存不落地加载、指令抽取、指令转换、虚拟机爱护。上面就别离对这些技术实现进行解析。 动静加载 Android动静加载加固技术用于爱护App利用的逻辑不被逆向与剖析,最早广泛在恶意软件中应用,它次要基于Java虚拟机提供的动静加载技术。因为动静加载技术次要依赖于java的动静加载机制,所以要求要害逻辑局部必须进行解压,并且开释到文件系统。这种动静加载技术不足之处在于:1.这一解压开释机制就给攻击者留下间接获取对应文件的机会;2.能够通过hook虚拟机要害函数,进行dump出原始的dex文件数据。 不落地加载 Android不落地加载技术,它是在动静加载技术的根底进行改良。它通过借鉴第一代加固的动静加载技术中,要害逻辑局部必须开释到文件系统的缺点,它次要新增文件级别的加解密。 文件级别的加解密技术次要有两种实现计划:1.通过拦挡零碎的IO相干函数,在这些零碎的函数中进行通明加解密。2.间接调用虚拟机提供的函数,进行不落地的加载。这种文件级别的加解密不足之处在于:1.因为在App启动时需解决大量加解密操作,它会造成App启动卡顿假死或黑屏景象,用户体验感较差;2.因为它的内存是间断的,通过hook要害函数就能够获取到间断残缺的dex数据。 指令抽取 android的指令抽取,次要在于函数根本的抽取爱护。通过应用android虚拟机自带的解释器进行执行代码。将原始App中dex文件的函数内容进行革除,并将独自挪动到一个加密文件中,在App运行的时候,再将函数内容从新复原到对应的函数体。 这一指令抽取技术的不足之处在于:1.应用大量的虚拟机内部结构,会呈现兼容性问题;2.应用android虚拟机进行函数内容的执行,无奈反抗自定义虚拟机;3.它跟虚拟机的JIT优化呈现抵触,达不到最佳的性能体现。 指令转换/VMP 它次要通过实现自定义Android虚拟机的解释器,因为自定义解释器无奈对Android零碎内的其余函数进行间接调用,所有必须应用java的jni接口进行调用。 这种实现技术次要有两种实现:1.dex文件内的函数被标记为native,内容被抽离并转换为一个合乎jni要求的动静库。2.dex文件内的函数被标记为native,内容被抽离并转换为自定义的指令格局。并通过实现自定义接收器,进行执行代码。它次要通过虚拟机提供的jni接口和虚拟机进行交互。这一指令转换技术实现计划不足之处在于:在攻击者背后,攻击者能够间接将这个加固技术计划当做黑盒,通过实现自定义的jni接口对象进行外部调试剖析,从而失去残缺的原始dex文件。 虚拟机源码爱护 通过利用虚拟机技术爱护(www.dingxiang-inc.com)App中的所有代码,包含java、Kotlin、C/C++等多种代码,虚拟机技术次要是通过把外围代码编译成两头的二进制文件,随后生成独特的虚拟机源码,爱护执行环境和只有在该环境下能力执行的运行程序。通过基于llvm工具链实现ELF文件的vmp爱护。通过虚拟机爱护技术,让ELF文件领有独特的可变指令集,大大提高了指令跟踪,逆向剖析的强度和难度。 App加固后的性能实现字符串加密:将App的源代码中敏感字符串做随机加密解决。在运行时进行对字符串动静解密,这样就能够防止攻击者,通过利用工具进行动态逆向剖析发现要害字符串信息,从而疾速定位到利用中的业务代码。 控制流平坦化:将so文件中C\C++代码中的执行管制逻辑变换为平坦的管制逻辑,从形象语法树层面进行深度混同,使得其在罕用反编译工具中,极大的升高反编译逆向代码的可读性,减少逆向代码的剖析难度。 指令替换:对代码中的运算表达式进行等效转换,使其在罕用反编译工具中,进步破解者逆向剖析门槛,无效的爱护外围算法的原始逻辑。 局部变量名称混同:对源代码中的变量名称进行做混同操作,混同后变量名称变成无任何意义的名称。这给剖析者加大了剖析强度。 符号混同:对App利用中的类名称、函数名称进行混同操作,增大间接用工具剖析难度,让反编译逆向工具,无奈间接通过类名称、函数名称进行疾速定位App的外围代码。 混同多样化:采纳在混同过程中引入随机性技术,在雷同的混同策略下,每次混同后的代码均不统一,进一步晋升攻击者通过利用工具进行动态剖析的难度。 不通明谓词:将代码中分支跳转判断条件,由原来的确定值变为表达式,减少程序逻辑的复杂性、升高代码的可读性。 防动静调试:对App利用进行防调试爱护、检测到配置防动静调试性能的类、办法、函数被IDA逆向工具进行动静调试时候,App利用进行主动退出运行操作,有利于爱护App利用间接被动静调试,从而进步攻防反抗的门槛。 防动静注入:对App利用进行防动静注入爱护,当利用zygote或ptrace技术进行App利用的注入操作时,App利用进行主动退出运行操作,以此进行进攻攻打方对App利用的非法操作,防止动态分析执行代码,从而达到动静爱护App利用平安。 HOOK检测:对App进行防HOOK爱护,检测到配置防hook爱护性能的类名、办法名、函数名在被frida、xposed等工具动静hook时候,App进行主动退出操作,以此进行进步进攻App安全性,爱护App不被注入攻打,抵挡歹意侵入。 代码段测验:对App利用中的代码段进行完整性校验,发现代码段被篡改,App利用进行主动退出运行,避免App利用中的代码逻辑被篡改,以此进行动静爱护App的源代码安全性。 完整性校验:对App中指定的函数级进行完整性校验,当利用被从新签名和代码的完整性受到毁坏时候,检测点进行触发App程序闪退,以此抵挡支流的调试器调试剖析,从而达到动静爱护程序平安。 通过实现源到源的虚拟化爱护,增强了源代码的安全性。通过多样化动态防护伎俩,实现控制流混同;字符串加密;符号混同等多样化伎俩全方位爱护代码,大大的进步代码动态逆向能力,让被逆向的代码无奈被了解。通过弱小动静防护伎俩,避免代码逻辑被篡改;爱护源代码反抗支流调试器,防止源代码被动态分析执行,防HOOK技术爱护代码不被注入攻打,进步动静逆向剖析的门槛。 App加固技术总结通过App加固技术不仅能够进步对逆向后的代码浏览难度、而且有利于升高App被破解、插入病毒、木马、后门程序等恶意代码的危险,同时也能加强用户隐衷数据、交易数据的安全性。通过App加固技术,也是为了更好应答国家对App平安合规监管检测的规范,升高App被第三方媒体曝光,从而重大影响企业品牌形象和信用,为企业和开发者的业务失常倒退保驾护航。 随着加固技术的疾速倒退和攻防反抗技术的疾速迭代,而虚拟机源码爱护技术作为以后支流的加固技术,置信在将来很长一段时间,它会始终占据主导且当先的位置,因为通过对源码的虚拟化爱护,从而可能为App提供足够强度的爱护。

April 19, 2022 · 1 min · jiezi

关于app:使用APICloud-AVM框架开发人事档案管理助手app实战

因为人事档案具备涉密性,所以本利用没有应用后盾服务,全副性能都在APP本地实现。 开发工具采纳 APICloud Studio3,基于VSCode的(PS:比基于Atom的autio2好用太多); 数据库采纳sqllite,没有应用UI框架,集体感觉AVM自身反对的flex布局配合自写CSS款式,齐全能够实现市面上所有的UI框架的元素,这个取决于集体功力。 一、我的项目思维脑图 二、性能介绍 1、人员花名册 2、编制状况 3、集体核心 三、技术要点 手势明码验证,本地数据库操作,语音播报。 用到的模块 我的项目文件目录 援用一下官网的对于目录构造的介绍 四、性能开发详解 1、首页导航 零碎首页应用tabLayout,能够将相干参数配置在JSON文件中,再在config.xml中将content的值设置成该JSON文件的门路。如果底部导航没有非凡需要这里强烈建议大家应用tabLayout为APP进行布局,官网曾经将各类手机屏幕及不同的分辨率进行了适配,免去了很多对于适配方面的问题。 app.json文件内容,对于json文件的命名是没有限度的,我习惯用app。 { "name": "root", "textOffset": 6, "color": "#999999", "selectedColor": "#006aff", "scrollEnabled": false, "hideNavigationBar": false, "bgColor": "#fff", "navigationBar": { "background": "#006aff", "shadow": "rgba(0,0,0,0)", "color": "#fff", "fontSize": 18, "hideBackButton": true }, "tabBar": { "background": "#fff", "shadow": "#eee", "color": "#5E5E5E", "selectedColor": "#006aff", "textOffset": 3, "fontSize": 11, "scrollEnabled": true, "index": 1, "preload": 0, "frames": [ { "title": "编制状况", "name": "home", "url": "./pages/records/organ" }, { "title": "人员花名册", "name": "course", "url": "./pages/person/organ" }, { "title": "集体核心", "name": "user", "url": "./pages/main/main" } ], "list": [ { "text": "编制", "iconPath": "./image/authoried-o.png", "selectedIconPath": "./image/authoried.png" }, { "text": "人员", "iconPath": "./image/person-o.png", "selectedIconPath": "./image/person.png" }, { "text": "我的", "iconPath": "./image/user-o.png", "selectedIconPath": "./image/user.png" } ] } }2、列表显示及分页 ...

April 2, 2022 · 12 min · jiezi

关于app:向工程腐化开炮-proguard治理

作者:刘天宇(谦风) 工程腐化是app迭代过程中,一个十分辣手的问题,波及到宽泛而细碎的具体细节,对研发效力&体验、工程&产物品质、稳定性、包大小、性能,都有绝对“荫蔽”而间接的影响。个别不会造成不可接受的阻碍,却时常蹦出来导致“阵痛”,有点像蛀牙或智齿,到了肯定水平不拔不行,但不同的是,工程的腐化很难通过一次性“拔除”来根治,任何一次“拔除”之后,须要无效的可继续治理计划,造成常态化的防腐体系。 工程腐化拆解来看,是组成app的代码工程中,工程构造自身,以及各类“元素”(manifest、代码、资源、so、配置)的腐化。优酷架构团队近年来,继续在进行思考、实际与治理,并积淀了一些技术、工具、计划。现逐个分类汇总,辅以相干畛域常识解说,整顿成为《向工程腐化开炮》系列技术文章,分享给大家。心愿更多同学,一起退出到与工程腐化的这场持久战中。 本文为系列文章首篇,将聚焦于java代码proguard,这一细分畛域。对工程腐化,间接开炮! 在Android(java)开发畛域,个别提到“代码proguard”,是指利用Proguard工具对java代码进行裁剪、优化、混同解决,从而实现无用代码删除(tree-shaking)、代码逻辑优化、符号(类、变量、办法)混同。proguard处理过程,对apk构建耗时、产物可控性(运行时稳定性)、包大小、性能,都有重要影响。 很多时候开发者会用“混同”来代指整个Proguard解决,尽管不精确,但联合语境来了解,只有不产生歧义,也无伤大雅。值得注意的是,google官网曾经在近几年的Android Gradle Plugin中,应用自研的R8工具代替了Proguard工具,来实现上述三个性能。但“代码proguard”的说法,曾经造成惯用语,在本文中除非特地阐明,“代码proguard”就是指处理过程,而非Proguard工具自身。 基础知识本章先简要介绍一些基础知识,不便大家对proguard有一个“框架性”的清晰认知。 性能介绍Proguard的三个外围性能,作用如下: 裁剪(shrink)。通过对所有代码援用关系,进行整体性的动态剖析,检测并移除无用的类、变量、办法、属性。对最终apk的减小,具备重要作用;优化(optimize)。这是整个Proguard处理过程中,最简单的一部分。通过对代码执行逻辑的深层次剖析,移除无用的代码分支、办法参数、本地变量,对办法/类进行内联,甚至是优化指令汇合,总计蕴含几十项优化项。一方面能够升高代码大小占用,另一方面,也是最为重要的,是可能升高运行时办法执行耗时;混同(obfuscate)。通过缩短类、变量、办法名称的形式,升高代码大小占用,对最终apk的减小,同样具备重要作用。同时,也是减少apk防破解难度的一个高级技术计划。上述三个处理过程,shrink和optimize交替进行,依据配置能够循环屡次(R8不可配置循环次数)。一个典型的Proguard处理过程如下: Proguard处理过程 其中,app classes包含application工程、sub project工程、内部依赖aar/jar、local jar、flat dir aar中的所有java代码。library classes则包含android framework jar、legacy jars等仅在编译期须要的代码,运行时由零碎提供,不会打包到apk中。 配置项Proguard提供了弱小的配置项,对整个处理过程进行定制。在这里,将其划分为全局性配置,以及keep配置两类。留神,R8为了放弃处理过程的统一可控性,以及更好的解决成果,勾销了对大部分全局性配置的反对。 全局性配置全局性配置,是指影响整体处理过程的一些配置项,个别又能够分为以下几类: 1、裁剪配置 -dontshrink。指定后,敞开裁剪性能;-whyareyoukeeping。指定指标类、变量、办法,为什么被“keep住”,而没有在apk中被裁剪掉。留神,R8和Proguard给出的后果含意并不相同。来直观看下比照:# 示例:类TestProguardMethodOnly被keep规定间接“keep住”,TestProguardMethodOnly中的一个办法中,调用了TestProguardFieldAndMethod类中的办法。# Proguard给出的后果,是最短门路,即如果多个keep规定/援用导致,只会给出最短门路的信息Explaining why classes and class members are being kept...com.example.myapplication.proguard.TestProguardMethodOnly is kept by a directive in the configuration.com.example.myapplication.proguard.TestProguardFieldAndMethod is invoked by com.example.myapplication.proguard.TestProguardMethodOnly: void methodAnnotation() (13:15) is kept by a directive in the configuration.# 后果解读: # 1. “is kept by a directive in the configuration.”,TestProguardMethodOnly是被keep规定间接“keep住”# 2. “is invoked by xxxx",TestProguardFieldAndMethod是被TestProguardMethodOnly调用,导致被“keep住”;“is kept by a directive in the configuration.”,TestProguardMethodOnly被keep规定间接“keep住”# R8给出的后果,是类被哪个keep规定间接命中,即如果类被其余保留下来的类调用,然而没有keep规定间接对应此类,那么此处给出的后果,是“Nothing is keeping xxx"com.example.myapplication.proguard.TestProguardMethodOnly|- is referenced in keep rule:| /Users/flyeek/workspace/code-lab/android/MyApplication/app/proguard-rules.pro:55:1Nothing is keeping com.example.myapplication.proguard.TestProguardFieldAndMethod# 后果解读: # 1. “is referenced in keep rule: xxx”,TestProguardMethodOnly是被具体的这一条规定间接“keep住”。不过,如果有多条规定均“keep住”了这个类,在此处只会显示一条keep规定。# 2. “Nothing is keeping xxxx",TestProguardFieldAndMethod没有被keep规定间接“keep住”2、优化配置 ...

February 10, 2022 · 4 min · jiezi

关于app:讲一讲应用服务的新鲜事儿

为了新性能的公布,以及 Linux 和 Windows 的改良,Azure App Service 团队付出了十分多的致力。很开心的是,咱们看到了Windows Containers 的正式版本,并可利用于App Service环境 v3上。此外,面向 Linux 和 Windows 客户的 Azure Monitor Logs 集成也正式公布了! 正式公布ASEv3上的Windows ContainersWindows Containers为App Service客户提供将Web工作负载迁徙到App Service的扩大选项,这些App Service可能具备更简单的装置和运行时依赖项。例如,开发者能够应用在 Windows 容器中运行的 Web 应用程序出现 HTML 和 PDF 页面。开发人员还能够通过自定义容器的 Dockerfile 来执行工作。在App Service上运行的所有 Windows 容器都应用 Hyper-V 隔离模式,因而客户能够释怀进行硬件级别的隔离。 App Service与Azure Monitor Logs集成App Service与 Azure Monitor Logs的集成现已正式公布,可供跨App Service平台的 Linux 和 Windows 的开发人员应用。无关设置 Azure Monitor Logs集成的更多详细信息,请参阅此文章,其中蕴含无关App Service上可用的各种基于文本的日志类型的更多信息。 其余更新新语言版本.NET 6 on App Service与 Application Insights 和 App Service's AppLogs(应用程序日志)齐全集成,为开发人员提供跨 Linux 和 Windows 的弱小可察看性和日志记录性能。Node 16 LTS 将不久后在Early Access 中提供,并将齐全反对生产工作负载。 Python 3.9很快就会变成一个齐全内置的语言堆栈,冷启动工夫失去改良。 ...

December 17, 2021 · 1 min · jiezi

关于app:元宇宙带来沉浸式智能登录你学会了吗

备受资本市场钟爱的元宇宙概念,正掀起一番番波澜。元宇宙作为虚实相融的互联网利用和社会形态,与沉迷式体验严密相干。 多重门路,打造无感知沉迷式智能登录《设计的法令》中曾提及“沉迷”的实质,即让人专一眼前指标,陷入由设计者营造的情景,从而忘却真实世界场景,从而带来虚构的、精力层面的感触和感知。就APP登录场景而言,作为用户关上利用的第一步,其绝大部分利用其登录与注册的款式都较为简单,与沉迷式场景心心相印。非浸入式登录页面使登录门路同利用场景,如看电影、社交等,齐全切割,如同正想好好享受一番电影之旅,忽然一个格调齐全不搭干的登录页面硬生生跳进去,打断用户的体验设想,成果可想而知十分差:用户既不会注册登录,场景体验又被打搅。在元宇宙大行其道的当下,各类利用的登录场景都应更具沉迷感,沉迷式智能登录成为了新命题。友盟+产品经营专家魏怡爽介绍了APP构建沉迷式登录的三大办法:其一,场景浸入模式。场景浸入模式作为全屏模式,往往视角较大且没有边框,在耳濡目染间对用户造成该利用没有限度的心理暗示。场景浸入模式往往是滚动、动静的模式。除横滚、纵滚、切屏播放等动静播放设计,还会在利用启动后间接进入浸入式视角,增强用户感知体验。其二,应用浸入模式,其往往以横屏或竖屏形式展示,背景采纳动态图片,虽不会像场景式那般活泼,但能够直观地体现该利用外围用处。因而,其通过插入应用场景图片,或者置入局部元素布局,从而高度贴合业务场景,加强用户的交互体验。其三,半屏或者弹框登录模式。可能疾速让用户进入沉迷式状态,使得用户在登录时不会跳戏,甚至回顾串联起方才的行为。不过,上述门路并非通过吸引用户眼球的形式使用户忘却本人正在登录利用,而是通过门路与一键登录相耦合的形式实现无感知沉迷智能登录,从而优化用户体验。所谓一键登录模式,是由运营商开发的一套号码认证流程,用户全程在可知的状况下实现登录。具体来说,当用户被动唤起注册/登录环节进入预取号页面时,预取号页面仅展现掩码号码,并提醒此环节须要受权,当其还是掩码时,开发者并不能获取到相干手机号数据。预取号页面必须插入运营商认证服务条款,且条款勾选框默认不勾选,提醒用户仔细阅读服务条款后再决定勾选,当用户被动批准服务条款后,号码认证闭环才得以实现。而后,一键登录按钮高亮,用户被动实现登录环节,开发者能力取得用户登录账号,让C端用户在自主、可知、受权、有选的状况下注册/登录环节,既爱护了用户,也爱护了开发者。值得注意的是,在此过程中,用户如不愿应用手机号码认证,仍可跳回其余验证形式,并在此状况下实现注册登录认证,最大水平保障流程的合规性。 登录模式优劣之辨,谁是最初的赢家为什么抉择本机号码认证和一键登录?市面上各种各样的登录形式互有优劣,以账户明码登录模式为例,其作为一种收费的模式,在各大畛域极为罕用。不过,该形式在用户留存率、危险安全性、用户体验以及用户行为追踪方面的利用并不现实。 不同用户有着本人特有的账户命名习惯,这同开发者治理账号体系的模式并不符合。此外,明码规定的愈发简单,也在肯定水平上折损了用户的体验。开发者也有作为用户因记不起来登录账户明码而放弃登录甚至卸载利用的经验。与此同时,账户明码模式也有着较高的平安危险,一旦用户被盗号,找回所消耗工夫、精力对于用户体验是极大的损耗,很可能导致开发者再也无奈触达用户。另一方面,社交账户受权登录也是当下较为风行的登录模式。例如用户能够通过微博,微信,支付宝等社交账户第三方登录或受权利用。尽管开发者能够在用户登录利用后获取OpenID或UnionID等标识,用于账号体系搭建,但社交账号登录的唯一性及可追踪性仍比拟差,有时候并不能通过这些信息指向一个惟一的人。实际上,用于第三方登录的OpenID或UnionID如果同时也是用户微信账号的话,开发者后续再想追踪用户便会有许多条件限度。比方开发者须要有公众号或订阅号,且用户关注该公众号或订阅号的状况下,能力通过OpenID或UnionID标识用户,所以其实追踪效率与成果并不现实。除第三方受权登录外,短信验证作为当下使用量较大的用户登录模式,其实也尤其劣势。短信验证自身基于运营商开发底层能力,通过API即可间接调取,较为便当。但短信验证模式始终须要期待短信收发流程,且短信自身是能够被技术手段窃取的,因而在用户体验与平安危险上仍存在优化空间。无论是传统账号密码登录,还是社交帐号受权登录,抑或是短信验证登录模式,均存在各自问题,并不值得举荐。与之相同,本机号码认证和一键登录的模式则较为全面,可能有效应对绝大多数场景问题。为何这么说?首先,一般而言单个用户至少领有两个手机号码,所以手机号码唯一性较高,更便于指向惟一的用户。其次,本机号码认证和一键登录并不需要用户输出账户明码、期待短信验证,或是跳转多个页面进行受权,而仅需看到页面受权,点击登录即可实现,全程仅一秒,因而其在用户体验与留存率方面体现极佳。除此之外,本机号码认证和一键登录两种模式都处于关闭、可控的业务流程,用户只能在其手机上实现该操作,不存在账户窃取行为,因而其平安危险极低,而C端用户实现手机号认证并登录后,开发者便可在非法合规的状况下,通过惟一的手机号追踪用户,因而号码登录毫无疑问是体现最好的一种模式。 登录场景的“三宜”与“三忌”打造一个优良的利用登录流程,除需优良的登录模式外,对页面、流程设计的打磨同样重要。对此,从帮忙开发者晋升C端用户体验的角度登程,开发者应做到“三宜”与“三忌”,助力开发者设计本身的登录和注册业务流,从而让用户的注册登录率和留存旋率达到最高。“三宜”第一宜,即简化登录流程,保障登录页面跳转数量降至最低,以1-2步为最佳。以某语音社交利用为例,其作为一个零碎利用,启动利用间接拉起注册登录页面,通过此类强登录模式吸引用户注册利用。第二宜,即通过场景浸入或应用浸入,置入利用业务场景元素。如教育利用可能会有老师与学生的教学场景,而游览利用置入各地风景名胜素材,从注册/登录页便建设同用户的品牌互动,进而传递利用用处与品牌价值。第三宜,则是辨别新老用户。新老用户登录场景实际上存在差别,开发者往往对新用户知之甚少,或新用户登录账号尚未应用过,因而登录流程可能需跳转两个页面,而老用户因为信息齐备,仅需单个页面即可实现登录,从而晋升交互体验,优化用户流失率。而第一忌为硬上浸入式动效,导致利用卡顿。开发者在设计浸入式动效时,肯定要思考利用的承受力,因为有的利用在拉取注册/登录页面时可能会有卡顿,相似的不晦涩感会极大侵害用户的应用体验。第二忌乃流程繁琐,需用户仔细阅读文字,而不从视觉区别登录层级。第三忌,则是登录需多页面跳转,导致层层散失用户。在元宇宙时代行将到来之际,注册/登录页面作为利用最后的端口,对用户登录率、留存率非常重要,而在泥沙俱下的时代,一个好的注册/登录流程设计则能助力利用吸引更多用户,从市场中怀才不遇。对此,友盟+作为国内当先的第三方全域数据智能服务商,同开发者深度耦合,推出友盟+智能认证,为开发者提供简略、平安的号码认证登录计划,一站式疾速集成,晋升注册转化率。目前友盟+智能认证号码认证成功率居于市场领先水平,服务端成功率更高达99.9%。可用工夫占比以分钟为计,稳定性高达99%,保障服务稳定性的同时助力开发者业务倒退。智能认证将参加友盟+年度大促“年末特惠精选流动”,低至78折,欢送开发者关注友盟+和智能认证产品官网。理解更多并立刻应用智能认证:https://www.umeng.com/u-verify 扫一扫退出友盟+ 技术社群与超过1000+挪动开发者独特探讨挪动开发最新动静欢送点击【友盟+】,理解友盟+ 最新挪动技术欢送关注【友盟全域数据】公众号

December 15, 2021 · 1 min · jiezi

关于app:App开发者不容错过的大盘点

上个月刚刚完结的Microsoft Ignite 2021堪称是亮点多多,明天咱们来为所有的App开发者做一个总结梳理。如果你的日常工作是无关利用开发与翻新的,或者对这个方向感兴趣,请跟着咱们一起全面理解一下吧。 内容亮点构建将来的翻新应用程序,咱们须要什么?开发者无时不刻地在推动翻新。对于如何把握可能带来影响力的机会,Ashmi首先分享了她的观点。而后,Donovan介绍了他对原生云的定义、微服务架构的益处,并与 Rick 就 DevOps 和 Chaos Engineering 开展了探讨。此次会议还波及如何使.NET和Java应用程序现代化。最初,Amanda Silver演示了在不受语言和框架的限度下,GitHub Actions、Codespaces和Playwright等工具如何助力开发、测试和CI/CD。上面的插图阐明了云原生和DevOps的局部,展现了新的Azure Container apps公众预览版,它是一种齐全托管的无服务器容器服务,专为微服务构建,可依据 HTTP 流量、事件或长时间运行的后台作业动静扩大。 对于容器和无服务器的翻新,在Azure上创立微服务应用程序**,大会中演示了Azure Container apps和Azure Kubernetes Service的Open Service Mesh(OSM)add-on,这是一个基于CNCF Envoy我的项目构建的轻量级、可扩大的云原生开源服务网格。 最新公布除了Azure Container apps和Open Service Mesh add-on for AKS,咱们还公布了Azure Communication Services, API 治理, Logic Apps, Azure Web PubSub, Java on Azure容器平台和DevOps.的新性能。 • Azure Communications services发表了两项行将进行的改良,旨在加强跨多个平台的客户体验:Azure Communication服务与 Microsoft Teams 的互操作性,用于匿名会议退出,12 月初正式公布;以及本月晚些时候SMS 短代码性能预览。 • 在AKS和Azure Red Hat OpenShift(ARO)上运行Java Enterprise Edition(Java EE)应用程序的新解决方案,现已在Azure Marketplace可用。客户能够将Azure Marketplace offers用于Oracle WebLogic Server on AKS以及IBM WebSphere Liberty/Open Liberty on AKS and ARO,在 Azure 上主动供给资源。 ...

December 12, 2021 · 1 min · jiezi

关于app:注意啦还没有支持64位系统的App开发者务必在12月底前完成这件事

近日,国内五大利用商店发表,将独特推动国内安卓生态对64位架构的降级反对,目标是更好晋升APP性能体验并降低功耗。友盟+ U-APM数据显示:市场上64位和32位的设施占比为65%和35%,32位设施产生解体景象次数是64位设施的4.8倍,无论从用户体验上还是设施占比来看,利用反对64位零碎必然是大势所趋 那么,开发者应该在何时反对64位零碎呢,咱们划了2个重点:1、如果是在小米、OPPO、vivo、腾讯利用宝和百度手机助手五大利用商店上架的App,无论是新上架/降级的利用都须要在2021年12月底前上传蕴含64位包体的APK包哦,不再承受仅有32位版本的利用。 2、而在华为利用市场新上架/降级的利用,可在2022年1月实现上传蕴含 64 位版本的APK包。 如果没有如期上传64位的APK包,可能会遇到“搜寻标签提醒”、“装置环节未适配揭示”和“分机型屏蔽”等景象。在适配64位零碎过程中,开发者可能会遇到线上稳定性以及解体的问题,此时,就能够借由第三方的利用性能监控工具,如:友盟+U-APM利用性能监控监控利用适配后的解体等稳定性状况。 这是在预示着安卓32位真正闭幕了吗?答案是:不。 从五大厂商公布的64位利用降级打算联结倡导来看,32位利用的最初反对工夫在2023年底。也就是说,2024年起,32位利用将不会在小米利用商店、OPPO利用商店、vivo利用商店、腾讯利用宝和百度手机助手等五大利用商店中取得持续更新。这并不是代表老手机上的利用不能用了,只是这些利用更新形式可能会受到影响,或者进行更新。 如果对你有帮忙的话,欢送给本文点个赞哦! 扫一扫退出友盟+ 技术社群与超过1000+挪动开发者独特探讨挪动开发最新动静欢送点击【友盟+】,理解友盟+ 最新挪动技术欢送关注【友盟全域数据】公众号

December 10, 2021 · 1 min · jiezi

关于app:场景化内容

一. 征文内容(场景化内容方向)1. 我的项目背景在上一年集体在校内的安卓利用实际中原创过一个小型的工具栏APP,起因是因为家里有老人正在应用新款智能机但不不便操作,很多罕用性能无奈找到导致老人的苦恼,趁着这次机会我集体制作了一个繁难的工具箱APP,不仅作为集体对安卓类利用的一次小实际,也是尝试给老人提供一个不便。 2. 所遇挑战一.Fragment切换首先想到的是APP内下标栏的按键切换,即为Fragment进行主页宰割,遇到的问题有如下:(1)在工程包内的Java代码中遇到应用MainActivity无奈失常继承Fragment这个类,导致很多Java办法无奈失常应用,以至爆红解体。(2)进行Fragment代替切换时程序失常关上然而闪退。(3)Fragment没有初始化导致程序失常关上然而闪退。 二.提早页面进入软件很多APP进入页面时有对应广告或者阐明,做了个小型的介绍页面以及触摸任何一个中央进行提早勾销进入APP,遇到的问题有如下:没有退出timer线程,单做时间延迟解决页面切换成果会有闪退,解体等状况。 3. 解决问题步骤一. Fragment切换解决办法(1)在工程包内的Java代码中遇到应用MainActivity无奈失常继承Fragment这个类,导致很多Java办法无奈失常应用,以至爆红解体的状况,不能依照平常一样才去Fragment继承,应继承FragmentActivity中的MainActivity达到与一般Activity类相符合的成果。(2)进行Fragment代替切换时程序失常关上然而闪退的状况,应该在layout文件中的activity_main文件里嵌入FrameLayout这样在java文件里的FragmentManager类即可失常调用getSupportFragmentManager(3)Fragment没有初始化导致程序失常关上然而闪退的状况,应该先在APP初始化一个固定页面 二. 提早页面解体解决退出以下两个类如果是图片界面能够用ImageView,先写好敞开欢送界面跳转的代码随后退出提早函数,利用intent的办法跳转,以及timer.schedule进行提早,延迟时间可本人选定。 二.我的项目总结一个大型APP须要更多的线程以及逻辑调度,这次自己尽管是小型APP,然而作为刚开始接触安卓利用开发的我也犯下很多苦恼的错,尽管目前应用在晦涩度提高以及简直没有解体bug的前提下,也有很多有余,应采取一下措施:(1) 页面名称也的耽搁了许多工夫,应把界面名称归类好于一个txt以便本人查问(2) 函数的选取须要正确翻阅材料理解,而不是自觉搬取,有时候一个函数被更新代替或者是没有正确连接上主类,前面类型多继承的时候就会呈现难以发现的谬误。(3) 因为开发工具以及利用类常识的理解还非常有余,导致一个繁难APP开发须要很多工夫进行找错,应先把根底坚固,而不是生吞活剥,网上的办法应取其精华去其糟粕,了解好其中的逻辑,依照本人的形式再写出。 三、个人简介作者:韦承辰一名在校学生所学业余为物联网利用技术的人工智能方向,在校次要学习过的编程语言有Python,C语言以及Java和linux根底等,与团队参加过中国软件杯、“互联网+”大学生守业较量等等,对深度学习以及Python利用方面有基础性的理解。

November 18, 2021 · 1 min · jiezi

关于app:App监控和性能优化实战

目录 一. 我的项目背景.............................................................................................................................................................................................................3 二.所遇到的挑战......................................................................................................................................................................................................3 三.以OOM为例,解说下此类问题的解决步骤......................................................................................................................................................................................................3        1.什么是OOM......................................................................................................................................................................................................3        2.如何查看JVM虚拟机的可用内存......................................................................................................................................................................................................4        3.如何监控和优化利用的内存状况......................................................................................................................................................................................................5        4.内存失常与异常情况比照......................................................................................................................................................................................................5        5.利用的内存优化......................................................................................................................................................................................................7 四.对IOS及React Native利用的监控......................................................................................................................................................................................................9 五.总结......................................................................................................................................................................................................10 附录:《个人简介》......................................................................................................................................................................................................11 一. 我的项目背景 在我司开发的某能源APP中,服务于多家用能企业员工。在这几年的开发中,也着实遇到过很多用户上报的反馈意见,然而有些问题的本源却不得而知,有时候甚至须要对一个模块整体重构才解决问题,通过了这几年迭代,将线上利用的一些实战经验分享于此。 在开发App过程中,常常会遇到OOM(out of memory)内存溢出的状况,本文将联合本人多年的开发教训,探讨下遇到性能问题的解决方案。 二.所遇到的挑战 在我司上线的App和小程序中,会遇到很多并发的操作,尤其在App端更为严重,在有些管制操作时,往往受到网络稳定、响应速度的影响,其操作常常会失败、异样退出、甚至闪退等问题,遇到此类问题,往往是程序员头疼的事,因为问题不好定位,不容易发现问题呈现的地位。也给线上用户带来了不好的体验。 尽管是2B的业务,短期虽不会对用户量造成损失,然而如果长期解决不了此类问题,不少用户的应用频率逐步降落。还有些相似手机端近程智能管制机器的场景,如果产生谬误,可能呢还会造成不必要的经济损失。 三.以OOM为例,解说下此类问题的解决步骤 1.什么是OOM 在收集到的错误信息中,先来看下OOM报错时的样子: 09-08 21:15:38.771: E/dalvikvm-heap(123452): Out of memory on a 20455736-byte allocation. 09-08 21:15:38.779: E/AndroidRuntime(23231): java.lang.OutOfMemoryError 这就是因为程序申请应用“20455736”byte 内存,但Java虚拟机无奈提供这么大的内存,所以程序就被迫死掉了。 2.如何查看JVM虚拟机的可用内存 咱们零碎的内存不会全副给JVM虚拟机来应用的,所以,咱们须要得悉真正的可用内存是多少,能力晓得咱们应该优化的方向。 在开发中,能够通过java 一下命令,来测试出,以后零碎的可用内存  java -XmxXXXXM -version 如: 执行命令java -Xmx2000M -version,如果显示出java的版本信息,则阐明2000M内存是可用的。 如此这般,能够始终批改内存大小来测试,直到显示出: 呈现上图内容,阐明内存曾经超出了JVM可用的内存了,那这个内存就是以后JVM的最大内存。 咱们能够依据模拟器设置的内存大小,计算出能供应利用应用的内存大小了。不同的机型,内存也不一样大,要确保支流机型偏下的配置,可能失常晦涩的运行程序。 ...

November 12, 2021 · 1 min · jiezi

关于app:项目实战总结以及接入UAPM

简介: 导致 App 性能低下的起因有很多,除去设施硬件和软件的内部因素,其中大部分是开发者谬误地应用线、零碎函数、编程范式、数据结构等导致的。即使是较有教训的程序员,也很难在开发时就能防止所有导致性能低下的“坑”,因而解决性能问题的要害是在于能不能尽早地发现和定位和捕捉这些谬误。 1.我的项目遇到的解体/卡顿/ANR/OOM/启动慢 1.1我的项目背景1.2所遇到的挑战1.3解决问题的步骤1.4我的项目总结 2.产品体验内容:集成/接入/应用 2.1集成/接入/ 友盟+ 利用性能监控平台 U-APM2.2集成/接入/应用体验总结与分享2.3对产品提出的倡议/意见 1.我的项目遇到的奔溃/卡顿/ANR/OOM/启动慢1.1我的项目背景我的项目背景次要是公司开发我的项目,老板提起需要,产品经理布局需要以及文档,开发人员依据需要来布局开发,我的项目开发人员(两个前端开发,三个Java开发,两个测试,一个产品,一个ui);我的项目组织架构: (小程序/H5):uniapp架构+U-APM监听统计+canvas绘制海报B端管理系统: Vue+Axios+Elementui+ueditor135编辑器+ 我的项目名叫:值得买商城,次要是一个一体化的的B2C平台,蕴含外部商城管理系统(客服/经营能够在零碎公布流动以及商品,治理商品、订单、会员,并且解决用户的询问以及投诉),C端小程序APP端(H5、APP端间接给用户提供一个便捷简介,实惠多优惠多的一个线上购物平台,通过流动优惠以及地推形式分享产生裂变,通过友盟统计抓取不同用户的爱好,定时更新推流以及发放优惠),我的项目相似京东商城、天猫商城,能够在商城浏览商品、下订单,会员用户以及星级用户能够加入各种流动。 电商模式: 1.1:B2B:商家到商家。比方阿里巴巴,慧聪网、铭万网。 1.2:B2C:商家到用户。比方京东。 1.3:C2C:用户到用户。比方淘宝。 1.4:B2B2C:商家到商家到用户。比方天猫。 1.5:O2O:线上到线下。比方百度外卖、美团、饿了么。 1.2所遇到的挑战/问题1.我的项目上线例如代码异样或者控制台异样监听不到不太好排查 2.服务端队列接口其中一个挂掉我的项目间接奔溃 3.相似登录按钮点击申请频繁点击申请屡次 4.页面组件不对立导致需要更改多处中央变动 5.切换环境或者我的项目距配置导致异样axios拦挡失败 1.3解决问题的步骤最后我的项目开发中引入的fundebug第三方插件监听代码异样,然而局部拦挡异样捕捉不到{H5以及小程序应用的是fundebug,APP应用友盟的U-APM去接入捕捉异样} 首先查看第三方捕捉的异样区偏差问题,通过开发者工具调试debugger排查异样呈现的地位,查看是代码逻辑问题还是其余异样,顺次去排查解决 1.4我的项目总结遇到问题,不要心急也不须要慌,既然问题呈现了,依照问题呈现的工夫、形式、状况进行排查,找到问题之后,去一步步尝试解决就好,首先要把思路屡分明,实战中总是会遇到怪怪的问题,用心去做就OK了,局部想零碎的表格、表单,网站中的列表,标题栏等等模块我的项目中尽量去封装集成为组件库对立治理,缩小工作量以及代码冗余。 2.产品体验内容:集成/接入/应用这里来说一下友盟的U-APM集成接入以及应用形式,在这里首先先阐明一下我集体在开发中为什么会抉择友盟的这款产品api在我的项目中应用,在解决问题的步骤中我提到过,我的项目中h5跟小程序应用的一个第三方fundebug来抓取以及捕捉异样,APP中开发应用U-APM捕捉抓取谬误异样并监听,{ fundebug捕捉异样以及监听方面没有U-APM全面,只能监听到一般异样,U-APM能够监听到奔溃剖析,自定义谬误异样,启动剖析,卡顿剖析以受影响人数等等},惟一感觉美中不足的就是,U-APM只反对安卓跟IOS 2.1产品体验内容:集成/接入/应用2.1.1首先进入网址登录注册利用获取下载SDK U-APM网站地址https://apm.umeng.com/apps/cr... 2.1.2 获取到本人的利用key以及根底sdk留神: · 利用的安卓版和iOS版不能应用雷同的AppKey,须要离开注册。 · 【友盟+】的利用名与理论利用名和包名无关,若注册利用时,提醒利用名称已存在,倡议命名为利用名+平台(iOS/Android)。 maven主动集成(举荐) 通过在Android Studio工程build.gradle配置脚本中增加maven线上依赖,导入最新版本组件化统计SDK。 maven依赖配置 在工程build.gradle配置脚本中buildscript和allprojects段中增加【友盟+】SDK新maven仓库地址。 maven { url 'https://dl.bintray.com/umsdk/...' } buildscript { repositories { google() jcenter() maven { url 'https://dl.bintray.com/umsdk/...' } } dependencies { classpath 'com.android.tools.build:gradle:3.4.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() maven { url 'https://dl.bintray.com/umsdk/...' } } } ...

November 12, 2021 · 1 min · jiezi

关于app:学宝APP基于友盟UAPM的日常使用体验挑战赛

应用背景 作为开发人员,日常不是在写BUG,就是在写BUG的路上。尤其是中小型公司,通常人手不够,开发流程不欠缺,测试场景无奈笼罩全副。只管在每次批改旧性能和做新性能时都暗示本人要少写BUG,上线前测试同学也会回测,但依然无奈防止一些漏网之鱼。如何在上线后疾速发现问题、定位问题、解决问题,这是咱们开发人员面临的挑战。 学宝是一款专门面向中小学学生的语文、数学、英语全科同步学习工具APP。 从2014年第一版上线开始,Android 和 iOS 端同时接入友盟统计SDK,用于日常的数据统计和留存剖析,借助这些服务,为公司节俭了很多老本。友盟统计SDK同时也能收集 APP 的解体信息,在产品上线后帮忙咱们第一工夫发现问题,疾速定位问题,而咱们开发人员要做的就是疾速的解决问题,晋升用户体验。SDK集成 以下以学宝APP iOS 端为例,示例在日常应用 U-APM 发现与解决 BUG 的流程。首先没有账号的要注册一个友盟账号,创立你的利用拿到 appkey。如果你是第一次集成,举荐应用Cocoapods 来集成,而后在你工程的 Podfile 文件增加以下内容,最初在终端进入工程的根目录,执行 pod install 命令。因为 UMAPM 依赖 UMCommon 和 UMDevice 组件,所以要放进去。 第一次集成倡议加上UMCCommonLog,通过查看控制台的日志确认是否集成胜利,胜利后就能够移除出了。 pod 'UMAPM', '~> 1.4.2'pod 'UMCommon', '~> 7.3.5'pod 'UMDevice', '~> 2.0.4'pod 'UMCCommonLog', '~> 2.0.2' 在 AppDelegate.m 文件中引入头文件 #import <UMCommon/UMCommon.h>,只须要一行代码,就能够把U-APM 胜利的集成到工程中。如果集成了UMCCommonLog 组件,加上 [UMConfigure setLogEnabled:YES] 在控制台查看log,这样就很简略的实现了U-APM的集成.[UMConfigure initWithAppkey:@"xxxxxxxx" channel:@"App Store"];[UMConfigure setLogEnabled:YES]; U-APM 默认开启 Crash监控、卡顿监控 、启动监控、内存监控和 OOM监控,也可通过管制属性值敞开一些性能,依据本人需要来。[UMAPMConfig defaultConfig].crashAndBlockMonitorEnable = YES; // crash&卡顿监控[UMAPMConfig defaultConfig].launchMonitorEnable = YES; // 启动监控[UMAPMConfig defaultConfig].memMonitorEnable = YES; // 内存监[UMAPMConfig defaultConfig].oomMonitorEnable = YES; // OOM监控 ...

November 10, 2021 · 1 min · jiezi

关于app:移动APP卡顿问题解决实践

一、我的项目背景本APP为面向用户的一款基于NFC的平安领取产品。本APP本作品将密码学原理、计算机技术、NFC通信技术和数字货币思维有机联合,在全面保障安全性的同时最大限度的进步了消费者的领取体验。绝对于传统计划,本作品具备以下特点:1)实现货币的数字化;2)商家与用户双向身份认证;3)交易过程平安保障;4)欠缺的挪动领取体系;5)离线领取,脱离网络;6)账户失落可找回;7)过错协商,保障交易单方利益;8)标签型商城,便捷最大化;9)老本低廉,便于推广。用户是须要应用本产品进行生产的客户,须要装置用户钱包客户端。次要性能结构图如下所示:商家是商品或者服务的提供方,须要装置商家客户端。次要性能结构图如下所示: 二、所遇到的挑战本APP用户反馈APP应用过程中存在卡顿等问题。对于手机APP而言,晦涩度的重要性是显而易见。为了晋升晦涩度,Google对Android零碎进行了大量的优化,包含应用了GPU硬件加速,引入了VSync,把Dalvik换成了Art等。那么对于咱们的APP,呈现卡顿问题,势必会影响用户体验感,所以必须对APP卡顿的问题进行剖析,并且予以解决。 三、解决问题的步骤首先,咱们进行了几轮的代码review,尝试从逻辑层面优化代码构造,从而缩小卡顿问题的产生。这方面的优化,次要是找出在主线程中耗时较大的函数,通过优化逻辑去缩小API的耗时,剖析CPU的工作,尽量让CPU执行主线程中的工作。这方面的工作有很多,比方优化逻辑去缩小API的耗时,缓存数据以不便更快地对数据进行加载,把耗时的操作移出主线程,在子线程中进行操作。 其次,优化数据库表构造,将一些罕用的数据放到缓存中,在异步更新到数据库中。能够把所有的数据库操作都对立放到一个线程队列当中。 最初,须要欠缺监控体系。因为尽管产品上线之前,必然会通过紧密的测试工作,但还因为模式的固定以及测试死角的存在,比方,对于较大规模的APP产品,测试人员是根本无奈做到笼罩到全副的手机机型和ROM,所以很多问题必然还是要依赖于真正上线之后用户的反馈。在这种状况下,欠缺的品质监控计划就显得十分必要,所以须要建设一套牢固的监控体系。这样,对线上产品的APP品质问题能力第一工夫召回,并做到疾速修复。那对于如何欠缺监控体系,目前来看,是有两个抉择的,一种是基于开源的Skywalking、Cat、Zipkin、Pinpoint等APM零碎,以Skywalking为例来讲,其是一款基于分布式跟踪的应用程序性能监控零碎。SkyWalking 的外围是数据分析和度量后果的存储平台,通过 HTTP 或 gRPC 形式向 SkyWalking Collecter 提交剖析和度量数据,SkyWalking Collecter 对数据进行剖析和聚合,存储到 Elasticsearch、H2、MySQL、TiDB 等其一即可,最初咱们能够通过 SkyWalking UI 的可视化界面对最终的后果进行查看。Skywalking 反对从多个起源和多种格局收集数据:多种语言的 Skywalking Agent 、Zipkin v1/v2 、Istio 勘测、Envoy 度量等数据格式。整体架构看似模块有点多,但在实际上还是比拟清晰的,次要就是通过收集各种格局的数据进行存储,而后展现。所以搭建 Skywalking 服务咱们须要关注的是 SkyWalking Collecter、SkyWalking UI 和 存储设备,SkyWalking Collecter、SkyWalking UI 官网下载安装包内已蕴含,最终咱们只需思考存储设备即可。然而应用这种零碎,就会面临工程师不相熟,工期缓和等问题。第二种抉择就是应用成熟的APM零碎,这种,显而易见,会有较大的短期资金压力,然而鉴于咱们我的项目的紧迫性,咱们抉择应用友盟+利用性能监控平台U-APM。友盟+的U-APM利用性能监控平台基于弱小的捕捉采集能力,疾速定位谬误本源,提供用户维度的解体统计,疾速还原解体现场,并设立多种正告通道,助力开发者7*24监控利用状况。十分实用于咱们的APP。 四、我的项目总结交易平安是以后互联网+领取存储利用设计的重中之重。咱们的APP为 了实现交易流程的平安与快捷,在应用 NFC 性能短距平安传输的同时,设计了以下交易流程加强安全性。本APP具备数字化、挪动化、高效化的劣势特点。但在APP运行期间呈现了卡顿的问题,影响了用户体验感,于是咱们通过批改代码逻辑及数据库表构造,同时欠缺监控体系的办法解决优化了这个问题。 作者:陈静茹

November 10, 2021 · 1 min · jiezi

关于app:移动APP启动慢解决实践

我的项目背景 本APP为面向用户的一款LBS产品。用户反馈APP应用过程中存在启动慢等问题。本文次要针对该原生Android APP启动慢的问题进行剖析及解决方案的介绍。 所遇到的挑战 用户反馈的启动慢问题偏主观应用评估,对于业余的技术人员来说,这些反馈评估不够量化,无奈为为咱们解决问题提供无效的数据撑持。当然用户的负面评估也裸露了咱们APP存在的两大问题。 1.监控体系不欠缺 无论后端服务还是挪动端,咱们均没有引入全链路追踪框架,导致利用不足全面的监控笼罩。过后的状况,咱们仅埋点记录了大量零碎级监控指标,要害代码门路监控严重不足。 2.代码品质较差 咱们的我的项目历经多代开发保护,随着业务复杂性的升高及人员流动的影响,代码品质参差不齐,代码腐化问题重大,有的子系统代码浏览性极差,代码格调不对立。 解决问题的步骤 咱们针对启动慢的问题进行剖析后,对两大挑战隔靴搔痒,次要的解决步骤如下。 1.欠缺监控体系 咱们通过探讨总结后,面临两个抉择,一个是基于开源的Skywalking等APM零碎进行定制开发,存在的问题是现有工程师不相熟该零碎,短期内很难短时间补足相干常识等问题;二是采纳成熟的APM零碎,但这会带来较大的短期资金压力。鉴于咱们我的项目的紧迫性,咱们抉择了计划二,引入了友盟+利用性能监控平台U-APM。 引入U-APM后,咱们能对利用端进行十分具体的监控,比方下图的概览监控。联合U-APM的启动剖析能力,咱们第一次较为准确地明确了用户启动的耗时及散布。 此外,咱们还为服务端引入了ELK套件(ElasticSearch,Logstash,Kibana)和结构化日志,将要害代码门路参数及耗时等信息进行高效输入并汇聚展现。 2.增强代码品质管控 咱们以前的代码开发过于重视速度,疏忽了品质,尽管有CR(Code Review),但多流于形式,品质把控不严。咱们借鉴业界工程效力最佳实际,对代码提交及评审打回率等要害指标进行监控并定期收回报表,对不合格的我的项目进行通报,并召开专题会议介绍代码品质晋升实际。 3.入手解决 有了监控体系后,咱们就领有了亮堂的眼睛去察看咱们的零碎。咱们通过对量化后的耗时进行剖析,初步判断出瓶颈所在,优先解决主要矛盾。实践上,每个申请都有优化空间,那是不是每个都须要优化呢?答案当然是否定的,因为服务间接口数以千计,如果耗费太多精力在非关键接口上,很容易事倍功半。咱们采纳的ROI(Return On Investment)的思维,优先解决耗时占比拟大、申请频繁的函数调用以获得最大收益。具体来讲有如下几点。 1)安卓利用端问题 首次启动app耗时长,针对Application和Activity的同步内容进行优化,将核心内容页面尽快渲染返回给用户,应用异步工作加载耗时和非核心页面内容。安卓具体的api及原理,详见官网形容https://developer.android.goo... 2)服务端问题 通过监控,咱们发现个别后端服务GC(Garbage Collection)频繁,隔一段时间就会导致Stop the World,引发耗时稳定。咱们通过对要害代码门路进行监控,联合内存应用状况等进行专项整治,发现问题次要是利用内的本地缓存使用不当导致,大量的长期缓存挤占内存引发了利用稳定。 我的项目总结 在利用U-APM、丰盛监控及代码品质晋升后,该安卓APP的前期体现渐佳,用户的启动慢的吐槽量曾经大幅缩小。总的来说,安卓APP启动慢次要有两方面起因,一是APP本身在手机端的代码设计不够正当,常见的问题在官网平均最佳实际https://developer.android.goo...;二是APP拜访的后盾服务质量存在优化空间。 针对安卓利用端的优化,Google也有许多实际案例,比方 PLAY ALLAndroid Performance Patterns 个人简介: 么广忠,开源技术爱好者,全栈研发工程师,参加过多个开源我的项目并主导过多款APP设计开发。

November 4, 2021 · 1 min · jiezi

关于app:PD的正确使用方法PD-Runner启动器

写在后面之前我是用了 主动操作 制作app来实现 PD 应用工夫到期后的有限应用如有趣味的话能够看看这篇文章 如何正确应用Parallels Desktop(全网最细) 但当初,不得不为国内的开发者竖起大拇指!!(因为TNT团队更新的不及时) 有人曾经开发出了 PD 的启动工具,名为 PD-Runner 性能简介实用于 Parallels Desktop 的启动器, 能够忽视试用期限强制启动客户机 (反对 PD17.1.0)A tool for Parallels Desktop can start VMs even expired (Support for PD17.1.0 or earlier) 应用 UsagePD Runner 是一个菜单栏APP, 启动后会在菜单栏显示程序图标. 点击菜单栏图标可列出以后Mac上装置的所有客户机, 而后点击客户机名称即可启动对应的客户机.PD Runner will show an icon in the menu bar. Click menubar icon to list all the VMs on your Mac, and click the name to start your VM. 截图 Screenshot ...

October 29, 2021 · 1 min · jiezi

关于app:如何满速下载百度网盘文件

百度网盘的毒瘤水平就不必我多说了在咱们开心的网上冲浪时,常常会遇到某些资源是用百度网盘贮存的,而百度网盘的下载速度常常是1MB以下、几十K、几百K,令人非常焦急!!忽然,一个 微信公众号 自称软件小妹的大佬呈现了,间接为咱们带来了一个 油猴/暴力猴 插件,使得下载速度飞速晋升 接下来是: 如何应用首先装置 Tampermonkey(即油猴) 或 暴力猴 ,间接到浏览器的扩大商店下载即可 什么?你说你懒行,我曾经整顿好了 新版 Microsoft EdgeGoogle Chrome 及其他 Chromium内核 浏览器OperaMac的 Safari (ps.此版本在App Store中须要12元,如果感觉不错,能够资助一下作者Firefox留神:依据作者的说法:如果不满足以下这2个条件,可能在解析地址时将会始终提醒“正在查问服务器接口地址...”的状况。 貌似只能在 Edge 及 Chromium内核 浏览器中应用油猴 / 暴力猴 请最新至最新版本;如果不满足这2个条件,可能在解析地址时将会始终提醒“正在查问服务器接口地址...”的状况。脚本目前仍未兼容百度网盘新版本,请点击右上角的 回到旧版 ,返回旧版后应用。好了,如果油猴你曾经装置结束,脚本代码能够点我下载,点击装置即可 接下来,你能够抉择两种软件进行配置,之后就能欢快地下载了 如何配置依据作者的说法:通过 Aria2 下载总会呈现一些奇奇怪怪的问题所以咱们抉择抉择用 IDM / NDM 下载 Windows用户能够看如下的教程注:如果你曾经有 IDM ( Internet Download Manager )了,那用你本人的就行了,无需下载我提供的版本IDM 下载:https://wwx.lanzoux.com/b01nq...我提供的IDM是 绿色版本 ,解压后,执行 !)绿化.bat ,就能够失常应用了。IDM 配置:设置4线程(当初如同改不改问题都不大)及批改UA为 softxm;netdisk 新建下载工作后,不要立即下载,先期待呈现失常文件图标时,再进行下载! Mac用户能够看如下的教程首先下载一个NDM ( Neat Download Manager ),如果你曾经有了,那最好还是关上链接更新到最新版吧MacWK 链接(举荐),点击 立刻下载 -> 不限速下载 ,期待文件下载下来,之后就是一系列的傻瓜式操作官网链接 ,点击  图标旁的 Download 键,下载实现后关上装置即可NDM 配置:点击右上角的 ⚙️ ( Settings ),再抉择 General,把 Use this UA…… 前的小勾打上,把上边的 Default User-Agent 中的内容全副删掉,填入 softxm;netdisk,最初点击 OK 退出 ...

October 10, 2021 · 1 min · jiezi

关于app:夸克APP端智能文档关键点检测实践与应用

作者:顺达 最近夸克端智能小组在做端上的实时文档检测,即输出一张RGB图像,失去文档的四个角的关键点的坐标。整个pipelines属于关键点检测算法,因而最近对相干畛域的论文进行浏览和进行了试验尝试。 将关键点检测算法依照不同模块进行拆分,能够分成以下几个局部,每个局部都有相干的办法能够进行优化: 图片解决:包含数据光学加强,变换,resize,crop等操作,裁减图片的多样性;编码:指的是在训练中,如何将坐标转换成所须要的label,用于监督模型的输入;网络模型:指的是网络结构,能够有backbone/FPN/detection head等局部组成;解码:指的是如何将模型推理的后果转换成所须要的坐标模式,如笛卡尔坐标系下的坐标。 Related Works关键点检测中次要有两条技术计划: 相似人脸检测,模型输入的后果tensor通过fc层,间接失去一维的向量,通常是归一化后关键点坐标值;相似人体姿势预计,模型输入的后果tensor通过argmax等形式,获取heatmap中相应大的坐标,最初将此坐标复原至原图坐标。近年来,基于heatmap来进行关键点检测的计划居多,其次要起因是基于heatmap的成果要好于应用全连贯层进行回归的计划。所以,咱们采纳的计划也是基于heatmap的,上面是近几年的一些相干论文工作。 DSNT[1] Nibali A , He Z , Morgan S , et al. Numerical Coordinate Regression with Convolutional Neural Networks[J]. 2018. 思路目前,在模型输入的heatmap到数值坐标的转换中,有两种形式: 通过对heatmap中取argmax,失去相应最大的点,以此来转换成数值坐标。此种形式具备较好的空间泛化性,然而因为在训练中argmax是不可导的,通常应用heatmap来迫近编码的高斯热例图,这会导致损失函数与最终评估指标的不统一。其次,在推理阶段,只应用到最大响应的坐标点来计算数值坐标,而在训练阶段,所有坐标点都对损失有奉献。第三,通过heatmap转换成数值坐标,是会存在理论误差上限的;通过在heatmap后接fc层,转换成数值坐标。此种办法让梯度从数值坐标回传到input中,然而后果重大依赖与数据分布(例如在训练集中,一个物体始终呈现在坐标;而在测试集中,这个物体呈现在左边,这样就会导致预测谬误)。其次,通过fc转换,失落了heatmap的空间信息。针对上述的两种计划,作者兼容了这两种计划的长处(端到端优化和放弃空间泛化性),提出一种可微分的形式来失去数值坐标。 具体步骤 模型的输入1KH*W个heatmaps,其中K示意关键点的数量;将每个通道的heatmap归一化,让其值都为非负且和为1,从而失去 norm_heatmap 。这么做的目标是,应用归一化后的heatmap保障了预测的坐标位于heatmap的空间范畴之内。同时, norm_heatmap 也能够了解成二维离散概率密度函数;生成 X 和 Y 矩阵,\( X_{(i,j)} = \frac{2j-(w+1)}{w} \), \( Y_{(i,j)} = \frac{2i-(h+1)}{h} \),别离示意x轴的索引和y轴的索引。能够了解成将图片的左上角缩放到 (-1,-1) 和右下角缩放到 (1,1) ;将X 和 Y 矩阵别离与 norm_heatmap 点乘,从而失去最终的数值坐标。这么做的起因是, norm_heatmap 示意概率密度函数, X 矩阵示意索引,两者点成示意预测x的均值。通过均值来示意最终的预测的坐标,这样的益处是,a)可微分;b)理论误差上限小。 损失函数lossdsnt模块的损失函数由Euclidean loss 和JS正则束缚组成。前者用于回归坐标,后者用于束缚生成的热力求更加靠近高斯分布。 $$L_{euc}(u,p) = ||p-u||_2$$ ...

September 26, 2021 · 2 min · jiezi

关于app:启动内存卡顿三大分析用户体验就用它

简介: 启动剖析反对通过预置采集和个性化自定义两种形式定义启动阶段,能够别离查问首次启动、冷启动、热启动的状况成果,并能够与设施、零碎、版本、地区等维度做穿插筛选查问。 随着大量利用涌入市场退出“App内卷之战”,终端用户们对利用品质的要求是愈发地挑剔。端上研发同学光关注解体类bug解决已无奈应答用户对App体验的诉求,很多用户也会反馈与性能无关的问题,比方App启动工夫太长、页面卡死、闪退等。 随时线上用户诉求的进步,很多开发同学也从线下测试性能演变到更关注线上性能问题,以此保障用户体验。 友盟+利用性能监控平台 U-APM从去年底收费上线后,失去行业泛滥开发者的接入和反对。友盟+也非常重视开发者面对应能监测的各类问题,在近几个月,基于原有稳定性性能优化的根底上,U-APM又新增启动剖析、内存剖析、卡顿剖析三大性能模块,全面助力开发者晋升用户体验。 启动剖析 启动场景是用户应用App的第一道关卡,启动慢、启动闪退都会间接从源头阻断客户应用,甚至会造成启动不胜利新客户卸载的状况。很多技术团队都会以启动耗时作为重点性能监控指标。U-APM中启动剖析蕴含启动趋势、慢启动剖析和启动解体剖析三大功能模块。 启动剖析反对通过预置采集和个性化自定义两种形式定义启动阶段,能够别离查问首次启动、冷启动、热启动的状况成果,并能够与设施、零碎、版本、地区等维度做穿插筛选查问。 用户也能够别离对首次启动、冷启动和热启动设置慢启动的业务定义。个别状况下,热启动的工夫要远低于冷启动、首次启动的工夫。慢启动剖析能够别离监控三种状况下的慢启动设施数量,以及设施零碎散布等信息,并且反对繁多设施定点查问启动时序,精准定位问题。 启动阶段的解体该当是日常开发中首要须要解决的问题,防止用户短时间遇到解体无奈持续应用。启动解体剖析中筛选出自定义的启动时限下的解体列表,更便于定位启动问题。 内存剖析 U-APM的内存剖析提供线上OOM异样的监控与剖析,帮忙开发者及时发现与定位线上OOM问题。同时,提供App运行阶段内存占用状况,为利用内存优化提供要害指标数据。 在Android异样中,并不是所有的OOM问题都是能够简略查看谬误摘要是否蕴含Out of Memory就能够判断的。 此次内存剖析OOM异样的模块中,将外部积淀应用多年的智能诊断技术对外透出。能够通过智能读取谬误堆栈进行匹配,开掘到那些不是OOM但理论是由OOM引起的异样问题并加以聚类,OOM异样的判断率间接晋升20%~30%。iOS利用此次也新增了OOM异样的捕捉。 内存占用模块中展现了内存要害指标信息,并且配以设施状况散布用作统计参考。还提供了渠道、版本、零碎、设施型号的散布状况。 卡顿剖析 U-APM中通过主线程的响应工夫,将有卡顿体验的设施信息、卡顿日志进行上报。收费提供了iOS全副采集以及Android 双端卡顿采集,且如此大量的日志数据不必按流量付费。 除此之外,如果开发者感觉一条条看谬误堆栈十分麻烦,能够应用U-APM利用聚合算法提供了卡顿模块的性能,约等于1分钟看到200条堆栈的内容,无效节俭开发者大量开掘问题的工夫。卡顿模块反对正序、倒序两种聚合模式: •正序聚合:筛选影响用户量大的200个堆栈从栈顶到栈底进行聚合,帮忙客户开掘造成卡顿问题的最外围问题 •倒序聚合:筛选影响用户量大的200个堆栈从栈底到栈顶进行聚合,帮忙客户开掘造成卡顿问题的最外围问题 两种办法均展现呈现频率前10的模块,子树深度最多反对50层,帮忙客户下挖具体的卡顿模块信息 利用OpenAPI自助调用谬误数据 U-APM后盾的谬误数据在开发者日常的业务中还有很多的利用。比方,定期将利用品质数据灌入技术组周报中发给公司各部门,或者在公司自有后盾中展现今日实时错误率等性能指标。此次新上的OpenAPI能够解决灵便获取利用采集的谬误数据的需要,反对实时/离线90天内的数据灵便调用,收费开明权限即可应用。 监控告警降级 U-APM 中的监控告警性能在近期做了多项降级,反对更灵便更个性化的监控告警设置。开发者除了应用调用OpenAPI的形式自行加工数据设置告警,应用U-APM后盾中的监控告警性能也更为不便: a. 灵便设置告警失效工夫: 开发者能够增加告警失效的时间段,比方每周一至周五的9点至19点,周末的一12点至20点,灵便设置工作工夫,不被有效信息烦扰。 b.重点谬误类型/单条谬误告警:开发者能够抉择须要您重点关注的谬误类型 或者间接针对某一条修复中的谬误进行继续关注告警 c. 组合模式的告警触发条件 开发者能够通过多种指标以及阈值型或者比照型的规定,以交加/并集的组合形式,灵便设置想要的告警触发条件: d.多种告警触达渠道 如果开发者还对监控告警的触达渠道有所要求,能够思考应用公司的办公软件进行群触达,与同组的其余共事一起关注并修复利用问题。 谬误捕捉降级 U-APM近期的降级中对谬误捕捉的类型有大幅增多: Android 反对Java、Native的解体采集;ANR;以及针对Unity SDK减少c#、Lua的谬误类型; iOS 反对:Swift、Objective-C解体的采集 除上述性能外,U-APM在云真机的UI设计、API上传符号表页面整体加载速度渲染等等性能上也进行了更新,详情及收费应用请至:https://www.umeng.com/apm?&ut... 原文链接本文为阿里云原创内容,未经容许不得转载。

August 10, 2021 · 1 min · jiezi

关于app:App热更新

开发App,更新迭代是至关重要的,虽说有利用市场来更新,但实际上,在须要紧急公布一个新版本时,利用市场的更新是须要审核工夫的,以Apple为例,个别都是前一天公布,到第二天早上之前就会有后果,Android市场也大多不一样,尤其遇到周末或者节假日,会向后顺延。所以APP利用内更新就至关重要。目前app更新分为整包降级和热更新。整包降级这里不多说,就是将整个apk文件下载安装,但前提是包名和证书要不变,这样能力笼罩之前的版本。ios间接装置ipa会失败,所以只能去App store去更新。以下次要说下热更新。 一、介绍热更新,是打包成wgt资源升级包,通过网络下载更新利用。一般来说,前端如果改变了一些js代码或者款式之类的,但上市场须要工夫,整包下载包体积又太大,所以此时思考热更新形式,是最合适不过的。 长处:1 体积很小,用某个我的项目为例,整个apk大小在38M左右,wgt包大略在5M左右,这意味着用户在下载时,速度快,流量少。2 不须要装置,只须要调用相干api重启即可。 二、操作以uniapp的我的项目为例,打包wgt就不必多说了,Hbuilderx一看就会,留神版本号即可。客户端通过调用接口,下载wgt包,来看下客户端怎么操作,代码供参考: plus.runtime.getProperty(plus.runtime.appid, function(infor) { uni.request({ url: 'http://', data: { version, name }, success: (result) => { var url= result.url; var version=result.version if (version>Info.version) { //版本号的判断 uni.downloadFile({ url, success: (res) => { if (res.statusCode === 200) { plus.runtime.install(res.tempFilePath, { // 仅装置wgt和wgtu时失效,默认值 false,true示意强制装置,不进行版本号的校验;false则须要版本号校验,所以按照理论状况利用 force: false }, function() { //下载完之后,须要进行利用的重启能力实现热更新。 plus.runtime.restart(); }, function(e) { console.error('install fail...'); }); } } }); } } }); }); 三、注意事项资源热更新存在以下状况是不适宜用热更新的形式更新的:1 仅在App平台利用,其余平台不实用;2 原生插件的增改;3 如果之前我的项目中并没有nvue文件,但更新时减少了nvue文件;4 SDK有调整,比方新增了UNIPUSH模块,Maps 模块等;5 基座的匹配,如果前一个版本的基座跟wgt打包时的基座不同,则更新完之后,开启app会有提示信息。这个当然不好,当然也能够去配置疏忽这个揭示;但最好还是采纳整包降级的形式了。 ...

August 10, 2021 · 1 min · jiezi

关于app:App推送

推送是可能和用户建设无效的连贯,传播有价值的信息和提供好用的性能,让用户第一工夫获取信息,因而对于APP开发者而言,显而易见,根底且重要。但实际上,Android市场的推送是各自为主,开发者在开发时须要将每个官网的SDK都要开发一遍,工作量,保护水平可想而知!只管市场上存在一些第三方推送服务商,但有时手机的设置可能会导致push过程被敞开,无奈推送。 所以,接下来介绍的这种推送服务,开发者只须要开发一次,零碎会主动抉择最牢靠的推送通道发送音讯,在线通过个推推送,离线通过厂商通道推送,不仅送达率高,还升高了开发成本,最次要还收费!一、UniPush介绍贴一句官网的介绍:UniPush是DCloud联结个推公司推出的集成型对立推送服务,内建了苹果、华为、小米、OPPO、VIVO、魅族、谷歌FCM等手机厂商的零碎级推送和个推等第三方推送。所以想要应用unipush这种推送计划,须要在Dcloud上申请开明unipush服务;这张图看下unipush的推送的原理:咱们只须要关注的是开发者服务器和客户端接管告诉的解决以及要分明的一点是,音讯推送走的渠道是厂商通道和个推通道;大抵理解UNIPUSh推送之后,便可进入开发流程了。 二、开发开发前还是要阐明下,客户端接管到告诉栏音讯时,点击之后须要进行相应的业务解决,阻碍在于告诉栏曾经展现了,但客户端在解决告诉栏时会呈现很多状况。所以unipush的推送要求开发者要理解前端unipush相干文档以及后端应用的个推文档api,这样才不会踩太多坑。因为unipush是前端所利用的,所以应该要以前端为主,这就要求,前端开发者也要理解个推的api,以便要求后端抉择适合的音讯类型做推送,这样避免出现后端的音讯推送的确送到了,但前端接管音讯时,会呈现很多状况,我自己在最后开发时,试图找出不同音讯类型过去的法则,但经常颠覆认知,所以要全面理解前后的文档,并联合起来,能力会比较顺利。这里说的次要是android的推送,ios推送证书的配置以及推送解决当前再说。 1 后端开发因为自己次要是做前端的,所以在这块不会去说太多后端的货色,只是说下,后端做推送时,参数的抉择,当然个推文档的api很具体,但为了让整个我的项目晦涩的推动,让前端更分明,不便的解决数据,几个要害参数的抉择是极其重要的;我的项目中抉择的下发策略是在线走个推通道,离线走厂商通道,当然厂商通道须要在各个厂商后盾去配置,并将相应的AppID,AppKey,AppSecret等参数传到Dcloud后盾,当然每个厂商配置的参数不同,具体情况具体看。 个推通道的音讯类型:抉择透传音讯类型,即push_message 里抉择transmission,起因是,安卓,iOS都反对,如果告诉音讯的话,iOS不反对;重点来了,透传音讯内容,个推文档上给的很简略就是个字符串,但实际上,字符串里的内容肯定要用unipush规定的数据格式,即{"title": "xxx","content": "xxx","payload": "xxx"},外面的key不能改变,payload是传递的数据参数,而后用字符串包裹起来,这样客户端就会展现告诉栏,点击之后,客户端只会触发click事件,但如果不依照这种形式传递的话,客户端不会呈现告诉栏,音讯送达后,会触发receive事件,客户端须要自建告诉栏,而后再点击告诉栏,触发click事件,这样就比拟麻烦了,甚至可能还会呈现再次触发receive事件。当然ios端不论怎样,还是会触发receive事件的,此时能够通过aps来做判断,因为ios端自建告诉栏还会触发receive事件,所以要做aps的判断,防止产生死循环。 厂商通道的音讯类型:抉择告诉音讯类型,起因各个机型都反对,且第三方厂商的告诉达到率高于第三方透传的达到率;即push_channel =》android=》ups=》notification,要害的来了,notification的click_type要抉择什么?外面可选的参数有intent,url,payload,startapp,其实最可能兼容不同业务类型的计划只有payload,intent这两种,因为能够自定义数据,然而payload,华为和OPPO又不反对,所以只能抉择intent,然而大坑又来了,如果你真的只是依照个推文档上给的intent的格局去传递的话,那么客户端会呈现很多意想不到的状况,有趣味的能够去试试看都有什么状况,所以intent的格局也要依照unipush规定的格局去传递,这样,客户端就只会触发click事件. intent格局:intent:#Intent;action=android.intent.action.oppopush;launchFlags=0x14000000;component=io.dcloud.HBuilder/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=测试题目;S.content=测试内容;S.payload=test;endcomponent=io.dcloud.HBuilder/io.dcloud.PandoraEntry 其中io.dcloud.HBuilder为APP包名,须要替换为本人APP的包名;S.title=的值为推送音讯题目,对应5+ API中PushMessage对象的title属性值;S.content=的值为推送音讯内容,对应5+ API中PushMessage对象的content属性值;S.payload=的值为推送音讯的数据,对应5+ API中PushMessage对象的payload属性值;payload为自定义的数据;title,content,payload,这三个参数是不能扭转的,否则客户端接管的数据会有问题;launchFlags=0x14000000字段,解决接管多条告诉后点击可能无奈触发click事件的问题;ios端也是倡议用这种格局。服务端的关键性参数曾经说完了,至于其余参数,依照个推文档传,就没啥问题,肯定要留神,以上所说的参数不能齐全依照个推文档说的格局,不然即使客户端收到了告诉,客户端解决起来,会状况百出,这样扯皮事件就有可能产生了!!!当然,UNIPUSh规定的数据格式或者参数,可能不能设置更多告诉栏的款式,比方加些大图或者自定义的图标,角标的设置等,但这样的形式是最兼容,客户端接收数据最便当,最优的计划! 2 前端开发客户端只有两个事件去解决,click和receive事件,click是点击告诉栏触发的事件,receive是监听到透传音讯后,触发的事件,通常receive事件监听到后,是须要客户端自建告诉栏展现的。 plus.push.addEventListener('click', function(message) {// click触发后的接管到服务端过去的数据,从而,解决不同的业务需要})plus.push.addEventListener('receive', function(message) {// receive接管到服务端过去的数据,须要自建告诉栏展现,})如果服务端是依照上述所说的数据类型,格局推送音讯的,客户端其实是不会触发到receive事件的,这样就加重了客户端的工作量,当然ios另当别论。 3 总结整个推送大抵就是这样,当然更多的细节只有依照个推文档给的参数以及参考案例去开发,应该都问题不大。最次要是前后端至多有一个要全副理解才行,否则开发起来会很费劲。 Tip1 告诉栏音讯:unipush定义好推送的款式、后续动作的推送形式,客户端接管到后显示在零碎告诉栏;2 透传音讯:即自定义音讯,unipush推送服务只负责消息传递,不做任何解决,客户端在承受到透传音讯后须要本人去解决音讯的展现形式或后续动作;发送后不会在零碎告诉栏展示,SDK将音讯传给第三方利用后须要开发者写展示代码能力看到,但如果应用unipush规定好的数据格式,则会呈现告诉栏,也不会触发receive事件。3 离线无效工夫是指,推送音讯的时候,客户端CID如果离线,那么推送的音讯会暂存个推离线库,只有客户端在这个无效离线工夫内从新登入就能够再次收到推送,超过无效离线工夫便无奈收到。

August 10, 2021 · 1 min · jiezi

关于app:启动内存卡顿三大分析用户体验就用它

随着大量利用涌入市场退出“App内卷之战”,终端用户们对利用品质的要求是愈发地挑剔。端上研发同学光关注解体类bug解决已无奈应答用户对App体验的诉求,很多用户也会反馈与性能无关的问题,比方App启动工夫太长、页面卡死、闪退等。 随时线上用户诉求的进步,很多开发同学也从线下测试性能演变到更关注线上性能问题,以此保障用户体验。 友盟+利用性能监控平台 U-APM从去年底收费上线后,失去行业泛滥开发者的接入和反对。友盟+也非常重视开发者面对应能监测的各类问题,在近几个月,基于原有稳定性性能优化的根底上,U-APM又新增启动剖析、内存剖析、卡顿剖析三大性能模块,全面助力开发者晋升用户体验。 启动剖析 启动场景是用户应用App的第一道关卡,启动慢、启动闪退都会间接从源头阻断客户应用,甚至会造成启动不胜利新客户卸载的状况。很多技术团队都会以启动耗时作为重点性能监控指标。U-APM中启动剖析蕴含启动趋势、慢启动剖析和启动解体剖析三大功能模块。 启动剖析反对通过预置采集和个性化自定义两种形式定义启动阶段,能够别离查问首次启动、冷启动、热启动的状况成果,并能够与设施、零碎、版本、地区等维度做穿插筛选查问。 用户也能够别离对首次启动、冷启动和热启动设置慢启动的业务定义。个别状况下,热启动的工夫要远低于冷启动、首次启动的工夫。慢启动剖析能够别离监控三种状况下的慢启动设施数量,以及设施零碎散布等信息,并且反对繁多设施定点查问启动时序,精准定位问题。 启动阶段的解体该当是日常开发中首要须要解决的问题,防止用户短时间遇到解体无奈持续应用。启动解体剖析中筛选出自定义的启动时限下的解体列表,更便于定位启动问题。 内存剖析 U-APM的内存剖析提供线上OOM异样的监控与剖析,帮忙开发者及时发现与定位线上OOM问题。同时,提供App运行阶段内存占用状况,为利用内存优化提供要害指标数据。 在Android异样中,并不是所有的OOM问题都是能够简略查看谬误摘要是否蕴含Out of Memory就能够判断的。 此次内存剖析OOM异样的模块中,将外部积淀应用多年的智能诊断技术对外透出。能够通过智能读取谬误堆栈进行匹配,开掘到那些不是OOM但理论是由OOM引起的异样问题并加以聚类,OOM异样的判断率间接晋升20%~30%。iOS利用此次也新增了OOM异样的捕捉。 内存占用模块中展现了内存要害指标信息,并且配以设施状况散布用作统计参考。还提供了渠道、版本、零碎、设施型号的散布状况。 卡顿剖析 U-APM中通过主线程的响应工夫,将有卡顿体验的设施信息、卡顿日志进行上报。收费提供了iOS全副采集以及Android 双端卡顿采集,且如此大量的日志数据不必按流量付费。 除此之外,如果开发者感觉一条条看谬误堆栈十分麻烦,能够应用U-APM利用聚合算法提供了卡顿模块的性能,约等于1分钟看到200条堆栈的内容,无效节俭开发者大量开掘问题的工夫。卡顿模块反对正序、倒序两种聚合模式: •正序聚合:筛选影响用户量大的200个堆栈从栈顶到栈底进行聚合,帮忙客户开掘造成卡顿问题的最外围问题 •倒序聚合:筛选影响用户量大的200个堆栈从栈底到栈顶进行聚合,帮忙客户开掘造成卡顿问题的最外围问题 两种办法均展现呈现频率前10的模块,子树深度最多反对50层,帮忙客户下挖具体的卡顿模块信息 利用OpenAPI自助调用谬误数据 U-APM后盾的谬误数据在开发者日常的业务中还有很多的利用。比方,定期将利用品质数据灌入技术组周报中发给公司各部门,或者在公司自有后盾中展现今日实时错误率等性能指标。此次新上的OpenAPI能够解决灵便获取利用采集的谬误数据的需要,反对实时/离线90天内的数据灵便调用,收费开明权限即可应用。 监控告警降级 U-APM 中的监控告警性能在近期做了多项降级,反对更灵便更个性化的监控告警设置。开发者除了应用调用OpenAPI的形式自行加工数据设置告警,应用U-APM后盾中的监控告警性能也更为不便: a. 灵便设置告警失效工夫: 开发者能够增加告警失效的时间段,比方每周一至周五的9点至19点,周末的一12点至20点,灵便设置工作工夫,不被有效信息烦扰。 b.重点谬误类型/单条谬误告警:开发者能够抉择须要您重点关注的谬误类型 或者间接针对某一条修复中的谬误进行继续关注告警 c. 组合模式的告警触发条件 开发者能够通过多种指标以及阈值型或者比照型的规定,以交加/并集的组合形式,灵便设置想要的告警触发条件: d.多种告警触达渠道 如果开发者还对监控告警的触达渠道有所要求,能够思考应用公司的办公软件进行群触达,与同组的其余共事一起关注并修复利用问题。 谬误捕捉降级 U-APM近期的降级中对谬误捕捉的类型有大幅增多: Android 反对Java、Native的解体采集;ANR;以及针对Unity SDK减少c#、Lua的谬误类型; iOS 反对:Swift、Objective-C解体的采集 除上述性能外,U-APM在云真机的UI设计、API上传符号表页面整体加载速度渲染等等性能上也进行了更新,详情及收费应用请至:https://www.umeng.com/apm?&ut...

July 23, 2021 · 1 min · jiezi

关于app:阿里达摩院联合友盟-推出国内首个智能推送

你还记得最近因为优良的推送文案而让你印象粗浅的App是哪个么?某游戏的热血邀约?某题目党的新闻资讯?或者是某次约会揭示? 恐怕很多人的答案是否定的。因为有有数的案例证实当初支流的推送计划问题多多,曾经无奈承载向用户推送有价值的信息的功能属性了。音讯推送成为了互联网的玄学。作为用户,每天问你早安的可能不肯定是恋人而是手机里的音讯推送。新闻App可能比你更关怀你明天想关怀什么新闻,电商App可能比你更理解你今天要买什么物品,你甚至狐疑在地球覆灭那天,你手机里的App还是会定点向你问候早中晚三次。而作为开发者,你期待用户能关上你推送的每一次链接,关注、浏览、下拉、停留......因为每个动作的背地可能就藏着你的年终奖,你开发的App能不能成为独角兽?数据和答案也从这里一点点浮现。 在强烈的流量竞争下,推送因为能唤醒用户点击而被寄予厚望。而推送文案则必须像磁铁,像用户心中的顶级爱豆,能牢牢吸住眼光。 从搜索引擎到信息流举荐,算法通过对大量数据的解决,来决定向用户推送何种个性化的内容。同时因为音讯推送的智能化越来越重要,其工程化也在近期实现。这一当先的智能推送算法技术来自阿里巴巴达摩院,该技术由达摩院-机器智能技术-决策智能实验室自主研发,采纳MindOpt优化求解器中的在线优化算法,并联合了流计算等技术,是一种在线学习与优化(简称OLAD)的计划。该计划起步于在流量业务场景中对需要背地的根本问题进行优化建模与求解,以及对在线优化技术的宽泛实际,曾经稳固服务了多个阿里外部的业务场景。 达摩院决策智能实验室讲算法技术与友盟+强强合作,推出国内首个智能推送性能,帮忙产品经营人员实现一键式触达的精细化经营。通过精心打磨的在线学习与优化算法,对推送人群与推送文案进行精准匹配,最大化用户点击量。通过对不同用户场景感知和各种束缚配额下的最佳调配,将无用推送信息降权显示,升高对用户的烦扰,优化用户维度的推送体验。 智能推送 如何只制作关怀和须要 智能推送= 优质的内容 x 适合的机会 x 失当的频次 x 正当的渠道 x 精准的用户,让信息垃圾远离用户,只提供关怀和须要。 人群智能匹配,晋升推送点击量和转化 经营人员创立推送打算时,能够同时创立多个推送文案,推送音讯开始下发时,阿里达摩院算法会依据用户实时点击状况,并联合友盟+全域数据,实现文案的精准匹配,将每一个文案推送给最合适的用户群体,因而能够晋升音讯推送整体的用户点击量和点击率。 以电商行业为例,多个推送文案能够是同一件商品的不同形容,例如“99元零食包邮必看”、“零食礼包只有99元”、“大家都在疯抢这个零食礼包”等等。也能够是不同商品的形容,例如“蛋黄酥促销必抢”、“最好吃的螺蛳粉就是TA”等等。差异化的文案策略更有利于匹配到不同偏好的用户群体。 文案内容优化 文案是推送的外围,有人说,文章结尾就是写给读者的“三行情书”。推送的文案很大水平上决定了用户点击的能源,能通过精准的文案让用户产生趣味的而点击,须要通过屡次尝试和磨合得出用户的爱好。智能推送UPush反对同时创立多个差异化推送文案,经营人员能够间接从推送文案库中复用历史优良文案。 下一阶段,友盟+还将复用阿里妈妈的智能生成文案的能力,彻底解决经营同学的文案焦虑问题,只用输出商品名称和关键词,通过人工智能算法,会主动生成适应各个场景下,最热门最受欢迎的推送文案。 一键下发多种推送文案,防止对用户反复打搅 如何能让用户感觉你和他的接触不是一种打搅?传统的推送尽管能够通过给用户屡次下发不同文案,来统计哪些文案的点击率最高、用户最喜爱哪些文案。可是屡次下发意味着对用户的频繁打搅,可能成果事与愿违。而智能推送UPush一键下发多种推送文案,同一用户只被一种文案触达,防止对用户的反复打搅。更加智能化的推送机制,为用户提供更有价值、更能帮忙到用户的揭示。

July 13, 2021 · 1 min · jiezi

关于app:干货车来了APM应用性能体验实践

车来了是以大数据、人工智能技术为根底,通过连贯人与车,提供智慧交通、城市公共出行等服务的实时公交App,目前在实时公交畛域排位全国第一,已笼罩超过350个城市,用户量超过1.5亿,月活用户超过3000万。 对于亟需查问公交车实时地位的用户来说,App的稳定性和性能非常重要。用户本来就因为等车而着急的情绪,不心愿因为手机卡顿、启动慢等问题而加剧。 车来了通过应用友盟+利用性能监控平台U-APM,实现了实时、牢靠、全面地捕捉利用解体、ANR、自定义异样、卡顿、启动剖析等问题,全面晋升用户体验。并轻松解决了传统利用稳定性监控服务普遍存在的难题,如: 1.性能监控不全面:随着用户对产品体验要求的晋升,繁多解体监控难以笼罩用户面临的各类体验问题,亟需对卡顿、启动等性能体验进行监控剖析。 2.告警不智能:仅可能对解体进行告警,无奈对ANR、卡顿等问题进行监控。繁多的邮件报警通道对于日常繁忙的开发者来说,触达不够及时。 3.服务不稳固:一旦产生监测数据失落、平台拜访无响应等状况,较难取得及时的反对与反馈。 车来了所遇的问题及解决方案 为了及时响应用户各类问题,车来了客服部门每天会发送客户投诉列表至相干部门。其中,客户投诉中呈现“卡”、“慢” 相干的关键词,会散发至研发团队进行排查,研发团队需及时给出回执,以确保面向客户有问必答。 针对用户反馈的卡顿问题,研发团队通常借助U-APM进行如下门路的排查: 1.用户细查找问题:通过用户账号搜寻定位到投诉用户设施产生的卡顿问题。 2.卡顿详情找起因:在卡顿详情中查看SDK捕捉到的卡顿具体日志以及设施信息,借助堆栈中高亮模块排查潜在问题起因。 3.双向聚合定问题:通过搜寻卡顿模块名称,理解卡顿问题影响水平,为修复排期提供优先级断定参考。 针对用户反馈的启动的慢问题,研发团队借助U-APM的慢启动剖析性能,能够间接在慢启动剖析中搜寻用户账号,进入对应慢启动详情查看启动时序,理解启动环节各阶段耗时状况,帮助问题排查。 在车来了研发团队的不懈努力下,始终为用户提供稳固良好的利用体验。同时,随着U-APM多维度捕捉、多通道告警等当先能力的加持,让车来了研发团队在利用性能监控和问题定位方面锦上添花: 1.谬误捕捉能力晋升:U-APM提供精确全面的谬误捕捉能力,帮助开发者定位排查更多谬误,其中Native解体捕捉晋升 15% 。 2.监控效率晋升:通过更丰盛的规定设定,对具体谬误进行了更及时的监控,并且通过微信告诉,问题发现工夫缩短了 33 %。 3.客服问题回执效率晋升:用户细查+各类谬误分析模型,疾速定位问题,问题排查工夫缩短了 42% ,晋升客服问题回执效率。车来了与当先的第三方全域数据智能服务商友盟+,就利用性能监控达成单干,单方将独特打造行业当先的利用性能体验。 扫一扫退出友盟+技术社群 点击理解友盟+U-APM,开始顺畅的利用性能体验

June 18, 2021 · 1 min · jiezi

关于app:不管是三胎还是App指望拉新太难了还是要靠老用户

正值六一儿童节前夕,三孩生养政策正式出台,应答中国生育率低的问题,专家瞄准了“复购和促活”。互联网搬砖人都懂,App经营的几大工作无非是:拉新、留存、促活、转化、流传、复购。而促活老用户,永远比拉新用户,容易得多。 对于挪动开发者来说,音讯推送Push是拉活用户、留存用户的重要工具和形式,然而也面临着很多低效率的窘境: 不晓得哪次推送工作效率更好:是男性用户送达率更高?是年老用户音讯点击率更高?是A内容庄重简洁风用户更喜爱,还是B内容戏谑跳脱风更容易引起共鸣?如何能疾速比拟不同推送工作成果,高深莫测把握全局? 不晓得哪个推送通道效率更高:你的用户60%都在安卓端,只集成了厂商通道,还须要集成在线通道吗?你正在密集开发一个新利用的音讯推送,在线通道和各大厂商通道相比,哪个通道的送达率更高,该优先集成在线还是厂商推送通道?到底如何细分间接比拟在线和多个安卓厂商通道推送效率,优化通道策略? 高老本拉来的用户卸载利用或者敞开告诉权限,无奈触达:还有其余正当的形式能够触达用户吗?如果想用优惠券召回卸载利用的用户,他们都是谁,在哪里?如何晓得卸载利用的客群画像,为召回和再触达做筹备? 我是经营小姐姐,每次要批量推送设施号或者别名用户,都得求着技术小哥哥开发程序API传输文件推送,推送一次几个小时,有没有一键推送一键触达的办法?如何一键传输和触达批量数据?到底如何解决以上痛点,如何能力推(生)送(出)全(三)量(个)用(孩)户(子)! 友盟+音讯推送工具U-Push五月全新迭代六大性能升级快准稳狠玩转音讯推送。U-Push,推送效率加油站。 降级点一:推送转化成果高深莫测 可视化展现从无效设施到音讯点击转化成果,不同工作、款式、内容、客群推送成果间接比拟,优化推送策略 降级点二:细分在线和厂商通道推送成果 推送成果数据可辨别在线和厂商通道,从发送到送达、点击一目了然,间接展现厂商推送失败起因,通道策略调整有理有据 降级点三:新增卸载和敞开告诉权限数据 提供7/30/90天统计趋势,反对分渠道、版本、零碎、机型详情,领导用户召回和再触达策略 降级点四:反对更灵便批量推送形式 新反对按设施号和按别名文件上传推送,更有用户分组一次创立重复使用,经营小姐姐/哥哥也能够一键批量推送啦! 更有新增 “首发2小时”分钟级推送成果数据展现和推送前快捷测试,为每一次推送保驾护航。 快来体验U-Push治理后盾:点击这里 扫一扫退出友盟+技术社群

June 8, 2021 · 1 min · jiezi

关于app:日志服务SLS-助力识货-APP解决业务数据采集查询监控问题

简介: 日志服务SLS 助力识货 APP,解决业务数据采集查问监控问题 公司介绍 识货APP是虎扑体育旗下的导购利用,致力于为宽广年老用户提供业余的网购决策领导,为年轻人带来最及时最劲爆的静止、潮流、生存、时尚等网购资讯。同时识货静止配备的业余鉴定审核机制,也在行业内建立了良好的口碑。 业务介绍 识货是一家专门做静止潮流购物平台,成立初期次要为用户提供折扣、副品运动鞋商品导购,对于市场上热门的运动鞋都会进行评测,把实在的运动鞋体验传递给爱好者。而后逐渐衍生出包含生存电器、服装、食品、家居等全品类优惠信息导购。2014年识货上线海淘频道,把海内支流商城的优质便宜商品也开始举荐给网购用户。 基于这样的业务场景,识货须要对接大量的平台数据,并对这些平台数据进行对立的加工富化,最终接入到理论业务平台中进行剖析和决策。 如何解决数据收治与流量洪峰的问题 对接多平台数据,数据格式不对立,规整难度大 识货对接了包含天猫,京东等在内的海内外支流的平台,通过对数据进行剖析和决策后,将物美价廉的商品举荐给用户,然而各平台数据的格局不对立,带来了解决上的艰难。 数据分析需求方涵盖产品研发运维经营财务等,需提供界面化图表能力识货除须要对平台商品数据进行剖析外,还须要对接利用零碎、后盾服务器、k8s的日志数据,以及账单费用日志等。数据分析需求方涵盖产品研发运维经营财务,需提供更加界面化易用的报表能力满足各方诉求。 电商流动带来流量洪峰,突增流量场景下如何应答 识货平台的电商属性,在双十一等电商流动日或者经营品牌流动时,均会带来流量的洪峰。因而识货便须要有一款高弹性的日志平台来帮忙平台在流量波峰波谷期实现资源的疾速扩容和缩容。 日志服务产品为帮忙识货解决业务数据采集查问监控问题 针对识货业务对于数据规整加工,多维度数据分析,多可视化平台能力,弹性能力方面的诉求,阿里云提供了日志服务产品作为计划帮忙客户解决业务数据采集查问监控问题。 在数据规整加工方面,日志服务提供可托管、高可用、可扩大的数据加工服务,宽泛实用于数据的规整、富化、散发、汇总、重建索引等场景。具备全托管、免运维,开箱即用的个性,提供DSL编排能力,内置200+函数,内置算子,可能疾速实现二次开发。帮忙识货对于多平台的商品数,以及对于不同业务模块,包含社区业务,鉴定业务,根底服务等模块数据进行对立加工富化解决,进而实现业务价值。 在数据可视化方面,日志服务提供实时数据分析大盘,能够将罕用的查问剖析语句以图表模式展现,并将统计图表保留到仪表盘中。同时剖析大盘反对Restful API 、 JDBC协定,页面可嵌入任何业务零碎,除Dashboard外,与DataV、QuickBI、Grafana、Zipkin、Jeager等生态买通,实现更灵便的数据展现。帮忙识货的不同团队,依据其具体的业务诉求创立相匹配简略直观的数据图表。 在弹性能力方面,日志服务可依据流量弹性伸缩,能够很好地适应识货平台因为促销流动带来突发流量,依据理论业务需要对服务进行扩缩容,帮忙客户罢黜突发流量带来的顾虑,可能更加专一于业务自身。 达到的成果 通过日志服务能力,识货平台实现了多数据渠道的高效规整对立,满足了不同业务部门对于数据分析的不同维度诉求。帮忙识货平台真正做到了数据驱动业务倒退。原文链接本文为阿里云原创内容,未经容许不得转载。

April 20, 2021 · 1 min · jiezi

关于hbuilder:hbuilder连接手机真机测试遇到的问题

1、hbuilder通过usb线连贯手机,手机跟电脑要在同一个网络下,手机能够拜访电脑的本地我的项目能力胜利关上我的项目页面

April 6, 2021 · 1 min · jiezi

关于app:网信办最新公布39-类-App-收集个人信息范围划定5月1日起施行

随着大数据时代的倒退,咱们对于数据安全和个人隐私愈发器重。因而,各类 App 超范围收集信息、强制提交信息的机制也广为诟病。 近日,地方网信办、工信部、公安部、国家市场监管总局四部门联结公布《常见类型挪动互联网应用程序必要个人信息范畴规定》(以下简称《规定》),明确了 39 种常见类型 App 的必要个人信息范畴,将自往年 5 月 1 日起实施。 这一规定的推出,也就意味着通过适度收集个人信息进行“商业变现”的商业模式,将“此路不通”。 一、39 类 App 收集个人信息范畴划定《规定》指出,随着挪动互联网疾速倒退,各类应用程序迅速遍及利用,但同时,App超范围收集用户个人信息问题非常突出。特地是大量App通过捆绑性能服务一揽子索取个人信息受权,用户回绝受权就无奈应用App基本功能服务,变相强制用户受权。 《告诉》明确了地图导航、网络购物、求职招聘和学习教育等39类常见类型挪动应用程序必要个人信息范畴,要求其运营者不得因用户不批准提供非必要个人信息,而回绝用户应用App基本功能服务。 比方: 地图导航类,基本功能服务为“定位和导航”,必要个人信息为:地位信息、出发地、达到地。网络约车类,基本功能服务为“网络预约出租汽车服务、巡游出租汽车电召服务”,必要个人信息包含:1.注册用户挪动电话号码;2.乘车人出发地、达到地、地位信息、行踪轨迹;3.领取工夫、领取金额、领取渠道等领取信息(网络预约出租汽车服务)。即时通信类,基本功能服务为“提供文字、图片、语音、视频等网络即时通信服务”,必要个人信息包含:1.注册用户挪动电话号码;2.账号信息:账号、即时通信联系人账号列表。此外,小程序也被纳入治理。据南都个人信息爱护核心联结中国信通院平安研究所去年9月公布的《小程序个人信息爱护钻研报告》显示,小程序超范围收集个人信息等问题较为重大。如某防疫类小程序,除获取集体姓名、身份证号等敏感信息外,还需进行人脸识别。 报告认为,在理论线下防疫工作中通过姓名、身份证号以及二者的对应关系,再配合真人及身份证查验,在不获取人脸信息的状况下即可保障信息的准确性。此次《规定》明确,小程序也纳入到治理中,不可超出必要范畴收集个人信息。 二、治理 APP 侵害是长期工程,立法凸显重要性据工信部音讯,截至 2021 年 3 月,通过为期两年的专项整治,共实现 73 万款 APP 技术检测工作,公布 12 批次对外通报,责令整改 3046 款违规 APP,下架 179 款拒不整改的 APP。 去年 5 月,公安部也曾颁布守法收集个人信息 APP 十大案例。但相干违规问题,仍时有报道。往年的央视“3·15”晚会,就曝光了内存优化、智能清理等方面局部 APP 存在违规解决个人信息等问题。 由此可见,治理 APP 侵害用户权利是一项长期工程,也凸显了相干立法工作的重要性。为此,我国目前正加紧制订出台《数据安全法》《个人信息保护法》等系列法律,为数据安全和隐衷爱护提供制度保障。 现在,挪动互联网已不只是一张一般的网,更是我国新基建的重要外延。十九届五中全会指出要零碎布局新型基础设施,“十四五”布局大纲也在明确放慢数字倒退的同时,特别强调了要增强个人信息爱护。毫无疑问,明确APP必要个人信息范畴,是挪动互联网衰弱倒退的须要,也是放慢我国新基建建设的必然要求。 *局部信息来源于公开材料。

March 23, 2021 · 1 min · jiezi

关于app:五个问题三大策略手把手教你定制App性能监控方案

简介: 总结下来,咱们能够统计不同类型谬误在某一个工夫范畴内的谬误数、错误率、影响用户数、影响用户占比等指标。在指标的细化分类上,咱们还能够用不同的维度定义监控,比方版本号。 作者:友盟+U-APM团队 Why? 为什么要做利用性能监控? 首先,咱们要晓得利用性能监控具体指什么?以及目标: 监控是一套残缺的“监督+报警”的零碎。对于像咱们这样的App开发者来说,利用性能监控是掂量App的第一道关卡,如果利用的品质不好,会给用户带来最间接的体验挫伤。App上线后,开发者是无奈7*24实时获取到用户应用及体验状况的,这时就须要一套优质的监控工具。 那么,咱们到底须要监控哪些指标? 安卓和iOS的客户端监控指标就有很多不同,比如说安卓须要的是Java、Native、ANR谬误等等,iOS须要的是Objective-C、Swift、C++层的谬误等等。 在定义谬误指标上,最根底的是不同类型的谬误数,如果思考到谬误数与整体利用使用量的比照,能够思考用比值的形式,比方能够定义错误率: 总结下来,咱们能够统计不同类型谬误在某一个工夫范畴内的谬误数、错误率、影响用户数、影响用户占比等指标。在指标的细化分类上,咱们还能够用不同的维度定义监控,比方版本号。 如果要关注谬误的产生次数,及谬误的影响用户数,则能够在谬误数的根底上,依据用户排重计算得来影响用户数。 如何定义独立用户呢?咱们能够思考用设施ID分别,比方imei、idfa、AndroidID等等,如果这些信息很难获取,也能够应用业务上的用户ID,比方登录账号,会员名等。除此之外,应用第三方SDK提供的设施辨认定义ID也是个不错的抉择。在应用这类ID排重后,就能够失去谬误的影响用户数。 如果咱们已知谬误的影响用户数,但无奈确定它的影响范畴占比,则能够看以下这个指标: 总结下来,咱们能够统计不同类型谬误在某一个工夫范畴内的谬误数、错误率、影响用户数、影响用户占比等指标。在指标的细化分类上,咱们还能够用不同的维度定义监控,比方版本号。 How? 如何灵便地制订属于你的告警打算? 咱们先请您做个小测验来判断下您的监控告警类型(一共5道题,仅需1.5分钟) 规定如下:A选项记5分,B选项记10分,C选项记15分,D选项记20分 Q1: 请问您的产品目前处于什么阶段? A: 曾经上线,处于比较稳定的状态,对监控告警的需要较低 B: 还在开发阶段,须要捕获一些测试中的谬误,对监控告警的需要个别 C: 刚刚上线,整体来说比较稳定,对监控告警的需要较高 D: 刚刚上线,成果未知,十分须要7*24小时实时关注,对监控告警的需要十分高 Q2: 请问您在您的公司/部门的职务是什么? A:领导者,关注利用的品质做得如何 B:运维人员,负责监控整体利用性能的线上问题监督官 C:测试人员,负责利用发版前的品质把控 D:安卓/iOS端的客户端开发人员 Q3: 请问您所属团队有多少人在关注利用性能品质,并参加其中呢? A: 1,光杆司令干活靠本人 B:2~5人,小型开发团队 C:6~25人,互相打配合,一起优化利用品质 D:25+,超大型的开发团队,不谦虚的说算是行业龙头 Q4: 您日常关注哪些利用性能监控指标: A: 最根本的谬误数就能够 B:思考到客户端影响的用户应用范畴,在上述的根底上须要监控影响的用户数以及占比 C:在上述的谬误数以及影响用户的根底上,还要思考各个版本的散布 D:须要制订组合型的告警规定:比方:谬误数>100且错误率>1%或者影响用户数比1天前多1%时触发告警,也要思考版本散布 Q5: 请问您对告警的告诉形式有精细化设置的要求么? A:没什么要求,只有能收到就行 B:在工夫上有一些要求,中午不想被打搅 C:在通道上有一些要求,须要邮件或者特定的办公聊天软件 D:对工夫和触达通道都有要求 What?那么如何设置告警打算呢? 以上的分加总,请先断定下您的测验总分(A选项记5分,B选项记10分,C选项记15分,D选项记20分),来看您的App在上面哪个监控告警需要等级范畴内:(数据在哪个范畴?还是监控告警在哪个层级?) 热血青铜(25~50分):您属于监控告警的初级阶段使用者,您在日常工作中无需十分精密地查看各种谬误的产生状态。可能是因为您的利用还在初始阶段,或者您位高权重,无需亲自修复告警信息,只须要整体监控就好。请查看下文中的计划1 勇敢黄金(50~75分):您属于监控告警的中级阶段使用者,您或者您的团队曾经有了监控告警的意识,并且在日常工作中会关注到实时的利用品质状况。您曾经能够用肯定精细化的规定设置告警了,请跳转至计划2 光荣王者(75~100分):您曾经属于监控告警的高能玩家了,只须要一点点疏导,就能够成为监控告警界的“超级王牌”了 根据上述测验的分值高下,您能够判断您所须要的告警设置的难易,整体分为上面几个计划,实现水平由易到难。如果您想学习最全面的告警设置性能,请间接跳转到计划3哦 计划1:简易型--整体利用品质监控 作为最高级的告警设置,您只须要思考两个问题: a. 我应该在什么状况下收到告警? b.我如何能收到利用告警音讯呢? 解决第一个问题,您能够思考最简略的状态,只有有谬误我就要收到预警,那么只有设置谬误数>0的条件就能够解决。如果您感觉这样被打搅的十分多,能够依据本身的利用状况,设置谬误数>xx个这类的告警规定 ...

March 22, 2021 · 1 min · jiezi

关于搜索:APP搜索如何又快有准

摘要:搜寻的概念深入人心,但做好一个体验绝佳的搜寻服务并不是一件容易的事。本文分享自华为云社区《云搜寻服务在APP搜寻场景的利用》,作者:写代码的贺巨匠 搜寻无处不在,尤其是在挪动互联的明天。无论是社交,电商,还是视频等APP中,搜寻都曾经在其中表演了重要的角色。作为信息的入口,搜寻能帮用户从海量信息中找到想要的信息。在APP搜寻的典型场景如下: 查找用户:依据输出匹配用户昵称,根据用户属性对搜寻后果进行排序;搜寻话题:依据用户输出匹配话题,根据话题属性对搜寻后果排序;搜寻帖子:依据用户输出匹配帖子内容,根据内容属性对搜寻后果排序;依照地理位置搜寻或举荐:依据用户输出地址信息,转换为经纬度,在肯定间隔范畴内匹配话题、内容中的地址信息,根据它们的属性对搜寻后果排序。 事实上,只管搜寻的概念深入人心,但做好一个体验绝佳的搜寻服务并不是一件容易的事。在性能和搜寻精度等细节上,都存在不可疏忽的难点,而这些往往又是晋升搜寻体验的要害。客户难点如下: ● 基于数据库的性能问题: • 数据个别都是分库分表存储在MySql数据库中,搜寻时存在关联操作,查问效率很低; • 数据库的查问性能很难做到毫秒级,用户搜寻体验非常不好。 ●基于数据库的匹配问题: •数据库中,无奈做到综合思考查问条件的属性后排序; • 数据库中无奈过滤一些特殊字符,搜寻过程中如果用户昵称中有特殊字符,就会不精确。 ● 基于开源搜索引擎Elasticsearch的问题: • 默认的BM25相关性打分排序无奈确保搜寻后果的合理性; • 简略的分词器对特殊字符处理不当。 举个例子:搜寻用户“大海”时为什么大V用户“kkw眼中de星辰大海”排在了“寻找那片大海”前面? 对于想要搭建APP搜寻的客户来讲,从技术层面登程,实现计划如下。华为云搜寻服务是基于Elasticsearch,可能在毫秒级实现TB级检索工作并返回后果,可能很好解决传统数据库的性能问题。 ▽ 整体实现计划 在云搜寻服务中,咱们针对客户的搜寻痛点,做了如下优化,帮忙客户加强用户体验,晋升效率,疾速实现业务增长。 华为云搜寻服务中搜寻计划优化: ● 反对自定义词库,用户在词库中增加热搜词、关键词、网络常用词等来进步搜寻输出的匹配精度; ● 反对自定义权重,用户能够依据业务定义不同查问条件的权重,来决定最终后果的排序; ● 反对越搜越准(布局),云搜寻服务依据对搜寻后果的点击行为,自动更新属性权重,达到最终后果排序更精准的成果。 在云搜寻服务中,咱们额定提供对于分词和词库的解决方案,帮忙客户解决搜寻精准度等问题。 云搜寻服务分词、词库计划:● 因为用户昵称和内容、话题表白的含意不同,针对不同字段能够采取不同的分词器,以便于晋升匹配精准度。具体作用见下表所示: ● 采取应用简繁体分词器,还能够反对所有可搜寻字段都能解决繁体字; ● 对于热搜词、关键词、网络常用词,常常随工夫变动,因而,咱们采取用户自定义词库的形式更新,来进步搜寻精准度。 总体而言,云搜寻服务在互联网APP的搜寻场景有如下的劣势: ● 一键化操作,无忧运维 所有次要操作都是一键可达,业余团队贴身运维,疾速实现搭建搜寻功能模块; ● 灵便弹性 按需申请,在线扩容,轻松满足业务增长需要; ● 灵便词库治理 反对自定义词库与拼音分词,反对词库热更新,无需重启,配置即失效,对最终用户无影响; ● 灵便分词、灵便权重 不同字段应用不同的分词形式,进步搜寻准确率。不同条件设置不同权重,进步搜寻精准度; ● 高效实时检索 毫秒级检索后果返回,新数据入库后,即刻能被检索到,提供良好的用户体验。 大数据普惠翻新包年75折起,MapReduce、数据仓库、云搜寻、数据湖摸索、数据可视化、数据湖治理核心助力企业开释千行百业数据价值!参加流动,注册即有红包支付!更有机会参加抽奖赢好礼! 点击关注,第一工夫理解华为云陈腐技术~

March 16, 2021 · 1 min · jiezi

关于app:app测试

1、兼容性测试 手机型号手机尺寸零碎版本:华为P30 6.5寸 安卓7 华为M30 5.5寸 安卓6 网络 4G 5G 硬件兼容 软件兼容2、装置卸载和降级测试 装置测试 失常场景: 在不同的操作系统版本上装置 从不同装置渠道装置(app助手,手机助手,间接下载apk) 不同的装置门路(装置到手机上,装置到SD卡上) 异样场景: 装置时出现异常(断网,关机),回复后是否持续装置 装置时存储空间有余 装置时手动勾销再次装置 正在运行时笼罩装置 低版本笼罩高本版装置 卸载后装置卸载测试 失常卸载(APP手动卸载,工具卸载) 运行时卸载 勾销卸载 卸载异常中断 卸载后无手机残留 降级测试 从邻近版本升级 跨版本升级 不同渠道降级 降级揭示胜利 利用内降级时非WIFI揭示3、交叉性测试 在测试app的过程中,模仿另一个事件或者操作对该过程进行烦扰的测试,查看app是否能失常应用 测试点: 1、APP运行时接打点火 2、APP运行时收发信息 3、APP运行时查看利用推送 4、APP运行接上蓝牙设施 5、APP运行时接管文件弹窗揭示 6、APP运行时旋转屏幕 7、APP运行时切换网络 8、APP运行时应用相机、计算器等手机自带利用 9、APP运行时电流告警,插拔充电器4、音讯推送 测试点: Push音讯是否按指定业务规定发送; 当Push音讯是针对特定用户时,查看收到的Push与用户身份是否相符; 设置不接管推送音讯时,用户是否会收到Push音讯; 设置push音讯显示的地位,是否与配置统一。 收到push音讯,是否能失常关上。 APP在前台应用时,收到push音讯如何提醒 APP在后盾运行时,收到push音讯如何提醒 APP离线,是否能收到PUSH音讯。5、手机APP性能测试关注点(GT工具测试) 概念:测试手机在装置APP之后,在应用过程中对于手机资源耗费状况监控的一种测试类型 性能测试:模仿多个用户操作系统,测试服务器解决多个工作的能力 关注点: CPU应用状况 Memory内存应用状况 电量、流量耗费状况 冷、热启动工夫 界面切换速度6、monkey稳定性测试 开始工夫:个别是在功能测试结束之后,零碎处于稳固状态在进行作用:随机性压力测试,减少一层平安保障,为了随机查看在大量操作之下app是否会cash(解体)执行测试步骤:指令:adb shell monkey -p 包名 -v -v-s 1001 1000 > 生成日志本地目录文件名剖析日志信息:搜寻:ANR、ERROR、EXCEPTION的谬误日志信息,如有截图发给对应的开发进行确认问题所在

March 4, 2021 · 1 min · jiezi

关于app:安卓手机推荐app

安卓手机举荐app测试机型:小米8 lite 测试日期:2021年1月20日 零碎工具类Magiskroot权限管理工具开发助手搞机辅助工具MyandroidTools禁用服务,禁止开机启动、主动唤醒MT管理器文件治理,安卓逆向权限狗治理app权限一指禅主动跳过app启动广告剑拔弩张录制编写脚本,实现自动化绿色守护主动休眠后盾利用ES文件管理器文件管理器安卓清理君好用的零碎清理工具网络工具极速浏览器360极速浏览器,搭配pc版应用,能够同步收藏夹篮~燈老牌番茄工具老王 威~匹-嗯老牌番茄工具易点投屏"投屏播放器"盒子版配套软件AirDroidpc上无线治理手机文件(常驻告诉栏、广告有点烦)影音视频哔哩哔哩最好的学习appyoutube vanced油管第三方客户端,无广告字幕杀手看视频遮挡字幕tita搜寻视频聚合搜寻,可自定义视频源利用市场酷安宝藏利用市场①号手机乐园宝藏利用市场②号办公类有道云笔记偶然拿来记账快对作业搜整本书答案神器①号(广告很烦)互助文档搜整本书答案神器②号(广告很烦)E英语宝湖南少年儿童出版社出品,小学湘少英语课程动画收费看看书学习微信读书每次登陆都送我十多天收费看书券每日英语听力英语听力书面语学习神器Libera Pro本地看书软件博看书苑看课外书神器 机构账号:安微省公共图书馆账户:ahst 锦州理工大学账户:yklgxy 南华大学公共图书馆账户:usc 大连大学公共图书馆账户:DALIANDX 兴义市公共图书馆账户xyslib 对外经贸大学公共图书馆账户:uibelib 东北农业大学公共图书馆账户:dbnylib 成都中医院大学图书馆账户:cdzyytsg 大连教育学校公共图书馆账户:dljyxy 广东立中山图书馆账户:gdzslib 广西科技高校鹿山学院公共图书馆账户:lsxylib 广西大学公共图书馆账户:gxulib 河南修建岗位技术学校账户:hnjzzy 云南省师范学校公共图书馆账户:ynnulib 广州图书馆账户:gzst 重庆市历史人文科技学院公共图书馆账户:cqrwxy 首都医科大公共图书馆账户:cpums 沈阳大学公共图书馆账户:sydxlib 湛江市幼儿师范专科院校账户:zjyesf 独墅湖公共图书馆账户:sdll E4F词根词缀词典,台湾出品新诗词典搜诗词、译文赏析西窗烛搜诗词、译文赏析快快查汉语查字词词根词缀字典词根词缀词典,集体开发欧路词典英语学习词典神器,需下载词库网易有道词典有破解版,能够下载官网词库,省事

January 22, 2021 · 1 min · jiezi

关于app:前端面试每日-31-第625天

明天的知识点 (2020.12.31) —— 第625天 (我也要出题)[html] H5如何与APP交互?有哪些形式?[css] Less当初最新的版本是应用的是什么语言编写的?[js] 应用js写一个办法操作css变量[软技能] 什么是UTC工夫?《论语》,曾子曰:“吾日三省吾身”(我每天屡次检查本人)。前端面试每日3+1题,以面试题来驱动学习,每天提高一点!让致力成为一种习惯,让奋斗成为一种享受!置信 保持 的力量!!!欢送在 Issues 和敌人们一起探讨学习! 我的项目地址:前端面试每日3+1【举荐】欢送跟 jsliang 一起折腾前端,零碎整顿前端常识,目前正在折腾 LeetCode,打算买通算法与数据结构的任督二脉。GitHub 地址 微信公众号欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个Star, 同时欢送微信扫码关注 前端剑解 公众号,并退出 “前端学习每日3+1” 微信群互相交换(点击公众号的菜单:交换)。 学习不打烊,充电加油只为遇到更好的本人,365天无节假日,每天早上5点纯手工公布面试题(死磕本人,愉悦大家)。心愿大家在这虚夸的前端圈里,放弃沉着,保持每天花20分钟来学习与思考。在这变幻无穷,类库层出不穷的前端,倡议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript才是基石!)欢送大家到Issues交换,激励PR,感激Star,大家有啥好的倡议能够加我微信一起交换探讨!心愿大家每日去学习与思考,这才达到来这里的目标!!!(不要为了谁而来,要为本人而来!)交换探讨欢送大家前来探讨,如果感觉对你的学习有肯定的帮忙,欢送点个[Star]

December 31, 2020 · 1 min · jiezi

关于app:APP测试点功能接口等

一、功能测试——依据产品需要文档编写测试用例。 ——软件设计文档编写用例。 留神:就是依据产品需要文档编写测试用例而进行测试。 1、装置运行卸载测试 1)验证app是否正确装置运行卸载,以及操作过程和操作前后对系统资源的占有状况 2)装置运行卸载的提醒,报告等 2、UI测试: 1)用户界面(菜单、对话框、窗口)等布局,格调是否满足用户需要,文字地位,形容是否正确,界面好看水平,文字图片组合是否正当 2)用户敌对性、人性化、便于操作等 3、功能测试 1)评审需要,多方面思考,整顿出内在外在以及非功能性的间接间接性能点,比照需要,提取测试点 2)依据罕用的一些分析方法,等价类边界值断定表因果图场景法等办法,设计测试用例,对提取的性能点进行笼罩 3)测试各个阶段一直跟踪缺点,做好用例的更新迭代和一直变更需要所带来的业务或者需要的谬误 4、接口测试 1)依据接口文档对接口进行测试,验证接口返回的数据是否失常,查看接口的响应工夫 2)应用抓包工具对app进行数据抓取,通过抓取的接口信息来进行接口测试 5、性能测试 1)极限测试:各种边界状况下验证app的响应能力 如:低电量、贮存满。弱网等状况 2)响应能力测试:验证各种状况下不同操作是否满足用户响应需要 3)压力测试:重复长期操作下,零碎该资源的应用状况 6、中断测试(烦扰) 比方:前后台运行时来电话,短信,下载文件,听音乐看电影等不同状况下的体现 7、兼容测试 1)不同网络环境(WiFi、2G、3G、4G等) 2)各种设施品牌机型零碎版本等兼容 苹果、安卓(不同品牌,不同安卓零碎版本)等 8、回归测试 bug修复后的回归测试,上线交付前进行全副的回归,验证 9、降级更新测试 每次app版本迭代更新时,配合不同网络环境,及不同更新权限(强制更新,不强制更新),进行下载、装置、更新、启动运行等测试 10、领取测试 1)领取后果的确认,数据库查问 2)申请报文是否加密 3)不同场景的领取 金额足够、金额有余、反复领取、无网领取、弱网领取、同账号多平台一起领取、余额宝微信信用卡等多种领取形式、不同领取形式的组合、明码正确/谬误、领取下限等状况 二、app测试应用的工具1、性能bug记录工具禅道、Bugfree、Bugzilla、TestLink、mantis等 2、接口测试工具和接口文档生产工具:apipost 下载地址: ApiPost - 可间接生成文档的API调试、管理工具 3、接口性能测试工具:jmeter 4、平安测试工具:AppScan 下载地址: https://www.ibm.com/developerworks/downloads/r/appscan/www.ibm.com

December 21, 2020 · 1 min · jiezi

关于app:一篇文章教你如何创建一个电商APP

Kendo UI for jQuery最新版下载 在本教程中,咱们将应用HTML、CSS、jQuery和Kendo UI提供的一些组件来构建电商APP。在本教程中,咱们将构建电子商务应用程序的根本版本。 从头开始构建组件有时会十分耗时,为了不便的解决应用程序,咱们将应用Kendo UI组件,这将节俭大量工夫。 Kendo UI是由Progress的Telerik团队开发的JavaScript库,它能帮忙您疾速构建Web应用程序的UI。Kendo UI的外围库提供了一系列易于应用的UI组件,例如网格、文本框、数字文本框、图表等,Kendo UI提供了风行的JavaScript库(如jQuery,Angular,React和Vue)的组件。 先决条件要构建此应用程序,请应用以下一些工具: Kendo UIHTML/CSSjQuery 初始化应用程序尽管开发功能齐全/可扩大的电子商务应用程序可能会很麻烦,然而实现根本版本很容易创立,咱们将应用HTML/CSS, jQuery和Kendo UI创立一个利用。 创立一个名为marketplace的文件夹,并在其中定义此文件夹构造: marketplace/css/styles.cssjs/items.jsfunctions.jsindex.html 对于咱们的应用程序,将应用一种非常简单的办法: 定义一个css文件夹来保留样式表。定义一个保留jQuery函数的js和一个蕴含市场商品的item.js文件。最初在文件夹的底部创立一个index.html文件,以用作应用程序的入口点。首先筹备index.html文件来接管和显示内容,在索引文件中,输出以下代码行: `<!-- ./index.html --><html><head><title>Awesome Market</title><link rel="stylesheet" href="css/styles.css"><link rel="stylesheet" href=" https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous"> </head><body><main><header><nav class="navbar navbar-light bg-light justify-content-between">MarketPlace <div id="cart-container"><div id="cart">cart Empty cart </div><span id="itemCount"></span></div></nav></header><div id="shoppingCart"><div id="cartItemsContainer"><h2>Items in your cart</h2><div id="cartItems"></div><span id="cartTotal"></span></div></div><div id="products" class="row"> </div></main><script src="https://code.jquery.com/jquery-3.3.1.js"integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="crossorigin="anonymous"></script><script src="js/functions.js"></script></body></html>` 通过CDN导入所有相干资源,资源包含jQuery、Bootstrap和fontawesome,以及自定义样式表。定义将显示我的项目的区域。题目蕴含以后购物车我的项目和一个用于清空图表的按钮。定义div在每次查看时保留图表项。div为空,将主动从jQuery函数动静注入产品。导入jQuery和自定义js文件到目前为止,咱们曾经定义了一个样式表和一个蕴含空内容的函数文件,持续填充它们。 关上您的CSS文件并增加文件,并向其中增加以下代码: `// css/styles.cssmain {padding: 10px 0;width: 1024px;margin: 0 auto;} cart-container {float: right;width: 210px;position: relative;} itemCount {position: absolute;display: none;top: -10px;left: -10px;width: 20px;height: 20px;border-radius: 50%;background: red;color: white;text-align: center;}nav {margin-bottom: 30px; ...

December 9, 2020 · 3 min · jiezi

关于app:网信办整治应用程序信息内容乱象105款移动应用被下架

SegmentFault 思否音讯,国家网信办官微公布音讯称,针对网民反映强烈的局部挪动应用程序流传淫秽色情、暴恐血腥等守法违规信息,提供欺骗赌博、招嫖卖淫等守法违规服务的网络乱象,国家网信办自11月5日起组织发展挪动应用程序信息内容乱象专项整治,首批清理下架猫途鹰、苏格、面具公园、剧能玩、视界、tata、西蒂、瘾欢、独身交友聊吧、黑夜漂流瓶、菲姬、夜撸云、花姿直播、麻豆传媒、豆浆TV播放器、红杏视频、青青草视频、享色、含羞草、柠檬、噗噗漫画、51漫画、韩漫人、火山浏览等105款守法违规挪动应用程序。 同时,对未落实审核要求、上架守法违规应用程序的极速下载、7755app、新视觉、Win之家、皮皮巴士、7230手游网、软件帝、dmfuns等8家利用商店,依法依规采取进行下载服务处理措施。 国家网信办示意,将继续推动挪动应用程序整治工作,增强对挪动应用程序信息服务的监督查看,及时清理处理守法违规挪动应用程序和利用商店,致力营造清朗网络空间。

December 8, 2020 · 1 min · jiezi

关于app:标梵IPFS矿机app软件开发软件-IPFSApp开发方法详解

IPFS矿机app软件开发,IPFSapp软件开发详解。IPFS硬币采矿应用软件平台开发,IPFS区块链采矿应用软件开发,IPFS采矿池存储系统开发,IPFS采矿模型零碎定制,IPFS我的项目源代码开发,IPFS采矿机洽购平台开发。该零碎将矿工划分为储运和搜查两局部。任意一位使用者都能够成为两种矿工。 1。若顾客要求贮存或取回材料,则须付费。2。贮存者为你的网络提供数据存储。通过提供磁盘空间并响应客户申请,存储矿工参加了Filecoin操作。作为一名贮存者,用户必须应用与其抵押储备空间成比例的担保。(抵押是一个扇区,贮存矿工提供给网络的磁盘空间。采购员在这个扇区中存储客户的数据片段。之后再用它来取得标记。若要保留碎片,采矿者必须确保其所属网络部门。贮存者在特定的工夫内贮存数据。回应使用者的贮存要求。贮存者创立工夫和空间证实,并把证实发送到区块链网络。要显示的是你在某一时刻保留的数据。如材料有效或遗失,贮存者会被处以抵押品罚款。贮存者也能开发出新区块。若采掘新区块,矿工将会因采掘新区块而获奖赏,并能就新区块收取交易费用。3。SearchSearch为你的网络提供数据搜寻服务。捕获采集者参加Filecoin操作,提供用户检索申请所需的数据。不像储矿者,他们不须要抵押或发送贮存数据。不须要贮存证实。贮存者也能够作为搜查矿工。我能够间接从客户或者回收市场赚到钱。IPFS矿机app软件开发,IPFSapp软件开发详解。小规模存储流程。1。贮存者在区块链上存储抵押品。保障网络存储的稳固。抵押品可用于担保服务,如果矿工产生证据来保留数据,抵押品将被返还。若储层不能胜利生成,矿工将不能取得抵押。2。当区块链上呈现抵押交易时,矿工能够在存储市场上提供存储。采购员依据市场订单确定价格和定单。3。定单匹配后,客户向存储矿工发送数据。在收到存储的小数据之后,矿工和客户签订交易订单,并向区块链提交数据。4。在将数据调配给存储矿工之后,须要反复生成复制证实,以确保其裸露在区块链中。通过网络进行验证。5号一旦通过验证,贮存者将取得相应的处分。数据起源:https://www.biaofun.com/https://www.biaofun.com/

November 9, 2020 · 1 min · jiezi

关于app:探索app-Clipc

◆ ◆  ◆ 简介 在iOS14中苹果推出了很多新个性,其中就蕴含App Clips。App Clips相似微信的小程序,不须要显式的去App Store里下载,苹果会在对应的机会进行下载。App Clips能够在不关上主App的状况下,独自进行应用,交互操作和主App无异,例如登录、列表视图、领取等。 为了保障加载速度,苹果对App Clips的安装包大小有限度,从产品设计的角度,就要聚焦外围性能,这也是苹果所举荐的。 因为公司打算做App Clips,所以有了这篇文章,文章中的内容基本上能保障准确性,并且其中很多技术点是和苹果开发者沟通过的。 ◆ ◆  ◆ 应用流程 通过Safari Banner、iMessage等如下形式,能够关上App Clips。例如点击Safari Banner调起App Clips,调起时会带一个URL过去,零碎会依据调用URL来确定卡片显示的数据,随后将数据例如题目、背景图等显示在App Clips的卡片页。 主题目下方有几行小字,能够抉择是否开启告诉、定位等权限,这些权限都是临时性或受限制的,能够点击蓝字进去将权限敞开,否则默认权限是关上的。点击Open即可进入App Clips中,并且将URL传给App Clips。 ◆ ◆  ◆ 开发 App Clips从iOS14开始反对,所以能够间接用SwiftUI进行开发,这也是苹果所举荐的开发模式。 ◆ ◆  ◆ 调起 App Clips以主工程的一个target的模式存在于我的项目中,与主工程共享代码及资源文件。App Clips能够拜访蓝牙、NFC等硬件,相当于一个smart app。主App和App Clips是互斥的,下载主App后App Clips就会被删除,所以如果有主App则调起客户端,没有客户端则调起App Clips。 App Clips是通过URL的形式调起的,能够间接应用配置的URL,也能够在其前面拼接门路和参数,和咱们应用的申请URL相似。从内部调起的时候就会传入一个URL过去,App Clips进行解析以调起对应的页面。 有一点须要理解的是,在WWDC2020中,苹果演示的是一个相似于微信小程序二维码那样的异形码。通过和苹果开发者沟通,并不强制要求用异形码,二维码就能够,次要是承载URL即可。 ◆ ◆  ◆ 二进制下载 对于App Clips二进制的下载有两种状况,一种是手机解锁的状况下,零碎会在卡片页展现过程中就开启后盾下载,点击Open按钮即可关上App Clips。如果过后二进制还未当初完,则会呈现零碎的loading页面,loading实现后即可关上App Clips。 如果调起App Clips时手机处于锁屏状态,在卡片页不会开启后盾下载,当用户点击Open后才会开始下载并展现loading页面。 下载后的App Clips,三十天内未应用则会被删除二进制,下次应用将从新下载。这个卡片页无论是否装置App都会显示,区别在于关上的是主App还是App Clips。Clip Card只会显示一次,如果App Clips二进制没有被删除的话,之后就不会再反复显示。563513413,不论你是大牛还是小白都欢送入驻 ◆ ◆  ◆ ...

October 14, 2020 · 2 min · jiezi

关于app:APP如何做到快速流量变现我想我找到了答案

最近常常有开发者向我讲述他们在产品变现时候面临的一些痛点: 我是开发者,想做流量变现,不晓得哪个挪动广告聚合平台更适合。轻易找到了一个平台没想到点击率和单价这么低。接入某某广告平台的流程异样简单,审核材料要求极多。模式很多样但却不晓得哪种适合本人。传统想法认为如果要进步广告支出,你就不得不开始毁坏用户体验,但这些都是导致利用走不短暂的最下策。其实这些问题是每个开发者都会遇到的,甚至不夸大的说很多开发者因为这些问题没有解决,不得不放弃一款产品。但这些问题真的很难解决吗?答案是只有找到正确的渠道,问题很好解决。 开发者们到底须要平台们提供什么帮忙?开发者们到底须要平台们提供什么帮忙? 我认为是产品继续成长和更高的收益可能性。 其实从穿山甲平台的「新星助推打算」咱们就能够窥见到平台帮忙开发者解决问题的思路,并理解到开发者们能如何实现破局。 首先是从2020年9月继续至2020年12月底,在50亿元优质开发者专项激励根底上,额定提供3000万元成长激励金,帮忙500个开发者做到激励翻倍,每月将为成长中的高后劲开发者提供最高80%的额定收益补贴。 其次,平台推出Growth Lab,其中涵盖商业化、经营调优、数据监控剖析等全生命周期多元化产品工具,从拓展广告场景、晋升用户留存转化、晋升产品ROI等多角度助力开发者迷信复盘,帮忙产品疾速变现,冲破产品成长瓶颈。 新星助推打算的种种帮忙,转化到开发者方面,会给开发者变现和成长环境,带来三个维度的改善。 首先,开发者相比以前更加的省心,开发者通过新星助推打算,能取得产品能力和技能培训全方位搀扶,失去更加多元化和更全面的成长机会。其次,加入的开发者能失去切实的金钱收益,入选的开发者可取得最高80%的额定分成处分,也就是说,优质开发者月收益补贴额度最高将达到180%。最初,它让开发者更释怀,不仅在APP体验上为开发者实现产品把脉,穿山甲更提供的全链路生态环境,开发者们能够更好克服数据孤岛,平滑向下一倒退阶段过渡。从而实现变现与用户体验的均衡。如果你也面临开发和变现中的窘境,扫描进入下方小程序,报名「新星助推打算」 开发者对「新星助推打算」的评估 对于「新星助推打算」,我也和几位资深开发者聊了一下,如果你想听听他们的认识,无妨往下看看。 社交产品开发者A:我集体感觉平台的服务力是十分重要的,加入了新星助推打算后,让我感触最深的是平台带给我的超贴心的服务,绝对于其余竞品在这里我听到了最为业余的买量和变现领导。 工具产品开发者B:以前始终苦于没有多种凋谢的商业化能力和翻新的广告场景,僵硬的广告展示形式让咱们散失了大量用户。接入穿山甲后,理解到了平台基于的多样的广告形式,特地是激励视频,为咱们拓展了新的变现思路。这次应用后不仅让咱们的产品失去了更大的收益,也无效增长了用户应用时长,晋升了用户留存。 摄影APP开发者C:平时比较忙,没工夫去学习产品变现常识,我在应用穿山甲的过程中,发现平台提供的「开发者成长核心」小程序里不仅有官网讲师全面解读开发者的变现难题,而且面向咱们这些不同需要的开发者,还推出了不同难度的课程。使我能利用碎片工夫学到一些很实用的常识。 挪动端小游戏开发者D:为了测算ROI,咱们不仅要全渠道埋点,还必须单独承当从埋点到统计分析变现、投放数据的人力老本。这样不仅扩散了资源,无形之中还限度了团队的灵感施展。穿山甲提供数据看板的能力,大大节约了咱们的工夫,从而不至于陷入繁冗的数据分析和体力劳动当中。 尽管下面的内容曾经让你对「新星助推打算」有了肯定的理解,但亲自参加才会取得更多。对于成长中以及陷于变现难题的开发者们来说,新星助推打算确实是一个值得一试的流动。 扫描进入下方小程序,报名「新星助推打算」

September 29, 2020 · 1 min · jiezi

关于app:开发一个-App-Clip-并不难我们立马上开发教程

作者|何世友、彭权华 在 2020 年 6 月 23 日的 WWDC 大会中,苹果公布了 App Clips 。 App Clip(官网翻译:轻 App;民间翻译:「苹果」小程序),是主 app 轻量级的版本,旨在在特定场景为用户提供疾速便捷的体验。 如果你在下班路上通过一家咖啡店想购买一杯咖啡,但发现排队下单付款的人很多,此刻你只须要应用 iPhone 自带的扫码工具扫描咖啡商店的 App Clip 二维码或 NFC 标签,就能够购买一杯咖啡,无需下载安装咖啡商店的 app。 图片起源:苹果官网  这利用场景听起来是不是跟微信小程序很像? 是的,于是咱们在 App Clips 公布后就立即进行了 App Clips 和微信小程序的比照和实操(点此浏览具体内容)。 咱们发现,App Clips 和微信小程序的存在都是为了解决同一个问题。但就开发而言,App Clips 和微信小程序亦存在着方向上的差别。 微信小程序是 0 到 0.1 再到 1.0。开发者为提供一个服务,从头开始开发小程序,用户用完即走,体验很棒。App Clips 则是从 1.0 到 0.1,是对现有 app 的一种改进,因而在开发上遇到的麻烦反而会少一些。 上面,咱们就针对 App Clip 几个重要个性进行具体阐明,并以 App Clip demo 为例,讲一讲开发的那些事。无论你是基于理论业务须要,或者学习、摸索新事物的需要,只有具备肯定的开发根底,通过本教程,也能轻松搞定一个 App Clip。 App Clip 的技术限度App Clip 仅限利用于特定场景,即尽可能快地实现一个工作,即用即走。你能够把它看作主 app 的外围性能利用,对于简单的工作应该在其对应的主 app 实现,因而某些性能被禁止在 App Clip 中应用。 ...

September 25, 2020 · 3 min · jiezi

关于app:开发直播App对多协议编解码的支持

多协定直播接管解码: 直播的根本流程都是采集 → 编码推流 → 网络散发 → 解码 → 播放。通常的视频格式: .mp4,.flv,.ogv,.webm 。常见的视频封装格局:AVI,MPEG,VOB 等。 AVI AVI 格局(后缀为.AVI):它的英文全称为 Audio Video Interleaved,即音频视频交织格局。它于 1992 年被 Microsoft 公司推出。 DV-AVI DV-AVI 格局(后缀为.AVI):DV 的英文全称是 Digital Video Format,是由索尼、松下、JVC 等多家厂商联结提出的一种家用数字视频格式。 MOV QuickTime File Format 格局(后缀为.MOV):美国 Apple 公司开发的一种视频格式,默认的播放器是苹果的 QuickTime。 MPEG MPEG 格局(文件后缀能够是 .MPG .MPEG .MPE .DAT .VOB .ASF .3GP .MP4 等):它的英文全称为 Moving Picture Experts Group,即静止图像专家组格局,该专家组建于 1988 年,专门负责为 CD 建设视频和音频规范,而成员都是为视频、音频及零碎畛域的技术专家。 WMV WMV 格局(后缀为.WMV .ASF):它的英文全称为 Windows Media Video,也是微软推出的一种采纳独立编码方式并且能够间接在网上实时观看视频节目的文件压缩格局。 ...

September 15, 2020 · 1 min · jiezi

关于app:人民日报发文要对APP自动续费陷阱重拳出击

技术编辑:宗恩丨发自 思否编辑部 SegmentFault 思否报道丨公众号:SegmentFault App 主动续费不止是用户吐槽了,官网媒体都看不下去了,9月1日人民日报就发文《人民日报人民时评:对“主动续费”要增强监管》点名批评,文中指出2019年,央视曾对50款热门付费软件做过一项考察,发现七成以上都有主动续费的性能,并且不少APP都涉嫌忽悠用户主动续费。主动续费性能本是为了不便消费者,但局部商家却把它变成了减少收益的工具。 通过咱们的考察发现次要有以下几种状况: 原本想开明一个月的某视频网站会员,后果莫名其妙的主动续费了1年;买了某会员,想勾销主动续费,却找不到入口;之前某外卖软件会员,起初天天做饭,但会员仍然在续;试用了一款APP,完结后遗记勾销订阅,后果领取了好几个月;前文提到的央视考察的50款热门付费软件,简直是中国移动互联网用户应用频率最高的50款软件,换句话说这50款软件能够代表中国移动互联网的倒退状况。通过央视的考察发现这些软件中七成以上都有主动续费性能,并且不少APP都涉嫌忽悠用户主动续费,足以证实简直每一个人身边都有「主动续费陷阱」的受害者,或者你本人就是那个受害者。 中国APP主动续费考察江苏省消费者权利爱护委员会的考察数据更加印证前文观点的同时,不禁让人感到惊心动魄——中国的「主动续费」陷阱状况居然如此重大。在考察的24款热门APP均有主动续费的性能,其中有21款APP将主动续费设置为优先选项,仅有三款未将主动续费设置为优先选项。 24个样本中,有12个设有试用性能,其中有8个样本一旦用户抉择试用,就等于默认抉择了主动续费, 占样本总样的 33.33%,须在试用期届满前肯定工夫内手动勾销,否则即成为主动续费用户。 在充值过后有44.84%的消费者表示满意,有55.16%的消费者示意个别或不称心。这些用户中有 69.30%的消费者遭逢过零碎默认主动续费,仅有5.58%的消费者示意会抉择主动续费。 24个样本中, 在主动续费理论发动之前,17个样本不再告诉,由零碎间接扣费,7个样本会通过平台发送行将扣费揭示。 24个样本中,在主动续费胜利之后,17个样本扣款之后没有告诉,用户往往只能通过第三方平台能力得悉扣款信息;7个样本在扣款胜利后会通过平台发送续费胜利的告诉信息。 综合以上数据,目前国内「APP主动续费」行为异样「凋敝」,且大部分APP采纳的伎俩有诱导用户继续付费之嫌,特地是「用户抉择试用就等于默认抉择了主动续费」这条无异于「骗钱」。 从消费者的角度来说,「主动续费」之所以长期存在,一个重要起因是无奈简略间接在APP上勾销且金额也不大,许多用户往往就放弃了。维权老本高,违规成本低,以致「主动续费」随处可见。 就像是健身房,赚的永远是那波不去的人的钱主动续费其实也是营销伎俩的一种,个别年费或季度费用要比单月便宜很多。当年的百团大战时团购券价格很便宜,团购网站盈利其实齐全不靠价格,依附的次要是买了团购券却不应用的用户,因为那个时候不反对券退钱。当初的主动续费也有当年「团购券」的影子,业内把这种行为比喻为「就像是健身房,赚的永远是那波不去的人的钱」,让人感觉可笑的同时,又感到气愤。 相比于国内,欧美市场更加成熟,国外用户领有足够的知情权。App Store在美区订阅类APP很多,然而很少存在没关注到就续费的状况。小编采访的一名用户说:「我已经因而信用卡扣款4000多人民币的一个我的项目,邮件反馈对方后,立马失去退款」。 而反观国内根本处于「能坑一个算一个的状态」。甚至小编身边的敌人有坚定不必国内「订阅模式」的人,因为说不上什么时候就会掉入陷阱。 增强管制对消费者来说是坏事,但如果履行「一刀切政策」将对开发者产生微小影响。尽管有「坑人」APP,但也有很多踏踏实实赚钱的开发者。如果最初弄成像「想做独立游戏,却因为没有版号间接放弃」的状况,将会对国内APP开发者们造成微小挫伤,所以最好的形式还是利用商城能够增强上架监管,比方订阅制要明确地通知用户是主动续费,并在付款等步骤上有明确的提醒,欠缺退订制度与门路。 对于APP厂商来说是否有更好的盈利模式?将来必定有,但当初还没有找到。而且对策永远走在监管后面,不良APP厂商与用户的博弈会始终存在,小编揭示用户们无论何时还是要本人留个心眼。 小贴士:如何勾销主动续订,主动续费后如何退款?APP Store 主动续费:最初小编给大家一个勾销续订和退款的办法,在App Store 购买的软件,很多蕴含到期主动续订服务,如手正点到续订性能,能够及时勾销,不过勾销的入口比拟深。在「设置」里点击你的头像进入「Apple ID」-「iTunes Store 与App Store」- 点App ID「查看App ID」-「订阅」点击APP底部有「勾销订阅」这里勾销即可。 iPhone 充值三个月内的订单能够申请退款,能够在官网写邮件申请退款或是在已购买的App记录中「报告问题」等等,小编亲测发现,最无效的就是间接打客服电话退款。退款办法:提前准备好需退款的这笔订单号,而后打官网客服电话 【400-666-8800 】转人工,阐明退款起因。 支付宝主动续费: 在「我的」-「设置」-「领取设置」-「免密领取/主动扣款」找到须要勾销的App,点进来「敞开服务」即可。 微信主动续费: 微信的勾销办法跟支付宝一样,在「我」-「领取」-「领取治理」-「主动扣费」找到须要勾销的App,进去点「敞开服务」即可。

September 2, 2020 · 1 min · jiezi

印度官方封禁-59-款中国App又一场政治引发的贸易战

技术编辑:徐九丨发自 思否编辑部SegmentFault 思否报道丨公众号:SegmentFault 北京时间 2020 年 6 月 29 日晚,印度政府当地时间周一发布公告,以「影响国家安全」为由,禁止 59 个移动应用在印度市场使用。 虽然公告没有明确此次行动针对中国企业,但遭到禁止的应用绝大部分为中国互联网企业所开发,其中包括字节跳动旗下 TIKTOK(抖音国际版)、HELO、VIGO VEDIO,腾讯旗下微信、QQ、QQ播放器、QQ音乐、QQ邮箱、QQ新闻,以及小米视频、UC浏览器、百度地图、微博等。 在印度政府发布的公告里提到,这些应用从事的活动有损印度主权和完整、国防、国家安全和公共秩序。 文中表示,被禁止的应用在收集用户数据方面没有符合有关规定。同时,用户数据存储在印度以外的服务器,并可能被用于对印度国家安全和防卫有敌意的挖掘和分析,并最终影响到印度的主权和完整性。公告还认为,此次决定将维护印度移动和互联网用户的利益,并且是确保安全的有针对性的举动和印度网络空间的主权。 之后,这 59 款中国应用将被禁止都在移动平台和非移动平台使用。 但公告并未详细说明该禁令将如何执行。当地媒体报道,发布该公告后,该禁令应用仍可在该国下载和使用,尽管预计这种情况将在未来几天有所改变。 官方公告:https://meity.gov.in/press-re...以下是 59 款 app 的完整名单: TikTok - 抖音Shareit - 茄子快传Kwai - 快手UC Browser - UC浏览器Baidu map - 百度地图Shein - 非常低调的百亿美金级别的跨境电商品牌Clash of KingsDU battery saverHelo - 字节跳动旗下LikeeYouCam makeupMi CommunityCM BrowersVirus CleanerAPUS BrowserROMWEClub Factory - 知名跨境电商平台Newsdog - 腾讯投资的"印度版头条"Beutry PlusWeChat - 微信UC News -UC新闻QQ Mail - QQ邮箱Weibo - 微博XenderQQ Music - QQ音乐QQ NewsfeedBigo Live - YY旗下SelfieCityMail MasterParallel SpaceMi Video Call – XiaomiWeSyncES File ExplorerViva Video – QU Video IncMeitu - 美图Vigo VideoNew Video StatusDU RecorderVault- HideCache Cleaner DU App studioDU CleanerDU BrowserHago Play With New FriendsCam ScannerClean Master – Cheetah MobileWonder CameraPhoto WonderQQ PlayerWe MeetSweet SelfieBaidu TranslateVmateQQ InternationalQQ Security CenterQQ LauncherU VideoV fly Status VideoMobile LegendsDU Privacy政治引发的贸易战?在国内移动互联网竞争日趋白日化的背景下,中国互联网企业早已开始进军印度这个全球第二大人口的市场。公开资料显示,包括腾讯、阿里巴巴、字节跳动、欢聚时代、小米等中资互联网企业已经在印度移动互联网市场占据了相当大的比例。一份第三方统计的数据显示,2019 年中国 APP 在印度市场占据了 30%-40% 的份额,其中游戏类 APP 的免费榜和畅销榜上,中国份额均为第一;非游戏类 APP 免费榜则排名第二。 ...

June 30, 2020 · 1 min · jiezi

APP开发选择原生开发还是H5内嵌

在做APP开发的时候,可以选择原生开发或者直接嵌套H5网页,但是在多数情况下点量软件是推荐使用原生APP开发的,因为从专业技术角度来说,原生APP的在很多方面是优于H5网页的。这里点量小编从以下三个方面来详细说明下。 首先说明下什么是原生APP?原生APP又称Native App,开发针对苹果IOS封闭、Android开源等不同的手机操作系统用不同语言进行开发,如C语言java等,安卓手机需要针对上千款品牌手机型号的参数大小来调控按键所在位置避免误差,测试调试的工作量较大,然而这种APP通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用所有的UI元素、数据内容、逻辑框架均安装在手机终端上。 [![济南APP原生开发优于H5网页APP的三个方面] 一、功能更强大 从以上定义中可以看出,原生APP是系统性的应用程序,可以地用手机终端的硬件设备,比如语音、短信、GPS、蓝牙、重力感应和摄像头等,但是webAPP是不可以做到这些的。所以如果你想做一个可扩展性强,而且后期功能不断完善的APP,一定要考虑原生的。 二、 加载速度更快 刚我们有提到原生APP是由 “云服务器数据+APP应用客户端” ”两部分构成,APP应有所有的UI元素、数据内容、逻辑框架都是安装在手机里的。所以用户在使用APP的时候,不需要重新加载数据,因为这些内容都安装在手机中了,虽然第一次安装的时候有点复杂,但是在实际使用会方便很多。 但是web APP打开每一个页面,都需要重新加载,虽然现在网络情况很好了,但是在实际中可能会有各种问题,比如流量用完了、所在区域网络不好或出了问题,就很大可能出现加载慢或者加载不出来的问题,加载多了很容易出现卡死错乱的情况,用户的体验就会很差。因此考虑到用户体验和加载速度方面,原生APP的性能要远远优于web。 第三:稳定性更好 目前市场的web版的APP多为模板,这种模板价格便宜,但是功能无法拓展,而且随着市场上浏览器、技术的进步,会逐步出现各种问题,稳定性根本无法保证。相比而言原生的APP技术更加成熟,而且功能可以拓展性更强。做个简单的比喻,我们有一套房子,这个房子可以考虑自己建设,这个过程中我可以决定建几层、建成什么样的户型等等,但如果其买别人做好的,那就只能从已经有的中选择。如果遇到网络不好的情况可能就像等期房一样,只大体知道是啥样的,但具体的得等网络好了才能看到。 当然,虽然原生APP和web相比有很多优势,不过web的好处就是拿别人的直接用,工期上可以很快,而原生的则需考虑功能实现、兼容等问题,这也是价格差别的重要原因。

June 16, 2020 · 1 min · jiezi

一键删除中国App应用海外走红不到两周下载量超-500-万

技术编辑:宗恩丨发自 SiFou Office SegmentFault 思否报道丨公众号:SegmentFault 近日一款可一键 「卸载中国应用」的 App 在印度爆火,这款 App 名为 Remove China Apps(删除中国的 App 们),在推出两周后它就成为谷歌 Play 应用商店下载量最大的应用,推特、Ins 上也有大量网友互相推荐,尤其在印度,甚至一些宝莱坞明星都在分享。  比如拥有 220 万粉丝的印度宝莱坞演员 Arshad Warsi 就在极力推荐这款应用,并称正在停止使用来自中国的东西,最终将完全不用,并建议他人也尝试。不过现在该应用已经被谷歌删除。 它的功能就正如它的名字一样,扫描用户手机里的 App,并识别哪些来自中国公司,然后用户可以自主选择是否将其卸载。完成中国应用的清除后,它会提示:「祝贺,你很棒,你的手机里已经没有中国App了。」 这款「删除中国应用」的开发商为 OneTouch AppLabs,是一家印度软件公司,主业是 Android/iOS/Web 应用开发。开发商在他们网站上称,创建这款应用的意义在于支持印度总理呼吁的「Atm Nirbhar Bharat(自力更生的印度)」。 不过根据网友的测试这款App有很多不完善。比如腾讯出品的手游PUBG Mobile(绝地求生)就不能被正确识别,也无法检测出中国手机出厂前内置的应用。 还有 CEO 为华人,注册地在美国的远程视频会议应用 ZOOM 被该 App 认定为中国应用,也能被一键卸载。 目前,谷歌已经下架了这款 App,在 Google Play 已经无法搜索到它了。专业人士分析该软件违反了谷歌禁止误导用户删除或禁用第三方应用程序,或修改设备设置或功能的政策。 这款应用其实还算挺强大的,字节跳动旗下的 TikTok、阿里巴巴旗下的 UC 浏览器,阿里邮箱,金山软件旗下的 WPS,茄子快传等等都能够被识别出来。出海资讯网站白鲸评价「这种删除中国应用程序是扰乱市场的一种形式,呼吁中国开发者向谷歌举报该应用程序。」

June 3, 2020 · 1 min · jiezi