话不多说 首先申请极光的账号,(官方地址:https://www.jiguang.cn)

1561710140829.png

登录完成之后,先看到这个地方 ,我个人比较喜欢用旧版本,这里点击旧版

1561710235064.png

点击这个创建应用

1561710626969.png

注意这个地方应用名称是必填项,图标是选填,这里我就只填一个应用名称(这里的名称就是Mainface里面的app_name)

1561710724862.png

1561710743741.png

填入名字之后 点击创建我的应用(这里我没试过名字不一样是否可以成功推送,个人觉得没必要做这种尝试)

1561710852958.png

看到创建成功字样后点击完成推送配置:

里面有Android IOS 和win 这里我只演示Android

1561711022205.png

取项目中app目录下的build.gradle文件中的applicationId 对应的值(一般在集成三方库的时候用到包名的,我们都认为这个applicationId 是应用程序的包名),将这个包名复制粘贴到以下页面的选项中并点击保存:

1561711265137.png

点击 下载Demo,把Demo解压到一个文件中如下:

1561711547102.png

很多博客写到这里都是说把解压之的文件以module的方式引入到项目中,经过我自己的测试我发现这样是行不通的,因为极光提供的这个Demo其实是一个eclipse项目,所以在AS上跑是有问题的,经过阅读官方文档和自己的摸索,发现其实这里面有用的就上面标记的两个地方,src里面存放了一些极光为我们生成的一套收消息的类,Mainface里面为我们配置了一些权限信息和其他的东西,这里首先需要按照官方文档配置APP目录下的build.gradle文件:

1561714344089.png

回到首页查看极光推送的文档(这里我只截取build.gradle里面的配置信息):

1561714447363.png

这一这个里面有个JPUSH_APPKEY:需要填入刚刚申请后的APPkey:

1561715348319.png

AS执行以下 Sync Now 以便于下载极光的包

以下都是权限 没什么好说的

这里主要是要查看Mainface里面的配置信息,备注信息很清楚,这里我就做过多赘述了:

//参照集成文档中来的文档中

package="com.yhb.pushdemo">

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/AppTheme">

android:name="cn.jpush.android.ui.PopWinActivity"

android:theme="@style/MyDialogStyle"

android:exported="false">

android:name="cn.jpush.android.ui.PushActivity"

android:configChanges="orientation|keyboardHidden"

android:theme="@android:style/Theme.NoTitleBar"

android:exported="false">

android:name="cn.jpush.android.service.PushService"

android:process=":pushcore"

android:exported="false">

android:authorities="com.yhb.pushdemo.DataProvider"

android:name="cn.jpush.android.service.DataProvider"

android:process=":pushcore"

android:exported="false"

/>

android:name="cn.jpush.android.service.DaemonService"

android:enabled="true"

android:exported="true">

android:authorities="com.yhb.pushdemo.DownloadProvider"

android:name="cn.jpush.android.service.DownloadProvider"

android:exported="true"

/>

android:name="cn.jpush.android.service.PushReceiver"

android:enabled="true"

android:exported="false">

android:name="cn.jpush.android.service.JNotifyActivity"

android:exported="true"

android:taskAffinity="jpush.custom"

android:theme="@android:style/Theme.Translucent.NoTitleBar">

android:process=":pushcore">

android:name="com.example.jpushdemo.MyReceiver"

android:exported="false"

android:enabled="true">

复制上去之后,会有以下几处报错,这几处报错只需要把src下面对应的类拷贝过来,然后修改Mainface里面的路径名即可

image.png

image.png

image.png

image.png

新增完后的项目目录:

image.png

可看到还有两个类报错,这个时候,看看一看里面需要的东西,差什么拷贝什么

最后剩下一个MainActivity里面需要添加东西,这里我直接拷贝过来

package com.yhb.pushdemo;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.content.IntentFilter;

import android.support.v4.content.LocalBroadcastManager;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

public static boolean isForeground = false;

private MessageReceiver mMessageReceiver;

public static final String MESSAGE_RECEIVED_ACTION = "com.example.jpushdemo.MESSAGE_RECEIVED_ACTION";

public static final String KEY_TITLE = "title";

public static final String KEY_MESSAGE = "message";

public static final String KEY_EXTRAS = "extras";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

public void registerMessageReceiver() {

mMessageReceiver = new MessageReceiver();

IntentFilter filter = new IntentFilter();

filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);

filter.addAction(MESSAGE_RECEIVED_ACTION);

LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);

}

