更新记录

2.4.0(2026-06-02) 下载此版本

  • 补充 README 接入文档
  • 增加模块说明、启动流程、依赖说明、自定义基座要求与常见问题
  • 补充 start(options) 参数说明与页面调用示例
  • 补充与业务启动器配套的接入示例

平台兼容性

uni-app(5.06)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(5.06)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × × × ×

其他

多语言 暗黑模式 宽屏模式
× ×

ad-youliang-sdk

亘元有量 Android SDK 的 uni-app x UTS 封装模块。

当前版本基于 gysdk-v0.1.aar 封装,提供统一的 start(options) 启动入口,用于从 uni-app x 页面内拉起亘元有量业务页。

适用范围

  • uni-app x
  • Android
  • 需要自定义基座或自定义打包环境

目录说明

  • utssdk/interface.uts:模块对外类型定义
  • utssdk/app-android/index.uts:Android 平台启动实现
  • utssdk/app-android/config.json:原生依赖配置
  • utssdk/app-android/AndroidManifest.xml:原生清单补充
  • utssdk/app-android/libs/:本地 AAR 文件

对外接口

模块对外暴露一个 start(options) 方法。

GYStartOptions

type GYStartOptions = {
  appKey : string
  targetId : string
  oaid : string
  imei : string
  wxAppId : string
  themeColor : string
  title : string
  showAppBar : boolean
}

start(options)

  • 入参:GYStartOptions
  • 返回值:boolean
  • 返回 true:已完成 SDK 反射调用并发起页面启动
  • 返回 false:通常表示 Activity 缺失、依赖未生效、AAR 未打入或当前不是自定义基座

实现说明

当前封装通过反射方式调用:

  • com.gyyl.gysdk.entity.GYOption
  • com.gyyl.gysdk.GYSdk

启动流程如下:

  1. 读取 options.oaid
  2. 如果 oaid 为空,则回退到 Android ID
  3. 读取 options.imei
  4. 如果 imei 为空,则同样回退到 Android ID
  5. 获取当前 Activity
  6. 检查关键依赖是否存在
  7. 创建 GYOption
  8. 通过 setter 注入业务参数
  9. 调用 GYSdk.start(activity, option)

当前实现会在启动前检查以下关键依赖:

  • androidx.swiperefreshlayout.widget.SwipeRefreshLayout
  • okhttp3.logging.HttpLoggingInterceptor

如果依赖缺失,会直接输出错误并返回 false

依赖说明

utssdk/app-android/config.json 已声明以下依赖:

  • androidx.appcompat:appcompat:1.7.0
  • androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
  • com.google.android.material:material:1.12.0
  • com.squareup.okhttp3:okhttp:4.12.0
  • com.squareup.okhttp3:logging-interceptor:4.12.0
  • com.alibaba:fastjson:1.2.83
  • com.squareup.retrofit2:retrofit:2.9.0
  • com.squareup.retrofit2:adapter-rxjava3:2.9.0
  • com.squareup.retrofit2:converter-scalars:2.9.0
  • com.squareup.retrofit2:converter-gson:2.9.0
  • io.reactivex.rxjava3:rxjava:3.0.2
  • io.reactivex.rxjava3:rxandroid:3.0.2
  • com.github.bumptech.glide:glide:4.9.0
  • jp.wasabeef:glide-transformations:4.3.0
  • com.tencent.mm.opensdk:wechat-sdk-android:6.8.24

使用前准备

1. 使用自定义基座

本模块包含本地 AAR 和多项 Android 原生依赖,标准基座下无法保证原生能力生效。

如果控制台中看到:

uni_module [ad-youliang-sdk] (Android) 存在三方依赖或资源引用

这属于正常提示,说明你需要:

  • 配置自定义基座运行环境
  • 或使用云端自定义基座 / 自定义包

2. 提前准备设备标识

推荐优先传入:

  1. OAID
  2. Android ID

如果业务侧拿不到 OAID,当前实现会自动降级到 Android ID

3. 准备渠道参数

你需要从亘元有量平台获取:

  • appKey
  • targetId

一般建议:

  • targetId 传业务用户 ID
  • 如果用户未登录,可按业务规则传设备维度标识

