快速入门
更新时间:2025-07-01 02:34:45

快速集成

环境要求

表1 环境要求(强制要求)

名称 要求
JDK版本 >= 1.8.0
最小Android API 版本 API 21
CPU架构支持 armeabi-v7a、arm64-v8a
集成工具 Android Studio 4.2.2

表2 编译配置要求(非强制要求)

名称 要求
jdk配置 sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
gradle version gradle-7.4.2-bin
compileSdkVersion >=31
targetSdkVersion 31
gradle plugin version com.android.tools.build:gradle:7.3.1
buildToolsVersion 30.0.3
ndkVersion 20.1.5948944

PS:若使用高版本的gradle,配套需要使用高版本jdk

当前已有项目工程下集成Yealink Android SDK,按以下步骤:

准备步骤

gradle配置

project.gradle配置

SDK需要用到的远程仓库配置如下:

buildscript {
    repositories {
        maven{ url 'https://maven.aliyun.com/repository/google'}
        maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'}
        maven{ url 'https://maven.aliyun.com/repository/public'}
        maven{ url 'https://maven.aliyun.com/repository/jcenter'}
        mavenCentral()
        google()
        jcenter()
        maven { url 'https://jitpack.io'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.1'
    }
}

allprojects {
    repositories {
        maven{ url 'https://maven.aliyun.com/repository/google'}
        maven{ url 'https://maven.aliyun.com/repository/gradle-plugin'}
        maven{ url 'https://maven.aliyun.com/repository/public'}
        maven{ url 'https://maven.aliyun.com/repository/jcenter'}
        mavenCentral()
        google()
        jcenter()
        maven { url 'https://jitpack.io'}
    }
}

build.gradle配置

应用模块的工程配置如下:

android {
    compileSdkVersion 31
    buildToolsVersion '30.0.3'
    ndkVersion '20.1.5948944'

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 31
    	ndk {
            abiFilters 'armeabi-v7a','arm64-v8a'
        }
    }
    
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

顶层构建文件build.gradle(Project)需要补充:

android {
    defaultConfig {
      manifestPlaceholders = [versionName: "${vName}", HW_APP_ID: "104853435", XM_APP_ID: "2882303761520075843",
                              XM_APP_KEY: "5982007558843", OPPO_APP_SECRET: "396bc6aedc04422db94e186025845e35", OPPO_APP_KEY: "9750b73879784014ae57aa6654fa96ab",
                              VIVO_APP_KEY: "2f925e4ba58e56a5ddb00893a8364965", VIVO_APP_ID: "105516852"]
    }
    
}

添加依赖库:

dependencies {
        api fileTree(dir: 'libs/jar', include: ['*.jar'])
        api fileTree(dir: 'libs/aar', include: ['*.aar'])

        api 'androidx.appcompat:appcompat:1.0.0'
    	api 'androidx.recyclerview:recyclerview:1.0.0'
        api 'androidx.gridlayout:gridlayout:1.0.0'
        api 'com.google.android.material:material:1.4.0'
        api 'com.github.open-android:pinyin4j:2.5.0'
        api "android.arch.lifecycle:extensions:1.1.1"
        api "org.jetbrains.kotlin:kotlin-stdlib:1.5.32"
        api "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.32"
        api "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2"
        api "com.github.Raizlabs.DBFlow:dbflow-core:4.2.4"
        api "com.github.Raizlabs.DBFlow:dbflow:4.2.4"
        api('com.alibaba:arouter-api:1.5.0') {
            exclude group: 'com.android.support'
        }
}

PS:AndroidX支持:

修改当前项目的 gradle.properties

android.useAndroidX=true

android.enableJetifier=true。

AndroidManifest.xml配置

通话可能需要较多的内存占用,建议开启largeHeap

<application   
    android:largeHeap="true"    
    tools:replace="android:icon, android:theme,android:name">

gradle版本配置

找到工程根目录下gradle/gradle-wrapper.properties文件,检查一下配置:

#Thu Sep 17 21:49:42 CST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip

Application

public class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        ARouter.init(this);
        AppWrapper.getInstance().init(this);
        ActivityStackManager.getInstance().init(this);
    }
}

接入第三方推送(可选)

1 申请第三方推送平台的key

  1. 首先需要到各个平台申请推送的key,具体可以看对应的开发者平台。

华为推送

小米推送

oppo推送

