Android Jpush极光推送
平时我们开发手机客户端总是少不了与服务器进行交流,那当我们服务器数据有更新时候,客户端是怎么知道的呢,我们以前一般用两种方法:
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极光推送相关推荐
- android jpush 极光推送
实战 QQ demo源码(本例中有该应用) 服务器端下载:http://download.csdn.net/download/knight_black_bob/9822551 android ecli ...
- Android JPush(极光推送)的使用教程
首先进入官网 https://www.jpush.cn/,先注册一个账号. 注册号以后,创建应用 1.点击右上角进入个人中心 2.点击创建应用 3.在创建应用界面输入自己项目的应用名和应用的包名,输入 ...
- 解决Android Studio配置JPush极光推送错误方案
1.在JPush极光推送官方下载 JPush SDK(jpush-android-release-2.1.7.zip) 2.解压下载好的压缩包解压并复制libs/jpush-android-2.1.7 ...
- JPush极光推送Java服务器端API
菜鸟的春天 JPush极光推送Java服务器端API // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, app ...
- Android集成极光推送踩坑(二)升级篇
转载请标明出处 http://blog.csdn.net/mohan6/article/details/74133186 本文作者:[默寒的博客] 前言 前段时间针对集成极光推送写了篇文章( Andr ...
- Android集成极光推送和踩过的坑(一)
转载请标明出处 http://blog.csdn.net/mohan6/article/details/72960346 本文作者:[默寒的博客] 集成步骤以及集成过程遇到的坑: 这部分主要阐述了集成 ...
- Laravel 集成 JPush 极光推送指北
2019独角兽企业重金招聘Python工程师标准>>> 我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就 ...
- php集成jpush教程,Laravel 集成 JPush 极光推送指北
我是一个 Laravel 小白,我是一个 Laravel 小白,我是一个 Laravel 小白(默念三遍再往下读,如果非小白就不用看了). Laravel 使用 Composer 来管理代码依赖.所以 ...
- iOS第三方集成之jpush极光推送
iOS第三方集成之jpush极光推送 现在很多app都带推送功能,极光推送是很受大家欢迎的第三方推送,本文将为iOS初学者和初次设计开发推送的攻城狮们提供以下自己的使用心得. 大家可以边参考官方文档, ...
最新文章
- mysql每日备份_Linux下如何实现Mysql数据库每天自动备份定时备份
- Python学习笔记之五:类定义
- JavaCC首页、文档和下载 - 语法分析生成器 - 开源中国社区
- python控制电机_树莓派Python控制步进电机
- 工单系统的设计与实现(4)
- 基于matlab的信号合成与分解,基于matlab的信号合成与分解
- python 析构函数_常用的python类的魔术方法
- MYSQLMANAGER实例管理器总结
- 数据库系统实训——实验十——事务
- java steam 排序_Java使用Steams VS TreeMap对地图进行排序
- java多线程交替打印_java多线程 更优雅的实现线程同步:交替打印A、B LockSupport实现...
- MD5 + salt 的加密算法
- ans函数python_#12 Python函数
- 2021最新一线互联网大厂常见高并发面试题解析,快手Java面试算法题
- JavaScript高程三----(基础一)
- Python---爬虫---爬取万余张图片,分门别类
- 什么是嵌入式系统?STM32能跑linux吗?
- TMS320F28034PNT 德州TI 具有 60MHz 频率、128KB 闪存的 C2000™ 32 位 MCU
- diy 扫地机器人 滚刷_无滚刷PK有滚刷:关于保洁机器人两种常见清扫结构的分析...
- 2018年广东工业大学文远知行杯新生程序设计竞赛 1012 只有我不在的世界β