首页 > 其他分享 >android个推平台

android个推平台

时间:2022-12-16 21:15:12浏览次数:50  
标签:KB 平台 次数 png android 推送 目录 下载


最近有个朋友想要推送一些消息到自己的 APP 上,自己用了 HTTP 轮询的方式比较耗电,也比较占用流量,一旦用户关闭了进程,消息则很难触达,于是,咨询我有没有什么好的解决方案。我告诉他其实可以使用推送,他瞪大眼睛问我推送是什么?我告诉他其实就是 Andriod 版的苹果推送,他才反应过来,问了下其他人,发现身边很多朋友还不知道有推送这回事情。所以今天就在这里给大家讲下什么是推送,怎么使用,以及怎么利用它来提升自己的留存用户。






      现在其实有很多现成的推送服务可以选择,比较了几家主流的我决定用个推来演示整个推送的流程。这个“个推”吸引我的地方在于,商用的用户比较多,也较稳定,接口也比较简单。但是它比较低调宣传也不多,应该是那种闷声发财的主。




推送的基本原理其实类似,其实就是通过手机和服务器之间的Socket维持一个TCP长连接,通过这个长连接来实现服务器和客户端之间的通信。所以推送服务的提供商都会同时提供一个库来供第三方引用,这个嵌入的库会帮助第三方应用维护和服务器之间的连接,包括权限校验,断开重连等的工作。这样暴露给第三方开发者的就是一个简单的接口了,开发人员不必关心网络的断开与重连,以及心跳检测等各种复杂的技术问题。当然,除此以外,这些潜入的库往往还会封装一些其他的接口,比如帮助你收到消息后显示在通知栏,展示页面,甚至激活你的应用,传递数据到应用并显示在应用中的某个界面等。这些功能都可以极大的简化app开发的工作,有人问我推送和短信有什么区别,我想这些扩展的功能就是和短信最大的区别吧。至于,之前那个朋友使用HTTP方式轮询之所以会出现耗电耗流量的情况也是有原因的,因为HTTP请求最终其实还是通过TCP协议实现的,只不过它的TCP连接是短连接,握手非常频繁,所以自然就比较耗电,而且HTTP方式是基于文本方式进行通信的,因此协议冗余比较大,流量消耗自然就大了。而且轮询方式带来的问题是,在两次轮询之间的时间间隔内是没办法拿到服务器下发的消息的。因此,实时性会大打折扣。而长连接就没有这些问题,而且还有个好处,就是当你的应用即使不活跃也没关系,你也可以有办法触达,提升活跃度。当然,长连接也会有它的问题,就是开发的难度较大。而且,手机应用的一个特点是移动,大家都是带着手机跑的。所以,当你跑进电梯或者隧道的话,如果信号不好连接就会断掉,这个时候程序就得重新连接,这就无形中增加了这个东西的难度。









好了,管它怎么实现的,接下来直接上干货!我们来看看怎么通过推送服务来实现推送的流程。个推的接入流程大致上是下面这样子的:





超级简单是吧?接下来我就娓娓道来,首先打开:http://dev.igetui.com/login.htm,点击“立即注册”:









填写注册信息:





然后是激活:





反正我就不废话了,此处略去100字。。。






然后登录后直接点击“登记应用”:






下面我们来登记应用:








接下来下载开发包,注意这个包里包含了客户端和服务端的SDK,不要弄错了(个推为了方便调用还做了服务器端的SDK)






这是下载好的压缩包,我们先选择“客户端”:







进入“客户端”目录后,可以先忽略其他目录直接进入“须导入的资源”:





进入后,我们看到了下面这些资源:





接下来:


1.   把GetuiSdk-xxx.jar、GetuiExt- xxx.jar以及armeabi文件夹复制到工程根目录下的libs文件夹中


(若没有libs目录,则选中工程右键“New”->Folder->命名为“libs”):




2.   右键单击工程,选择BuildPath中的Configure Build Path...,选中Libraries,并通过AddJars...导入工程libs目录下的GetuiSdk-xxx.jar、GetuiExt-xxx.jar文件。我用的是最新的ADT工具会自动导入libs目录下的jar包,所以省略这个步骤。



3.   在初始化的时候加入下面语句:




4.   进入“layout”目录,把目录下的四个文件拷贝到自己工程下的“res/layout/”目录中:









5.   为了修改通知栏提示图标,请在res/drawable-hdpi/、res/drawable-mdpi/、res/drawable-ldpi/等各分辨率资源目录下,放置相应尺寸的push.png图片。该通知栏提示图标显示位置如下:




不过我是演示用的,所以这步就略过去了。