vivo推送

  1. 申请到key之后,请联系亿联技术支持,将以下key值发给技术支持

  2. 华为:app id、app secret

  3. 小米:app id、app key、app secret
  4. oppo:app key、app secret、master secret
  5. vivo:app id、app key、app secret

2 使用亿联推送sdk

亿联推送sdk整合了小米、华为、oppo、vivo四家手机厂商的推送sdk,只需简单的配置及接口调用即可。亿联推送会根据手机厂家类型,注册对应平台的推送,除了这四家厂商之外,用的是小米推送。 1.在项目根目录的build.gradle下 添加华为maven仓库

buildscript {
    repositories {
    	//华为推送需要
        maven { url 'https://developer.huawei.com/repo/'}
    }
 }
 allprojects {
    repositories {
    	//华为推送需要
        maven { url 'https://developer.huawei.com/repo/'}
    }
}

2 . 在build.gradle下配置推送key

android {
    defaultConfig {
      manifestPlaceholders = [versionName: "${vName}", HW_APP_ID: "104853435", XM_APP_ID: "2882303761520075843",
                              XM_APP_KEY: "5982007558843", OPPO_APP_SECRET: "396bc6aedc04422db94e186025845e35", OPPO_APP_KEY: "9750b73879784014ae57aa6654fa96ab",
                              VIVO_APP_KEY: "2f925e4ba58e56a5ddb00893a8364965", VIVO_APP_ID: "105516852"]
    }
    
}

PS:华为推送还需要将申请到的agconnect-services.json文件,放到assets目录下

  1. 添加相关的依赖
dependencies {
	api 'com.huawei.agconnect:agconnect-core:1.6.5.200'
    api ('com.huawei.hms:push:6.5.0.300') {
        exclude group: 'com.huawei.hms', module:'availableupdate'
    }
    api 'commons-codec:commons-codec:1.6'
}
亿联推送接口说明
  1. 注册第三方推送
YealinkSdk.getSettingService().registerPush(Application application, PushConfig config, OnPushReceiverListener listener)

需要在账号登录上之后调用,建议放在登录后主界面的onCreate调用

参数 说明
Application 上下文
PushConfig 第三方推送开关配置
OnPushReceiverListener 注册token回调通知
  1. 注销第三方推送
YealinkSdk.getSettingService().unregisterPush(context)
参数 说明
context 上下文
  1. 绑定推送token
YealinkSdk.getSettingService().bindPushToken(token, platform);
参数 说明
token 第三方推送获取到的token
platform 推送平台,取值 xiaomi\huawei\oppo\vivo
  1. 解绑推送token
YealinkSdk.getSettingService().unbindPushToken()

自行集成第三方推送

  1. 按7.17.1步骤申请第三方平台推送key
  2. 去掉亿联推送sdk(没有去掉的话,会和自行集成的第三方推送冲突) 其中包括:

  3. 删除yMeeting/libs/aar目录下的third.aar、com.heytap.msp-xxx.aar、MiPush_SDK_Client_xxx.aar、vivo_pushSDK_xxx.aar文件

  4. 删除华为dependencies依赖

  5. 根据第三方推送开发者平台接入推送

华为推送接入指南

小米推送接入指南

oppo推送接入指南

vivo推送接入指南

  1. 绑定token 客户端自行对接第三方平台的推送后,注册成功后会得到一个token,需要将该token上报到服务器(账号登录上之后调用)
YealinkSdk.getSettingService().bindPushToken(token, platform);

当需要解绑token时

YealinkSdk.getSettingService().unbindPushToken()

消息推送申请说明

华为
1.简要规则:通过智能消息分类,若要防止误判需申请自分类
  • 服务与通讯类消息不受限
  • 资讯营销类消息受限,受限如下:
消息类型 接收限制
新闻 单设备每日5条
其他 单设备每日2条
  • 若要防止误判,需申请自分类,仅上架应用可申请,未上架应用需先发邮件申请开通自分类权限申请资质才可申请
  • 申请过程:登录AppGallery Connect网站,找到您的项目,通过“增长 > 推送服务 > 配置”,在“配置”页签下选择需要申请自分类权益的应用,点击自分类权益后的“申请”,并开发适配category字段
2.邮件申请规范
  • 未上架应用:申请开通自分类权限申请资质

####### step1:填写承诺函并盖公章

承诺函模板:承诺函-应用名称

参考:

img.png

step2:发邮件至hwpush@huawei.com,标题正文如下,并附上盖章承诺函

上架应用无需发邮件,直接登录AppGallery Connect网站申请

