美文网首页三方
android studio 集成腾讯信鸽推送

android studio 集成腾讯信鸽推送

作者: 中v中 | 来源:发表于2019-01-08 16:47 被阅读324次

    此处先附上官网API:http://docs.developer.qq.com/xg/android_access/api.html

    官网API写的挺全的,如果只是单单前端需要获取通知的话,以下内容就足够了。

    一、官网注册

    1、在信鸽官网注册账号,进行实名认证。

    2、找到应用管理 →我的应用→新建应用

    image

    3.、填写配置

    image

    注意: (1) 应用名称可以自己随便写,当最好与自己项目名称一致。

             (2) 应用包名必须使用你所要使用推送的项目 app包build.gradle中 applicationId的属性
    
    image

    4、下一步完成以后,就在官网注册好了。

    image
    注意:这里的ACCESS ID 和 ACCESS KEY 等会在 android studio中集成的时候会用到。
    

    二、android studio集成

    这里只讲通过jcenter远程仓库自动接入,不需要在项目中导入jar包和so文件。
    

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

    image

    2、在 app下build.gradle做androidManifest的替换变量

    image

    android {

    ......

    defaultConfig {
    
        applicationId "com.xxx.xxx" //JPush上注册的包名.
    
      ......
    
        ndk {
    
        //选择要添加的对应cpu类型的.so库
    
               abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
    
                    // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
    
        }
    
       manifestPlaceholders = [
    
                    XG_ACCESS_ID:"注册应用的accessid",
    
                    XG_ACCESS_KEY : "注册应用的accesskey",
    
        ]
    
    ......
    
    }
    

    ......

    }

    这里的XG_ACCESS_ID和XG_ACCESS_KEY就是刚才我们提到的集成会用到的accessId和accessKey。

    3、在 app下的build.gradle中添加依赖

    image

    //完整的信鸽依赖三个都必须有,如果发生依赖冲突请根据对应的依赖版本号选择高版本的依赖。(使用jcenter自动接入请确认libs 中没有信鸽的相关jar包)

    //是否需要信鸽采集安装列表 自行二选一

    //采集安装列表

    compile 'com.tencent.xinge:xinge:3.1.2-a-alpha'

    //不采集安装列表

    compile 'com.tencent.xinge:xinge:3.1.2-b-alpha'

    //wup包

    compile 'com.tencent.wup:wup:1.0.0.E-alpha'

    //mid包

    compile 'com.tencent.mid:mid:3.9.0-alpha'

    注意*

    如果在添加以上 abiFilter 配置之后android Studio出现以下提示:

    NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.

    则在 Project 根目录的gradle.properties文件中添加:

    android.useDeprecatedNdk=true

    4、在我的项目中,我是创建了一个BaseApplication 继承 Application,这样只要在app启动的时候直接就启用了信鸽推送了。在BaseApplication中重写onCreate方法,调用initXGPush();。 这里需要注意的是需要在AndroidManifest中对application进行name属性配置

    image
    package wuzz.myweb;
    
    import android.app.Application;
    import android.util.Log;
    
    import com.tencent.android.tpush.XGIOperateCallback;
    import com.tencent.android.tpush.XGPushConfig;
    import com.tencent.android.tpush.XGPushManager;
    
    
    public class BaseApplication extends Application {
    
    
        private String token;
    
        public String getToken() {
            return token;
        }
    
        public void setToken(String token) {
            this.token = token;
        }
    
        @Override
        public void onCreate() {
            super.onCreate();
            initXGPush();
        }
    
        private void initXGPush(){
            XGPushConfig.enableDebug(this,true);
            XGPushManager.registerPush(this, new XGIOperateCallback(){
                @Override
                public void onSuccess(Object data, int flag){
                    //token在设备卸载重装的时候有可能会变
                    Log.e("TPush","注册成功,设备token为:"+ data);
                    setToken(data.toString());
                }
            @Override
                public void onFail(Object data, int errCode,String msg) {
                    Log.e("TPush","注册失败,错误码:"+ errCode +",错误信息:"+ msg);
                }
            });
    
    //设置账号
            XGPushManager.registerPush(getApplicationContext(),"XINGE");
    // 设置标签
            XGPushManager.setTag(this,"XINGE");
        }
    
    
    }
    
    

    如果是详细按照我写的步骤集成的话,腾讯信鸽就算集成好了。接下来,就可以在官网进行消息推送了。

    相关文章

      网友评论

        本文标题:android studio 集成腾讯信鸽推送

        本文链接:https://www.haomeiwen.com/subject/oprbrqtx.html