Android极光推送入门

原创 2016年12月14日 20:18:22

今日接触推送,大概是因为下载了Demo,看到里面代码太多,有点惧怕麻烦,以为肯定挺复杂。幸好今天有时间,决定好好研究一下。才发现很简单。一切以文档为指导。现在就把我的入门过程记录下来。

一、首先是要去极光推送网站注册帐号https://www.jiguang.cn/accounts/platform


二、创建一个应用,Andoid应用只需要应用程序标题和包名。应用程序标题没讲究,以后只是在网站上面推送的时候用,随便取。包名要唯一,不能重复,建立项目的时候也要使用这个包名。

建完之后会生成一个AppKey。


应用建立完成,可以下载一个根据自己的设置生成好的一个Demo,导入Android Studio可以直接运行测试,用起来很方便。不过,也正是这个Demo,里面有一些测试按钮之类的东西,看起来代码比较多,几天来一直让我对极光推送望而生畏。现在想起来可笑。不过学习总会有瓶颈,也很自然。

如果想自己手动集成。可以别管这个。点击“查看集成指南”,根据文档来操作。


三、在查看集成指南,下载通用的sdk


然后按照集成步骤一步步完成。


四、将sdk吸在下来解压



五、创建应用,注意包名一定要符合创建的应用。因为我设计的包名是com.devin.notify,所以我创建的应用就叫Notify,而公司域名为devin.com,这样合起来的包名就正确了。




六、把解压后的sdk文件夹中libs中的jar文件放到libs中,把libs下有关芯片的支持文件夹放到main中的JniLibs文件夹下。也可以全部放到libs下,在module的gradle配置中添加一下配置:


把res文件夹下的所有文件夹复制到res下,这里有需要用到的图标、布局和style



七、重头戏是修改AndroidManifest.xml

首先把解压包中实例的AndroidManifest。xml文件中包含"Required"注释的部分复制进去


把包名改过来,用全部替换即可。


最下面有个位置,需要把自己的AppKey换进去。


八、AndroidManifest.xml的配置应该算完了,但是里面有一个处理接受到的通知和消息的广播接收器,已经定义了action,只需要将其换成自己的接收器即可。所以我们需要创建一个接收器。创建完之后到AndroidManifest.xml文件中把广播接收器名字改一下。注意如果使用向导建立的接收器,这里最下面也会自动创建一个,别忘了删除掉,否则会冲突。


然后需要点一下同步。

receiver中的代码文档中已有示例。点击文档最下面的“高级功能 ”API: Android找到“接收推送消息Receiver”在下面即可看到。复制进去之后,导入所需要的类,TAG是是打印日志用的,需要创建一下。


自定义打开的界面是用户点击通知后打开的界面,你的应用中还没有创建多余的activity的话,可以现改为MAMainActivity.

示例代码:

public class NotifyReceiver extends BroadcastReceiver {
    private static final String TAG = "NotifyReceiver";

    public NotifyReceiver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        Log.d(TAG, "onReceive - " + intent.getAction());

        if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {
        }else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
            System.out.println("收到了自定义消息。消息内容是:" + bundle.getString(JPushInterface.EXTRA_MESSAGE));
            // 自定义消息不会展示在通知栏,完全要开发者写代码去处理
        } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
            System.out.println("收到了通知");
            // 在这里可以做些统计,或者做些其他工作
        } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
            System.out.println("用户点击打开了通知");
            // 在这里可以自己写代码去定义用户点击后的行为
            Intent i = new Intent(context, MainActivity.class);  //自定义打开的界面
            i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(i);
        } else {
            Log.d(TAG, "Unhandled intent - " + intent.getAction());
        }
    }
}


九、在MainActivity中添加两行代码

JPushInterface.setDebugMode(true);
JPushInterface.init(this);


好了,现在可以在模拟器中跑起来了。

十、到极光推送网站“推送”页面发消息


点击立即发送,提示发送完成后就会听到模拟器在提示音,已经收到消息


推送消息,会在LogCat看到打印的日志


只要服务在运行,关闭应用之后也能收到推送。


总结:规范的动作套路。代码很少。可扩展的部分就是那个广播接收器,开发者可以在那里处理自己的逻辑。与自己的应用对接很简单,基本上不用动自己的代码。布局样式应该可以定制。

版权声明:本文为博主原创文章,未经博主允许不得转载。

android极光推送学习入门版

什么是推送呢? 一种图片让你明白什么是推送: 这就是推送: 就是服务器可以实时的将消息发送到客户端 首先要理解一些几个概念: 长连接和段连接: .长连接是指客户端和服务器之间始终建立着一个通信连接...

android 极光推送

  • 2016年02月19日 09:02
  • 2.14MB
  • 下载

极光推送Android IOS SDK V2.1.9

  • 2016年10月06日 16:34
  • 7.94MB
  • 下载

Android 中使用极光推送消息详细介绍(一)

简介在Android开发中,服务器有时候会向客户端推送一些用户可能感兴趣的消息,比如:淘宝,网易新闻,美团等都会向我们客户端推送消息.今天我就介绍一个第三方免费推送消息的服务:极光推送官方资源官方文档...
  • Greathfs
  • Greathfs
  • 2016年07月31日 01:17
  • 33486

android 极光推送demo

  • 2017年05月23日 11:40
  • 4.52MB
  • 下载

Android客户端极光推送移植Demo程序

  • 2015年05月03日 17:15
  • 2.46MB
  • 下载

详解极光推送的 4 种消息形式—— Android 篇

点击打开链接 极光推送是为 App 提供第三方推送服务的平台之一,它提供四种消息形式:通知,自定义消息,富媒体和本地通知。笔者将基于官方说明与个人理解来谈一下这四种消息。本篇为 Androi...

Android极光推送之Hello World

  • 2016年06月17日 21:43
  • 4.21MB
  • 下载

android/java/php第三方库极光推送

  • 2015年10月29日 19:03
  • 11.86MB
  • 下载

3分钟实现极光推送的android demo

1、来到极光推送的官网https://www.jiguang.cn/push,注册登录 2、创建一个应用 3、应用的设置,是否支持Winphone,是和否任意选择,我选择的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android极光推送入门
举报原因:
原因补充:

(最多只允许输入30个字)