public class MessageReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

try {

if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) {

String messge = intent.getStringExtra(KEY_MESSAGE);

String extras = intent.getStringExtra(KEY_EXTRAS);

StringBuilder showMsg = new StringBuilder();

showMsg.append(KEY_MESSAGE + " : " + messge + "\n");

if (!ExampleUtil.isEmpty(extras)) {

showMsg.append(KEY_EXTRAS + " : " + extras + "\n");

}

Toast.makeText(context, showMsg.toString(), Toast.LENGTH_SHORT).show();

}

} catch (Exception e){

}

}

}

@Override

protected void onResume() {

isForeground = true;

super.onResume();

}

@Override

protected void onPause() {

isForeground = false;

super.onPause();

}

}

最后一步,初始化极光推送:

package com.yhb.pushdemo;

import android.app.Application;

import cn.jpush.android.api.JPushInterface;

public class MyApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

JPushInterface.setDebugMode(true);

JPushInterface.init(this);

}

}

在Mainface中新增如下代码:

image.png

这个时候在AndroidStudio中Rebuild一下,然后安装app到手机上,注意这里最好使用真机(楼主使用的真机测试,不知道模拟器是否可以)

这个时候我们就可以开始在极光后台给我们的手机推送数据了

推送数据第一步:

image.png

注意这个列表10分钟刷新一次,所有有时候我们看到的用户数不对,是因为没有及时刷新,所以不必担心

在这个页面点击相应的应用,这里我点击极光测试用例然后进入:

image.png

点击这里的 “推送” 然后进入:

image.png

可以看到当前这个页面中的推送历史是什么都没有的,然后点击这里 “发送通知” 进入发送通知页面

左边是发送的测试信息,右边是接收的平台,我这里是Android

(注意:如果右边这个方框里面没有如图显示)

image.png

或者以下这四个按钮不可选的时候,,说明在前面配置极光的时候少了一步

image.png

如果右边的手机没有出现,或者是方框内什么都没有,亦或是以上四个目标平台不可选的时候,那么大概率是缺少以下配置:(方框内有显示的,可以忽略此步骤)

1561710852958.png

如果没问题,选择对应的平台,我这里选择Android(选择的平台需要在推送配置里面配置好之后,才可以在这里选择你想要推送的平台)

以下目标人群和发送时间我这边都是默认的,这里需要注意的是 这个立即发送按钮,如果显示是蓝色的,说明上面的信息都没有问题,否则你需要再次检查上面需要填写的内容

image.png

点击立即发送,在手机上看到如下效果,说明推送已经集成成功

image.png

还可以在极光的控制台看到详细的数据如下,也说明推送集成成功,一般情况下两种都可以看到:

image.png

至此,推送的demo就完全集成完了,小伙伴们可以根据自己的业务在之前copy的接收器和TestActivity里面做自己的业务逻辑了,当然 我这里实现的只是最简单的推送逻辑,更多详细内容请查看官方集成文档。

如有问题,可以在下方给博主留言哦,博主也是一位菜鸡,希望各位大佬不喜轻喷,在这里先行谢谢各位!