4. 微信能力按需配置

如果 SDK 业务链路依赖微信相关能力,可通过 wxAppId 传入微信应用 ID;如果当前场景不需要,可以传空字符串。

基本用法

直接调用模块

// #ifdef APP-ANDROID
import { start } from '@/uni_modules/ad-youliang-sdk'
import type { GYStartOptions } from '@/uni_modules/ad-youliang-sdk/utssdk/interface.uts'
// #endif

function openYouliang() : boolean {
  // #ifdef APP-ANDROID
  const options : GYStartOptions = {
    appKey: '你的appKey',
    targetId: '你的用户ID',
    oaid: '优先传oaid',
    imei: '',
    wxAppId: '',
    themeColor: '#FE2C55',
    title: '应用试玩',
    showAppBar: true
  }
  return start(options)
  // #endif

  return false
}

推荐封装一层业务启动器

建议在 common 目录封装启动器,把渠道参数、标题、主题色和异常处理集中管理。

// #ifdef APP-ANDROID
import { start as startGYSdk } from '@/uni_modules/ad-youliang-sdk'
import type { GYStartOptions } from '@/uni_modules/ad-youliang-sdk/utssdk/interface.uts'
// #endif

const GYSDK_APP_KEY = '你的appKey'

export function openGYSdkTask(targetId : string, title : string, oaid : string) : boolean {
  // #ifdef APP-ANDROID
  const options : GYStartOptions = {
    appKey: GYSDK_APP_KEY,
    targetId: targetId,
    oaid: oaid,
    imei: '',
    wxAppId: '',
    themeColor: '#FE2C55',
    title: title,
    showAppBar: true
  }
  return startGYSdk(options)
  // #endif

  return false
}

页面调用示例

下面是一个与当前项目首页接法一致的示例:

function openGYSdk(entryName : string) : void {
  const device = collectDeviceInfo()
  const launchDeviceId = device.oaid.length > 0 ? device.oaid : device.android_id
  const opened = openGYSdkTask(getUid(), entryName, launchDeviceId)
  if (!opened) {
    uni.showToast({ title: '请重新安装最新自定义基座', icon: 'none' })
  }
}

参数建议

  • appKey:渠道后台分配
  • targetId:建议传业务用户 ID
  • oaid:优先传 OAID,拿不到时传 Android ID
  • imei:如无明确需求可传空字符串,当前实现会自动回退到 Android ID
  • wxAppId:仅在微信相关能力需要时传值
  • themeColor:用于页面主题色
  • title:用于页面标题显示
  • showAppBar:控制是否显示顶部栏

常见问题

1. 提示缺少 SwipeRefreshLayout

例如:

[gysdk] 缺少 SwipeRefreshLayout,请重新制作并安装自定义基座

说明当前运行环境没有把依赖正确打入。请确认:

  • 正在使用自定义基座
  • 自定义基座已经重新制作并重新安装
  • config.json 中的 Android 依赖已经生效

2. 提示缺少 HttpLoggingInterceptor

例如:

[gysdk] 缺少 HttpLoggingInterceptor,请重新制作并安装自定义基座

这通常也是基座未更新或原生依赖未生效导致。

3. 启动时报 AAR 未生效

例如:

[gysdk] 启动失败,请确认自定义基座已包含 AAR

请检查:

  • utssdk/app-android/libs/gysdk-v0.1.aar 是否存在
  • 当前运行的是否是最新自定义基座
  • 项目运行配置是否指向正确工程

4. 没有 OAID 是否还能启动

可以。

当前实现会在 oaid 为空时回退到 Android ID。如果你已经在业务侧拿到了更稳定的设备标识,也可以优先自行传入。

调试建议

  • 启动前打印 targetIdoaidandroid_id
  • 若使用微信相关能力,确认 wxAppId 已配置
  • 修改依赖或 AAR 后,重新制作并安装自定义基座
  • 出现失败时,优先看 Android 控制台 Java 异常和 [gysdk] 前缀日志

更新记录

2.4.0

  • 提供亘元有量 Android SDK 的 uni-app x UTS 封装
  • 支持通过 start(options) 拉起业务页
  • 支持主题色、标题和顶部栏配置

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。