Android SDK 4.* 集成指南

通过AndroidStudio自动集成

导入依赖

AndroidStudio 上可以使用 jcenter 远程仓库自动接入,不需要在项目中导入jar包和so文件; 在 AndroidManifest.xml 中不需要配置信鸽相关的内容,jcenter 会自动导入。 导入依赖过后修改应用配置,书写注册代码就能够实现信鸽快速接入。 对应的依赖版本号均是官网上最新的版本。 用户自定义的recevier.依然需要在Androidmanifest.xml配置相关节点。

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 {
        ......   

    //信鸽jar,不包含厂商通道
    implementation  'com.tencent.xinge:xinge:4.3.7-release'
    //jg包
    implementation'com.tencent.jg:jg:1.1'
    //wup包
    implementation 'com.tencent.wup:wup:1.0.0.E-Release'
    //mid包,minSdkVersion 14
    implementation 'com.tencent.mid:mid:4.0.7-Release'

    }

注意:

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

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

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

android.useDeprecatedNdk=true

  • 如需监听消息请参考XGBaseReceiver接口或者是 demo 的 MessageReceiver 类。自行继承XGBaseReceiver并且在配置文件中配置如下内容:

  • 4.X以上版本已经兼容了 Android P,默认支持HTTPS,如果要使用HTTP,需要自行配置(点击查看配置方法

手动配置来进行集成

注册并下载SDK

前往信鸽管理台 xg.qq.com,使用QQ号码登陆,进入应用注册页,填写“应用名称”和“应用包名”(必须要跟APP一致),选择“操作系统”和“分类”,最后点击“创建应用”。

应用创建成功后,点击“应用配置”即可看到 APP 专属的 AccessId 和 AccessKey 等信息。

注册完成后,请下载最新版本的 Android SDK 到本地,并解压。

工程配置

将SDK导入到工程的步骤为:

(1)创建或打开Android工程(关于如何创建Android工程,请参照开发环境的章节)。

(2)将信鸽 SDK目录下的libs目录所有文件拷贝到工程的libs(或lib)目录下。

(3)选中libs(或lib)目录下的信鸽jar包,右键菜单中选择Build Path, 选择Add to Build Path将SDK添加到工程的引用目录中。 (4).so文件是信鸽必须的组件,支持armeabi、armeabi-v7a、misp和x86平台,请根据自己当前.so支持的平台添加

a)如果你的项目中没有使用其它.so,建议复制四个平台目录到自己工程中;

b)如果已有.so文件,只需要复制信鸽对应目录下的文件;

c)若是MSDK接入的游戏,通常只需要armeabi目录下的.so;

d)若当前工程已经有armeabi,那么只需要添加信鸽的armeabi下的.so,其它目录无需添加。其它情况类似,只添 加当前 平台存在的平台即可。

e)若在Androidstudio中导入so文件出错(错误10004.SOERROR),在main文件目录下 添加jniLibs命名的文件 夹将所有的架构文件复制进去也就是SDK文档中的Other-Platform-SO下的所有文件夹。如图: ![

(5)打开Androidmanifest.xml,添加以下配置(建议参考下载包的Demo修改),其中YOUR_ACCESS_ID和YOUR_ACCESS_KEY替换为APP对应的accessId和accessKey,请确保按照要求配置,否则可能导致服务不能正常使用。

3.x升级4.x手动配置来进行集成

  1. 【必须】提取SDK文档中的最新jar包替换当前信鸽SDK版本。

  2. 【必须】根据所需平台,提取libtpnsSecurity.so替换老版本和删除原先libxguardian.so

  3. 【必须】检查是否配置正确(v3升级V4)

【可选】如果是需要使用多通道,增加以下配置:

注册以及部分日志输出。

1.根据手动接入或者自动接入,配置好信鸽过后,获取信鸽注册日志(接入过程中建议调用有回调的注册接口,开启信鸽的debug日志输出。AndroidStudio 建议采用jcenter自动接入,无需在配置文件中配置信鸽各个节点,全部由依赖导入)。

开启debug日志数据

开启厂商通道初始化代码 在初始化或者主页面onCreat函数里添加

token注册

过滤"TPush"注册成功的日志如下:

设置账号

过滤“TPush”账号注册成功的日志如下:

设置标签

设置标签成功的日志:

收到消息日志

代码混淆

如果您的项目中使用proguard等工具做了代码混淆,请保留以下选项,否则将导致信鸽服务不可用。

Last updated

Was this helpful?