3.相关链接
小米
1.简要规则:通过私信通道控制消息推送
  • 私信通道消息推送不受限,需在推送运营平台申请
  • 公信通道的消息推送受限如下,需在推送运营平台申请
消息类型 接收限制 推送限制
具备《互联网新闻信息服务许可证》 单设备每日8条 3倍通知开启有效用户数
不具备《互联网新闻信息服务许可证》 单设备每日5条 2倍通知开启有效用户数

不申请消息推送受限如下:

消息类型 接收限制
单设备每日1条 1倍通知开启有效用户数

无需邮件申请

2.相关链接:小米开放平台 (mi.com)
oppo
1.简要规则:通过私信通道控制消息推送
  • 私信通道消息推送不受限
  • 不申请私信通道,默认走公信通道,公信通道的消息推送受限如下:
消息类型 接收限制
新闻 单设备每日5条
其他 单设备每日2条
  • 仅上架应用可使用私信通道,下架后私信通道停用,私信通道通过邮件申请
  • 未上架应用需申请推送白名单,推送白名单通过邮件申请
2.邮件申请规范

(1)上架应用

①准备步骤:开发创建私信通道并发版,登陆OPUSH推送运营平台,在【配置管理-通道配置-新建通道】进行通道登记,记下通道名称和通道ID

②邮件申请:申请无模板私信通道

step1:填写《无模板私信通道申请表》

下载表格文档,并填制通道信息:

开通无模板私信通道申请-APP名称-申请日期

消息类型 场景描述(仅作参考) 相关截图(仅作参考)
来电消息 用于用户间聊天消息(私信、私聊、群聊)中的音/视频通话 img.png
聊天消息 用于用户间聊天消息(私信、私聊、群聊)
注:用户包括普通用户和具有聊天功能的机器人,如日程通知助手,系统通知,worklink平台等
img.png

step2:发送邮件至push@oppo.com,标题及正文如下,同时附上该通道对应的场景说明、及相关截图或录屏内容附件


邮件标题:xxxx(应用名称)申请推送服务白名单 邮件正文: 【无法上架原因】由于是企业定制版应用,私有化部署 【应用信息】 应用ID:XXX 应用名称:XXX 应用包名:XXX 应用类型:办公应用 APP月活用户量级:5000 公司主体:xxxx 联系方式:xxxxx 【承诺】xxx(应用名称)仅为xxxxx(公司主体)内部使用,将遵守《OPPO通知运营规范》的要求进行消息推送,若出现违规行为将接收相应处罚措施 【APP界面截图】见附件


(2)未上架应用:申请推送白名单

step1:发送邮件至push@oppo.com,标题及正文如下,同时附上通道相关APP界面截图


邮件标题:xxxx(应用名称)申请推送服务白名单 邮件正文: 【无法上架原因】由于是企业定制版应用,私有化部署 【应用信息】 应用ID:XXX 应用名称:XXX 应用包名:XXX 应用类型:办公应用 APP月活用户量级:5000 公司主体:xxxx 联系方式:xxxxx 【承诺】xxx(应用名称)仅为xxxxx(公司主体)内部使用,将遵守《OPPO通知运营规范》的要求进行消息推送,若出现违规行为将接收相应处罚措施 【APP界面截图】见附件


3.相关链接:OPPO 开放平台-OPPO开发者服务中心 (oppomobile.com)
vivo
1.简要规则:通过智能消息分类,若要防止误判需申请自分类
  • 系统消息接收不受限,推送受限:3倍通知开启有效用户数
  • 运营消息受限,受限如下:
消息类型 接收限制 推送限制
新闻 单设备每日5条 3倍通知开启有效用户数
其他 单设备每日2条 2倍通知开启有效用户数
  • 若系统消息要推送不受限,需邮件申请
  • 接入过程:开发适配category字段
2.邮件申请规范

(1)申请系统消息推送不受限

step1:发邮件至push@vivo.com,标题正文如下

img.png

3.相关链接:vivo开放平台

推送配置相关

oppo

注意: 客户端适配通道后, 开发者若调 API 发送,则必须带通道 ID 发送。 开发者若用 OPush 消息推送平台推送消息,则必须在“通道配置 → 新建通道”模块(如下图)中登记通道,再在发送消息时选择通道发送。

img.png

img.png

注意:通道id需要保持一致

华为

需要申请自分类权益

img.png

img.png

注意:消息类型需要保持一致

小米

img.png

注意:channel_id需要保持一致

本页目录