平时我们开发手机客户端总是少不了与服务器进行交流,那当我们服务器数据有更新时候,客户端是怎么知道的呢,我们以前一般用两种方法:
   1,客户端每隔一段时间向服务器发请求,检测数据是否发生变化,当发生变化的时候我们客户端又该怎么样处理
   2,在客户端采用广播机制,拦截服务器发来的短信,当服务器端有新的数据时,服务器向所有Android客户端发送短信,客户端基于广播机制将短信拦截并通过手机客户端应用呈现。该方案成本较高,需要向电信运营商申请短信发送端口。以上两点存在的弊端还是比较多的,这个时候我就想到了Jpush极光推送。废话不多说直接上例子(以阿众app为例)吧,以下是成功案例的截图:
 

1  首先我们去https://www.jpush.cn/products#product-sdk 极光官网上下载android/ios的sdk

1.1   下载完成后我们去极光官网注册开发者账号   http://jpush.cn

1.2  创建帐号进入极光推送后,首先显示的是创建应用的界面。填上你的应用程序的名称,以及 Android包名这二顶就可以了(包名必须与你需要推送的app包名一致)。

1.3 应用创建成功,即进入“应用详情”显示界面。  这个界面的应用标识也就是appKey是你要牢牢记住的

1.4   这个时候我们就可以来到需要推送的app里面了,首先来到我们的Manifest(清单文件)下将以下代码红色部分改为你的包名,蓝色部分改为你之前申请的appkey,其余字体颜色不同部分根据你的app做相应修改(meta-data标签下的value一定要是你申请推送应用的标实,我这里是:4131e53a1633b50406dc0953),把官网上下载的jpush-sdk-release1.6.3.jar导入到自己lib目录下,libjpush163.so导入到armeabi

 <!-- Required --><permission android:name=<span style="color:#FF0000;">"Your Package</span>.permission.JPUSH_MESSAGE" android:protectionLevel="signature" /><!-- Required --><uses-permission android:name="<span style="color:#FF0000;">You Package</span>.permission.JPUSH_MESSAGE" /><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WRITE_SETTINGS" /> <!--since 1.6.0 --><!-- Optional. Required for location feature --><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />应用包名及appkey替换:   <applicationandroid:icon="@drawable/ic_launcher"android:label="@string/app_name"android:name="<span style="color:#009900;"><span style="color:#000099;">Your Application</span></span>">  <!-- 这个是你app的Application --><!-- Required --><serviceandroid:name="cn.jpush.android.service.PushService"android:enabled="true"android:exported="false" ><intent-filter><action android:name="cn.jpush.android.intent.REGISTER" /><action android:name="cn.jpush.android.intent.REPORT" /><action android:name="cn.jpush.android.intent.PushService" /><action android:name="cn.jpush.android.intent.PUSH_TIME" /></intent-filter></service><!-- Required --><receiverandroid:name="cn.jpush.android.service.PushReceiver"android:enabled="true" ><intent-filter android:priority="1000"> <!--since 1.3.5 --><action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" /> <!--since 1.3.5 --><category android:name="<span style="color:#FF0000;">Your Package</span>" /> <!--since 1.3.5 --></intent-filter> <!--since 1.3.5 --><intent-filter><action android:name="android.intent.action.USER_PRESENT" /><action android:name="android.net.conn.CONNECTIVITY_CHANGE" /></intent-filter><intent-filter><action android:name="android.intent.action.PACKAGE_ADDED" /><action android:name="android.intent.action.PACKAGE_REMOVED" /><data android:scheme="package" /></intent-filter></receiver><!-- Required SDK核心功能--><activityandroid:name="cn.jpush.android.ui.PushActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="orientation|keyboardHidden" ><intent-filter><action android:name="cn.jpush.android.ui.PushActivity" /><category android:name="android.intent.category.DEFAULT" /><category android:name="<span style="color:#FF0000;">Your Package</span>" /></intent-filter></activity><!-- Required SDK核心功能--><serviceandroid:name="cn.jpush.android.service.DownloadService"android:enabled="true"android:exported="false" ></service><!-- Required SDK核心功能--><receiver android:name="cn.jpush.android.service.AlarmReceiver" /><!-- Required. For publish channel feature --><!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。--><!-- 例如: --><!-- 发到 Google Play 的APK可以设置为 google-play; --><!-- 发到其他市场的 APK 可以设置为 xxx-market。 --><!-- 目前这个渠道统计功能的报表还未开放。--><meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/><!-- Required. AppKey copied from Portal --><meta-data android:name="JPUSH_APPKEY" android:value="<span style="color:#000099;"><span style="color:#000066;">Your AppKey</span></span>"/></application>

1.5  这个时候来到你app的启动页面,init 初始化SDK并添加如下代码:

