资讯专栏INFORMATION COLUMN

JPush消息推送的简单使用

lushan / 3016人阅读

摘要:在本篇文章里我们以极光推送为例,简单的介绍下消息推送的简单使用。

在本篇文章里我们以极光推送JPush为例,简单的介绍下消息推送的简单使用。
这里只是简单介绍下步骤及简单使用,作为本人的笔记,详细介绍可以参见极光官网文档:
http://docs.jiguang.cn/jpush/...

1.申请开发者帐号

在官网注册帐号,并进入后控制台

2.在自己的项目中进行配置(IDE为AndroidStudio)

官网说有两种配置方法,一种是手动集成,一种是jcenter 自动集成步骤,而后者比较简单方便,一次我们就直接用后面一种,免去了繁琐的拷贝和修改,具体方法如下:

1.确认android studio的 Project 根目录的主 gradle 中配置了jcenter支持。(新建project默认配置就支持)

buildscript {
    repositories {
        jcenter()
    }
    ......
}

allprojets {
    repositories {
        jcenter()
    }
}

2.在 module 的 gradle 中添加依赖和AndroidManifest的替换变量。

android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" //JPush上注册的包名.
        ......

        ndk {
            //选择要添加的对应cpu类型的.so库。 
            abiFilters "armeabi", "armeabi-v7a", "armeabi-v8a" 
            // 还可以添加 "x86", "x86_64", "mips", "mips64"
        }

        manifestPlaceholders = [
            JPUSH_PKGNAME : applicationId,
            JPUSH_APPKEY : "你的appkey", //JPush上注册的包名对应的appkey.
            JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
        ]
        ......
    }
    ......
}

dependencies {
    ......

    compile "cn.jiguang:jpush:2.2.0"  // 此处以SDK 2.2.0版本为例

    ......
}

这里我们只需要对其中的值根据我们的具体情况进行修改即可,其他的东西AS都会为我们自动配置好,我们不需要再在AndroidManifest.xml中手动的进行权限等等的配置了。其实我们仔细查找的话可以发现另外一个AndroidManifest.xml,它的路径为:
...项目名appbuildintermediatesmanifestsinstantrundebugAndroidManifest.xml,其中的内容如下,只不过在具体项目里,其中的需要替换的变量值,AS已经为我们自动替换了:



    

        
        

    
    
    
    
    
    
    
    
    
    
    
     
    

    
    
    
    
    
    
    

    

        
        
        
        
            
                
                
                
                
            
        

        
        
         
             
                 
                 
             
         

        
        
           
                 
                 
            
            
                
                
            
            
            
                
                
                
            
        
     
        
            
                
                
                
            
        
        
        
        
        
        

        
         
             
                 
                  
                  
                  
                 
                  
                 
                  
                 
                 
                 
             
         

        
        
        
        
        
        
        
        
         
    

配置和代码说明

可以看到,采用jcenter 自动集成非常简单

3.在代码中初始化

我们只需要初始化一次就好,因此我们可以放在Activity的onCreate方法中,具体代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //设置为调试模式,具体发布的时候可以直接设置为false
        JPushInterface.setDebugMode(true);
        JPushInterface.init(this);
    }
}

到这里为止,我们就可以想手机推送通知了,用法就是在极光官网的控制台里写下需要推送的通知,发送即可。
推送有两种:
1.Notification,即通知,手机会有通知弹出
2.Message,即消息,推送之后我们看不到效果,但是可以通过SDK获得发送过来的消息,其被封装进了Intent中,也就是发送一个广播,我们只需要定义自己的广播接收器BroadcastReceiver即可,当然,我们也可以监听Notification的事件。

4.定义自己的广播接收器BroadcastReceiver对推送事件进行响应

