Android 信鸽推送集成

本文是基于3.+的版本,在集成4.+的版本中,集成mid包时遇到一个问题

Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 20 declared in library [com.tencent.mid:mid:4.0.7] C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\mid-4.0.7.aar\940566913b33e9d01791f180c556560b\AndroidManifest.xml as the library might be using APIs not available in 16
	Suggestion: use a compatible library with a minSdk of at most 16,
		or increase this project's minSdk version to at least 20,
		or use tools:overrideLibrary="com.example.mid" to force usage (may lead to runtime failures)

minSdk最小为20,但是现阶段4.+的手机系统版本还是有不少的,放弃是不可能的,在Manifest中配置uses-sdk也是无果,直接集成3.+也并无大碍。

官方文档:http://xg.qq.com/docs/android_access/jcenter.html

创建应用

注册登录官网,添加应用,拿到配置参数

导入依赖

app build.gradle文件下配置 以下内容

    android {
        ......
        defaultConfig {

            //信鸽官网上注册的包名.注意application ID 和当前的应用包名以及 信鸽官网上注册应用的包名必须一致。
            applicationId "你的包名" 
            ......

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

            manifestPlaceholders = [

                XG_ACCESS_ID:"注册应用的accessid",
                XG_ACCESS_KEY : "注册应用的accesskey",
            ]
            ......
        }
        ......
    }

    dependencies {
        ......

    //信鸽3.2.5之前版本无需单独依赖'com.tencent.jg:jg:1.1',其它三个依赖必须有。


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

    //信鸽jar
    compile 'com.tencent.xinge:xinge:3.2.6-release'
    //jg包
    compile'com.tencent.jg:jg:1.1'
    //wup包
    compile 'com.tencent.wup:wup:1.0.0.E-release'
    //mid包
    compile 'com.tencent.mid:mid:4.0.6-release'
    }
  • 注意,这里是accessid,不是appid,Android端和ios端的参数配置是有区别的,后台需要的配置参数也是不一样的

如果遇到这个异常:

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

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

  android.useDeprecatedNdk=true

开启debug日志数据

XGPushConfig.enableDebug(this,true);

token注册

XGPushManager.registerPush(this, new XGIOperateCallback() {
	@Override
	public void onSuccess(Object data, int flag) {
		//token在设备卸载重装的时候有可能会变
		Log.d("TPush", "注册成功,设备token为:" + data);
	}
	@Override
	public void onFail(Object data, int errCode, String msg) {
		Log.d("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);
	}
});

注册成功会有打印,过滤"TPush"

设置账号

XGPushManager.bindAccount(getApplicationContext(), "XINGE");

设置标签

XGPushManager.setTag(this,"XINGE");
  • 到此就基本完成了,不需要配置厂商通道,8.0也是测试通过的。

厂商通道呢,拿华为来说,去华为开发联盟 注册、登录、添加应用一顿操作(测试需要线上测试),然后拿着华为平台的应用参数去信鸽管理台配置参数,然后再在代码中配置华为的appid、依赖、启动华为推送、日志等 一顿操作。


之所以不详细介绍呢,是因为不配置厂商也可以。
其次呢,因为国内厂商的各种系统定制,搞的我们开发者适配很苦恼。
内心也是抗拒的,但是在工作中,碍于资本主义的猖狂,还是做的很开心的(狗头)。


包含客户端和服务端 代码 亿级并发,秒级触达 稳定的大规模接入集群,同时与数亿移动智能终端保持稳定的长连接,支持十亿级并发 秒级触达用户,每天可发送百亿级的通知/消息 最省电省流量方案 智能识别网络环境,根据不同环境定制通讯协议,以最低消耗维护长连接,做到极致省电省流量 通知及消息高度压缩,节省流量的同时加密保证安全性 丰富标签,精准定向 特定标签人群,团队测试用户,全量用户,单个用户等多种推送范围选择 及时稳定地将信息送达到最相关的用户,形成用户粘性,避免骚扰 开放API接口,灵活自定义推送 开放推送能力,提供多种语言API ,包括Java/PHP/Python/Node.js,业务自由集成 可视效果,实时监控 实时监控通知/消息的抵达用户量,点击转化量,点击转化率,推送效果一目了然 使用方法 登录后,创建应用,获取应用的唯一识别码AccessKey和密钥SecretKey; 下载对应平台的SDK,并参考开发文档完成SDK集成; 通过API调用或Web业务端方便快速地完成推送测试和实际发送,并实时查看推送效果。 使用场景 通知,定义为Android和iOS开发者指南中的Notifidoveion。服务器定向将信息实时送达手机,通过建立一条手机与服务器的连接链路,当有消息需要发送到手机时,通过此链路发送即可。通过推送一条用户可见的信息,引导用户进行有目的性的操作。通常用于产品信息知会、新闻推送和个性化消息等场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yechaoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值