public static boolean isForeground = false;@Overrideprotected void onResume() {//Log.d("test", "homeLanch-onResume:");isForeground = true;super.onResume();       System.out.println("++++++++++++++++++++++++++onresume()");}@Overrideprotected void onPause() {isForeground = false;System.out.println("++++++++++++++++++++++++++onPause()");super.onPause();}private void init() {// TODO Auto-generated method stubJPushInterface.init(getApplicationContext());}

这个时候我们完成的差不多了,把你的项目跑起来手机上或者模拟器上都行,但是要保证你的机器是网络可用的状态

1.6, 这个时候来到极光推送官网,登录您的账户,在应用中找到你要推送的app,点击“发送通知”,这个时候我们来到如下页面,写上你要发送的内容,点下面的发送,几秒之后你机器就会收到推送的消息。

如果没出错的话,手机能收到,先写到这吧,下班了。。。

Android Jpush极光推送相关推荐

  1. android jpush 极光推送

    实战 QQ demo源码(本例中有该应用) 服务器端下载:http://download.csdn.net/download/knight_black_bob/9822551 android ecli ...

  2. Android JPush(极光推送)的使用教程

    首先进入官网 https://www.jpush.cn/,先注册一个账号. 注册号以后,创建应用 1.点击右上角进入个人中心 2.点击创建应用 3.在创建应用界面输入自己项目的应用名和应用的包名,输入 ...

  3. 解决Android Studio配置JPush极光推送错误方案

    1.在JPush极光推送官方下载 JPush SDK(jpush-android-release-2.1.7.zip) 2.解压下载好的压缩包解压并复制libs/jpush-android-2.1.7 ...

  4. JPush极光推送Java服务器端API

    菜鸟的春天 JPush极光推送Java服务器端API // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, app ...

  5. Android集成极光推送踩坑(二)升级篇

    转载请标明出处 http://blog.csdn.net/mohan6/article/details/74133186 本文作者:[默寒的博客] 前言 前段时间针对集成极光推送写了篇文章( Andr ...

  6. Android集成极光推送和踩过的坑(一)

    转载请标明出处 http://blog.csdn.net/mohan6/article/details/72960346 本文作者:[默寒的博客] 集成步骤以及集成过程遇到的坑: 这部分主要阐述了集成 ...

  7. Laravel 集成 JPush 极光推送指北

    2019独角兽企业重金招聘Python工程师标准>>> 我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就 ...

  8. php集成jpush教程,Laravel 集成 JPush 极光推送指北

    我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...

  9. iOS第三方集成之jpush极光推送

    iOS第三方集成之jpush极光推送 现在很多app都带推送功能,极光推送是很受大家欢迎的第三方推送,本文将为iOS初学者和初次设计开发推送的攻城狮们提供以下自己的使用心得. 大家可以边参考官方文档, ...

最新文章

  1. mysql每日备份_Linux下如何实现Mysql数据库每天自动备份定时备份
  2. Python学习笔记之五:类定义
  3. JavaCC首页、文档和下载 - 语法分析生成器 - 开源中国社区
  4. python控制电机_树莓派Python控制步进电机
  5. 工单系统的设计与实现(4)
  6. 基于matlab的信号合成与分解,基于matlab的信号合成与分解
  7. python 析构函数_常用的python类的魔术方法
  8. MYSQLMANAGER实例管理器总结
  9. 数据库系统实训——实验十——事务
  10. java steam 排序_Java使用Steams VS TreeMap对地图进行排序
  11. java多线程交替打印_java多线程 更优雅的实现线程同步:交替打印A、B LockSupport实现...
  12. MD5 + salt 的加密算法
  13. ans函数python_#12 Python函数
  14. 2021最新一线互联网大厂常见高并发面试题解析,快手Java面试算法题
  15. JavaScript高程三----(基础一)
  16. Python---爬虫---爬取万余张图片,分门别类
  17. 什么是嵌入式系统?STM32能跑linux吗?
  18. TMS320F28034PNT 德州TI 具有 60MHz 频率、128KB 闪存的 C2000™ 32 位 MCU
  19. diy 扫地机器人 滚刷_无滚刷PK有滚刷:关于保洁机器人两种常见清扫结构的分析...
  20. 2018年广东工业大学文远知行杯新生程序设计竞赛 1012 只有我不在的世界β

热门文章

  1. 分享一个JVM的在线图,特别细致和全面,绝对是大神级别制作的jvm图,我们一起来参观一下吧
  2. 最近写了个新游戏,欢迎大家试玩
  3. 逆向工具安装使用测试
  4. 你用过的最良心的软件是什么样的?
  5. Unity 实现画线火柴人核心画线功能
  6. java 记事本界面_JAVA/GUI程序之记事本
  7. Hive SQL调优
  8. Linux故障恢复之—破解root口令
  9. 资本主义系统的基本结构
  10. 文件重命名工具renamer下载地址