这里就比较简单了,我们创建一个类,继承自BroadcastReceiver,然后在它的onReceive方法中进行具体的逻辑操作,这里我们只是简单的将推送过来的消息内容打印到Log日志中,代码如下:

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

    public MyReceiver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {

        Bundle bundle = intent.getExtras();
        String title = bundle.getString(JPushInterface.EXTRA_TITLE);
        String message = bundle.getString(JPushInterface.EXTRA_MESSAGE);

        Log.i(TAG,"MyReceiver接收到的消息内容: title: "+ title + " message: " + message);
    }
}

当然,不要忘记在AndroidManifest.xml文件中对我们自定义的那个BroadcastReceiver进行配置:

        
            
                
                
            
        

注意:的name属性值使我们的应用的包名,而action是SDK中定义的一系列动作。具体为:


    
        
        
        
        
        
    

我们在其中选择我们关心的Action即可,至于其他的设置标签或者设备号之类的,以后再补充吧。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/13292.html

相关文章

  • PhoneGap极光推送 cordova消息推送

    摘要:之前做过一个用到了消息推送,最近这个项目又用到了推送。限制命名长度限制为字节判断长度需采用编码。参考文献插件文档极光推送文档 前言 说一下写这篇文章的初衷。之前做过一个APP用到了消息推送,最近这个项目又用到了推送。但是由于两个项目间隔4个多月,推送集成、使用方式等都忘了,所以当时又去看了以前项目的源码和一些推送相关的博客,寻找那些蛛丝马迹。突然觉得这样很浪费时间,为何自己不写篇文章总...

    Taste 评论0 收藏0
  • 给APP接入极光推送 — 后端(PHP)

    摘要:开发者可以通过指定具体的来进行对单一设备的推送。同一个应用程序内,对不同的用户,建议取不同的别名。其关键字分别为。确认推送设备对象,提供了多种方式,比如别名标签注册分群广播等。 作者:黄志成(小黄)作者博客:博客地址 新版本推送的需求变的更加复杂.需要接入一个专业的推送了.之前一直基于APP的IM来实现的. 目前市面上主流的推送平台有 极光、友盟、信鸽等等.. 通过调研最后选择了 极...

    kamushin233 评论0 收藏0
  • Unity 下集成第三方原生 SDK,以极光厂商通道为例

    摘要:华为通道为例获取到对应的厂商通道文档,打开华为集成指南可以看到大致步骤现在我们要集成厂商通道怎么做第一种导出项目的集成方式,直接对应上面步骤配置即可。运行应用并查看初始化,系统要求或往上,集成成功会在中打印华为信息。 Unity中集成三方SDK有两种方式: Unity 项目开发中时常有集成 Android 第三方 SDK 的需求,比如接入第三方推送,分享等功能。而第三方 SDK 的集成...

    levius 评论0 收藏0
  • 力软移动框架 ionic cordova插件jpush-phonegap-plugin 极光推送配置

    摘要:极光推送是现在流行的推送方式因为官网的范例藏得比较隐蔽自己摸索了半天下面介绍下极光推送插件的安装和代码应用以下是安卓安装配置的后面项目完成了再补充一获取极光推送上极光开发者服务官网注册账注意应用名称要和配置文件中的文件的程序名称一致生成记录 极光推送是现在流行的推送方式,因为官网的范例藏得比较隐蔽,自己摸索了半天,下面介绍下cordova极光推送插件的安装和代码应用.以下是cordov...

    raise_yang 评论0 收藏0
  • 力软移动框架 ionic cordova插件jpush-phonegap-plugin 极光推送配置

    摘要:极光推送是现在流行的推送方式因为官网的范例藏得比较隐蔽自己摸索了半天下面介绍下极光推送插件的安装和代码应用以下是安卓安装配置的后面项目完成了再补充一获取极光推送上极光开发者服务官网注册账注意应用名称要和配置文件中的文件的程序名称一致生成记录 极光推送是现在流行的推送方式,因为官网的范例藏得比较隐蔽,自己摸索了半天,下面介绍下cordova极光推送插件的安装和代码应用.以下是cordov...

    李增田 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<