android 极光推送测试,Android 3分钟带你集成极光推送相关推荐

  1. 三分钟帮你集成极光推送——和那些可能你不知道的事

    本文简介:本文前篇,可以帮助朋友们快速集成极光推送.本文后篇,是我自己项目实践的一些总结和心得,应该对读者们还是很有参考价值的,相信读完这篇文章,你会对极光推送有更加深入的理解,而不仅仅只是会集成而已 ...

  2. android华为推送不显示角标,V6项目集成华为推送流程和角标显示处理

    (一) 集成资料 3.华为官方QQ群:662059980 (二) V6项目集成步骤和代码说明 1.华为官网申请PUSH服务: 1.1申请 点击申请按钮进行申请 1.2提交应用信息 填写应用信息后提交 ...

  3. android studio如何编译测试,Android Studio 进行单元测试完整教程

    前言 为了这个AndroidStudio的单元测试,从下午搞到晚上才搞明白咋操作. 我学一个新知识总是那么坎坷,经历无数的错误路径,才可能找到正确的路在哪儿. 我的AndroidStudio 我的An ...

  4. android遥控器用什么测试,Android编程调用红外线遥控功能示例

    本文实例讲述了Android编程调用红外线遥控功能.分享给大家供大家参考,具体如下: Android API Demos中有红外线遥控的小例子,在网上找了很久相关的资料,发现比较少,或许找的方法不对. ...

  5. android 的弱网测试,Android APP弱网测试问题和解决分析

    最近做了一次移动APP的弱网和中断测试,接下来分享一下遇到的一些问题: 1.现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致. 原因 ...

  6. android 丢包率测试,android 下测试网络的丢包率和延迟

    昨天做网络延迟和丢包率,以前没弄过,网上寻找也没找到什么有效的,弄了一下午搞定了,代码如下,希望对大家有帮助,写的不好,还请大家批评指正 String lost = new String(); Str ...

  7. 集成极光推送的一点说明

    http://blog.csdn.net/wwj_748/article/details/41867467 关于推送服务,国内有很多选择,笔者也对它们进行了一个详细的对比,一般我们产品选择推送服务主要 ...

  8. android实现左拉菜单,Android原生侧滑控件DrawerLayout使用方法详解

    在android的v4包中有一个控件 Drawerlayout,主要实现了左拉和右拉菜单,类似于之前的"抽屉"功能,此控件使用简单,效果很柔和,操作起来体验非常好,下面是我实现的一 ...

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

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

最新文章

  1. AI一分钟 | 刚爆Python将进入高考,AI就已强势进入公务员国考试卷;报告称1/4男性更喜欢跟机器人谈恋爱,真的吗?
  2. 如何使用iPad移动办公
  3. 动态规划经典题目_动态规划经典题目:鸡蛋掉落(附视频讲解)
  4. Linux上 MongoDB 实现远程连接并设置账号密码
  5. 使用 JNA 模拟C语言结构体的完整源代码
  6. fiddler 改成中文版的_fiddler中文版
  7. K210车牌归属地识别[获取图像+训练+识别效果演示]
  8. 数字图像处理课程作业1-大米检测
  9. 评测|抢鲜体验飞凌Linux版LS1028A系列嵌入式开发板
  10. light动名词_英语中什么叫动名词?加ING的就是吗?
  11. 【深度学习】(10) 自定义学习率衰减策略(指数、分段、余弦),附TensorFlow完整代码
  12. Altium Designer中如何实现元件Designator自动编号
  13. Mathematica13.1的安装与使用配置
  14. Android 打开系统蓝牙设置
  15. shell编程之sort、uniq、tr
  16. 【epoll函数】epoll_create、epoll_ctl、epoll_wait
  17. 狂神说,mybatis-01 java.lang.ExceptionInInitializerError at com.kuang.dao.UserDaoTest.selectUser(UserD
  18. C Primer Plus编程题-第五章 运算符、表达式和语句
  19. 数学奥赛VS信息学奥赛(2022.07.19)
  20. 百度商业系统大规模微服务分布式监控实践

热门文章

  1. Kitten编程猫的工程文件 bcm,能发布成Android平台的apk文件吗
  2. SAP WebClient UI开发工具中attribute文件夹展开的实现原理分析
  3. Java Spring里com.mysql.jdbc.Driver的加载时机
  4. 什么是SAP HANA Database Procedure(数据库过程)
  5. SAP C4C Embedded Component里Lead ID和Lead TI页面的关系
  6. SAP CRM Fiori应用My Lead的常见问题和解答
  7. 一个免费调用的OData服务,无需用户名密码,适用于SAP UI5的学习
  8. OPA 3 - thirdParty Qunit.js and IFrame load logic
  9. SAP UI5 jQuery.sap.formatMessage
  10. CRMM_PR_MAST cannot activate