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 极光推送

  • 2016-02-19 09:02
  • 2.14MB
  • 下载

极光推送Android IOS SDK V2.1.9

  • 2016-10-06 16:34
  • 7.94MB
  • 下载

Android 集成极光推送的第三方

Android端集成极光推送的个人看法

android 极光推送demo

  • 2017-05-23 11:40
  • 4.52MB
  • 下载

Android极光推送之Hello World

  • 2016-06-17 21:43
  • 4.21MB
  • 下载

android jpush(极光推送)快速集成

在日常生活中,我们经常见到手机上的软件在通知栏提醒,各种新闻,软件更新提示等等。。都涉及到了推送服务。 推送服务,可以主动、及时地向您的用户发起交互,向其发送聊天消息、 日程提醒、活动预告、进度提示、...

c#+android极光推送实例

  • 2017-03-24 17:16
  • 1.23MB
  • 下载

android studio集成极光推送,获取附加字段详细,并提供自己写的一个demo,绝对不是官方demo

文章开始,先说明从这篇文章中能学到什么. 1,android studio如何加载极光推送的jar包和.so库文件. 2,如何获取附加字段里的键对应的值. 3,如何点击通知栏通知进入webView加载...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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