6.   接下来一部比较重要,在AndroidManifest.xml里添加SDK所需的服务声明和权限声明(注意添加在Application标签里面):


直接点击“复制代码”就可以了,这里面的配置都是根据你之前的配置动态生成好的。




注意在“<application>”标签里面添加





7.   然后在”application”外面添加如下配置:





拷贝好的效果:





8.   然后安装应用到Andriod手机上


9.   点击按钮:




10. 收到消息的效果:





11. 下面这张图是通过发送页面通知:





以及高级设置




你可以根据需要选择不同的方式进行推送。


好了就讲到这里吧,比较晚了,后面有时间我还会介绍一些个推的高级属性,比如:


l  报表功能


l  接口推送


l  高性能推送


l  以及自定义接口推送


尽情期待!





​Andriod​​​, ​​ 解决方案​​​, ​​ Socket​​​, ​​ 服务器​​​, ​​ 第三方​


更多图片 小图 大图



​12.png​(14.34 KB, 下载次数: 0)




​13.png​(35.91 KB, 下载次数: 0)




​14.png​(6.33 KB, 下载次数: 0)




​15.png​(6.1 KB, 下载次数: 0)




​16.png​(24.35 KB, 下载次数: 0)




​17.png​(44.34 KB, 下载次数: 0)




​18.png​(30.32 KB, 下载次数: 0)




​19.png​(36.13 KB, 下载次数: 0)




​20.png​(32.52 KB, 下载次数: 0)




​1.png.jpg​(19.49 KB, 下载次数: 0)




​11.png​(6.79 KB, 下载次数: 0)




​10.png​(21.46 KB, 下载次数: 0)




​9.png​(24.22 KB, 下载次数: 0)




​8.png​(73.59 KB, 下载次数: 0)




​7.png​(18.85 KB, 下载次数: 0)




​6.png​(43.32 KB, 下载次数: 0)




​5.png​(101.52 KB, 下载次数: 0)




​4.png​(28.06 KB, 下载次数: 0)




标签:KB,平台,次数,png,android,推送,目录,下载
From: https://blog.51cto.com/u_13657808/5948367

相关文章

  • 注解在Android中的使用场景
    Android课程学习记录注解是在JavaSE5这个版本中引入的1、什么是注解在代码中最常见的一个就是@Override,看一下它的语法定义:@Target(ElementType.METHOD)@Reten......
  • android涂鸦实现
    类似米聊、微信上的涂鸦和手写文字功能实现原理是自定义View,通过手势识别获取轨迹,然后通过画笔画图这里添加了手势记录功能,并不难理解代码​​publicclassTuyaViewex......
  • 实用正则表达式扫描android SDcard的文件
    代码片段,双击复制​​package​​​​match;​​​​import​​​​java.io.File;​​​​im......
  • android-async-http框架源码分析
    async-http使用地址android-async-http仓库:gitclone​​https://github.com/loopj/android-async-http​​源码分析我们在做网络请求的时候经常通过下面的方式实例化Async......
  • ecshop shopex ecmall zencart 淘宝OPen API 一键上传同步到淘宝 利用open 淘宝
    ecshop shopex ecmall zencart 淘宝OPenAPI一键上传淘宝 利用open淘宝开放平台API编辑更新商品同步淘宝配置文件如下:请自行修改appid<?phperror_reporting......
  • android自定义属性
    1、引言对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现:1.自定义一个CustomView(extendsView)类2.编写values/attrs.xml,在其中编写styleable和item等标签元素3.......
  • Android listView异步下载和convertView复用产生的错位问题
    1:Item图片显示重复这个显示重复是指当前行Item显示了之前某行Item的图片。比如ListView滑动到第2行会异步加载某个图片,但是加载很慢,加载过程中ListView已经滑动到了第14行......
  • android自定义listview实现header悬浮框效果
    之前在使用iOS时,看到过一种分组的View,每一组都有一个Header,在上下滑动的时候,会有一个悬浮的Header,这种体验觉得很不错,请看下图:上图中标红的1,2,3,4四张图中,当向上滑动时,仔细......
  • 高仿京东Android App,集成React-Native热更
    简介本项目是一个学习类型的项目,主要是为了学习一些Android最新的思路和开发思想,工程按照模块化、组件化的开发思路进行开发,项目整体结构如下图。项目代码整洁规范,结构清晰,......
  • 分贝通携手火山引擎数智平台 探寻数智化升级新通路
    2022年,面对疫情反复带来的经济波动影响,“活下去”成为了不少企业的首要目标,降本增效已是当下不少企业的对策。基于此,以推动包括票据报销数字化等在内的费控SaaS行业再一次引......