内容
活动
关注

百宝箱开放平台 ✖️ Android 集成说明

简介: 本文介绍如何通过SDK将百宝箱与友盟+ Android应用集成,涵盖环境配置、权限声明、混淆设置、SDK初始化及预初始化、日志查看、效果验证等步骤,并提供完整demo工程及参数说明,助力开发者快速实现功能集成。

本文将介绍如何通过 SDK 实现百宝箱与友盟+ Android 应用进行集成。

1. 环境及权限声明

请通过如下代码示例进行应用配置以及权限的声明。

<manifest ……>  <uses-sdkandroid:minSdkVersion="8"></uses-sdk>  <uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>  <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>  <uses-permissionandroid:name="android.permission.INTERNET"/>   <!-- 根据智能体实际功能声明以下权限,若智能体需要LBS位置,务必声明该权限 -->  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <application ……>

其中,各配置说明如下。

配置项

必填

说明

minSdkVersion

表示该应用可以在 Android 2.2 (API Level 8) 及以上版本的设备上运行。

ACCESS_NETWORK_STATE

允许应用检查网络连接状态,常用于判断是否可以安全地进行网络请求。

ACCESS_WIFI_STATE

允许应用获取当前 Wi-Fi 连接的信息,如 SSID、BSSID、信号强度等。通常用于需要识别当前连接的 Wi-Fi 网络的场景。

INTERNET

允许应用访问互联网,进行网络通信(如 HTTP 请求、Socket 连接等)。

ACCESS_FINE_LOCATION

允许应用通过 GPS、Wi-Fi、基站等方式获取精确位置(精度可达几米)。

ACCESS_COARSE_LOCATION

允许应用通过 Wi-Fi 或移动网络获取大致位置(精度约几十到几百米)

2. 混淆设置

如果您的应用使用了代码混淆,为避免友盟+ SDK被错误混淆导致 SDK 不可用问题,请参照以下命令进行混淆设置。

-keep class com.umeng.** { *; } -keepclassmembers class *{  public<init>(org.json.JSONObject); } -keepclassmembers enum *{  publicstatic**[] values();  publicstatic** valueOf(java.lang.String); }

若在处理 apk 的过程中出现 proguard 被删除的问题,可参照下述命令添加配置。

-keep publicclass [您的应用包名].R$*{  publicstaticfinalint*; }

3. 集成说明

3.1. 初始化 SDK

通过调用宿主应用的 application.onCreate函数来完成初始化。

/** * 注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值,也需要在App代码中调 * 用初始化接口(如需要使用AndroidManifest.xml中配置好的appkey和channel值, * UMConfigure.init调用中appkey和channel参数请置为null)。 */ UMConfigure.init(Context context,String appkey,String channel,int deviceType,String pushSecret); UMAgent.init(Context context, String appKey);

或者

/** * 注意:如果您已经在AndroidManifest.xml中配置过appkey和channel值,可以调用此版本初始化函数。 */ UMConfigure.init(Context context,int deviceType,String pushSecret); UMAgent.init(Context context, String appKey);

关于Channel 渠道的使用命名规范如下:

  • 使用规范:每台设备仅记录首次安装激活的渠道,在其他渠道再次安装不会重复计量。 所以在测试不同的渠道的时候,请使用不同的设备来分别测试,不要改变 UMENG_CHANNEL
  • 命名规范:
  • 以由英文字母、阿拉伯数字、下划线、中划线、空格、括号组成,可以含汉字以及其他明文字符,但是不建议使用中文命名,会出现乱码。
  • 首尾字符不可以为空格。
  • 不要使用纯数字作为渠道ID。
  • 最多256个字符。
  • “unknown” 及其各种大小写形式,作为【友盟+】保留的字段,不可以作为渠道名。

3.2. (可选)预初始化 SDK

若无法保证 App 能够在 Appcalition.onCreate 函数中调用 UMConfigure.init 初始化函数,则必须在 Appcalition.onCreate 函数中调用下述命令进行预初始化。

说明:

  • 对于有延迟初始化 SDK 需求的场景(不能在 Application.onCreate 函数中调用 UMConfigure.init 初始化函数),必须在 Application.onCreate 函数中调用 UMConfigure.preInit 预初始化函数(该函数 preInit 耗时极少,不会影响冷启动体验),而后 UMConfigure.init 函数可以按需延迟调用(可以放到后台线程中延时调用,可以延迟,但还是必须调用)。
  • 如果您的 App 已经是在 Application.onCreate 函数中调用UMConfigure.init 进行初始化,则无需额外调用 UMConfigure.preInit 预初始化函数。
  • 详细说明可参见:SDK 预初始化
public static void preInit(Context context,String appkey,String channel)

3.3. 查看日志

可以通过调用如下方法控制 SDK 的运行,调试日志是否输出。 SDK 运行调试日志默认关闭,需要用户手动开启。

UMConfigure.setLogEnabled(true); UMAgent.setLogEnabled(true);

3.4. 查看集成效果

通过 UMAgent.startAgentActivity 方法打开本地智能体页面,需要传入 agentId。

UMAgent.startAgentActivity(Context context, String agentId)

4. demo 工程

📎UAgent_Demo_Android-main-ab521c16a85345e68d99da16b8032bcd94b536eb.zip

工程运行效果

打开智能体效果

说明:工程运行时需要填入的参数如下。

相关文章
|
23天前
|
定位技术 开发工具 iOS开发
百宝箱开放平台 ✖️ iOS 集成说明
本文介绍百宝箱智能体与友盟+ iOS 应用集成方法,涵盖手动集成、权限配置、SDK 初始化、日志查看及效果验证。提供依赖库添加、Info.plist 权限声明、channel 规范、demo 工程下载与运行说明,助您快速完成接入。
117 1
|
2月前
|
存储 缓存 数据处理
孔夫子旧书网开放平台接口实战:古籍图书检索与商铺数据集成
本文详解孔夫子旧书网古籍数据接口的实战调用,涵盖认证签名、古籍检索、商铺集成与特色数据处理四大场景,提供可复用的Python代码及避坑指南,助力学术研究、旧书商管理与古籍数字化落地。
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
999 1
|
9月前
|
人工智能 自然语言处理 搜索推荐
阿里云 AI 搜索开放平台集成 DeepSeek 模型
阿里云 AI 搜索开放平台最新上线 DeepSeek -R1系列模型。
460 2
|
Java 程序员 API
Android|集成 slf4j + logback 作为日志框架
做个简单改造,统一 Android APP 和 Java 后端项目打印日志的体验。
600 1
|
图形学 iOS开发 Android开发
从Unity开发到移动平台制胜攻略:全面解析iOS与Android应用发布流程,助你轻松掌握跨平台发布技巧,打造爆款手游不是梦——性能优化、广告集成与内购设置全包含
【8月更文挑战第31天】本书详细介绍了如何在Unity中设置项目以适应移动设备,涵盖性能优化、集成广告及内购功能等关键步骤。通过具体示例和代码片段,指导读者完成iOS和Android应用的打包与发布,确保应用顺利上线并获得成功。无论是性能调整还是平台特定的操作,本书均提供了全面的解决方案。
550 0
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
317 0
|
机器学习/深度学习 TensorFlow 算法框架/工具
全面解析TensorFlow Lite:从模型转换到Android应用集成,教你如何在移动设备上轻松部署轻量级机器学习模型,实现高效本地推理
【8月更文挑战第31天】本文通过技术综述介绍了如何使用TensorFlow Lite将机器学习模型部署至移动设备。从创建、训练模型开始,详细演示了模型向TensorFlow Lite格式的转换过程,并指导如何在Android应用中集成该模型以实现预测功能,突显了TensorFlow Lite在资源受限环境中的优势及灵活性。
1464 0
|
Java 开发工具 Android开发
Android mk 集成app
Android mk 集成app
132 5
|
安全 物联网 Android开发
构建未来:Android与IoT设备的无缝集成
【5月更文挑战第10天】 在数字化时代的浪潮中,智能设备与互联网的结合日益紧密。本文深入探讨了Android系统如何通过其开放性和灵活性成为连接物联网(IoT)设备的关键枢纽。我们将分析Android平台与IoT设备集成的技术途径,探索它们如何共同塑造智能家居、可穿戴技术以及工业自动化等领域的未来。文中不仅阐述了当前的发展状况,还展望了未来的发展趋势,特别是安全性和隐私保护方面的挑战及对策。
415 1
下一篇