更新时间:2025-11-18 03:29:12下载pdf
高级功能 UI 业务包提供了承载 App 高级功能 增值服务的 Android 容器。
当前开通服务无需额外费用。在您开通服务后,相关涂鸦业务人员会收到通知并进行处理。您将会收到合约签署的通知,请耐心等待。
以下是支持开通的服务:
在 Android Studio 中建立您的工程,接入智能生活 App SDK,并完成业务包。详情请参考 接入安卓版智能生活 App SDK 业务包框架。
dependencies {
api enforcedPlatform("com.thingclips.smart:thingsmart-BizBundlesBom:${biz_bom_version}")
implementation 'com.thingclips.smart:thingsmart-bizbundle-third_service'
api "com.thingclips.smart:thingsmart:${sdk_version}}"
}
如果您集成的高级功能业务包涉及应用内支付业务,且需要在 Google Store 发布上架,则您还需要继承 Google IAP 相关业务包组件:
dependencies {
api enforcedPlatform("com.thingclips.smart:thingsmart-BizBundlesBom:${biz_bom_version}")
implementation 'com.thingclips.smart:thingsmart-bizbundle-google_pay'
}
同时,需要覆写以下资源,设置为 True:
是否支持 Google IAP:
<bool name="is_support_google_iap">true</bool>
是否支持备选结算,可参考 备选结算 API。
<bool name="enableUserChoiceBillingg">true</bool>
# 应配置 build.gradle 里所有三方依赖混淆
# fastJson
-keep class com.alibaba.fastjson.**{*;}
-dontwarn com.alibaba.fastjson.**
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-dontwarn com.squareup.okhttp.**
-keep class okio.** { *; }
-dontwarn okio.**
-keep class com.thingclips.**{*;}
-dontwarn com.thingclips.**
小程序方案从 v6.11 版本 SDK 开始支持,提供统一的 API 获取并打开各类智能小程序,支持更多增值服务,建议优先使用。
支持的服务:
创建回调接口。首先,需要实现 IDataIntelligenceCallback 接口:
private val intelligenceCallback = object : IDataIntelligenceCallback {
override fun onSuccess(data: ArrayList<IntelligenceOpenBean>) {
// 处理成功获取的数据
data.forEach { bean ->
println("小程序名称: ${bean.name}")
println("小程序描述: ${bean.desc}")
println("图标URL: ${bean.picture}")
println("跳转链接: ${bean.link}")
}
}
override fun onError(code: String, message: String) {
// 处理错误情况
println("错误码: $code, 错误信息: $message")
}
}
获取智能小程序数据。调用管理器方法获取数据:
ThingSmartIntelligenceManager.getIntelligenceOpenData(intelligenceCallback)
打开智能小程序。小程序 SDK 相关的集成,请参考 MiniApp SDK 集成指南。
通过小程序 ID 打开:
ThingMiniAppClient
.coreClient()
.openMiniAppByAppId(context, entranceMark, null, null)
通过小程序链接打开:
ThingMiniAppClient
.coreClient()
.openMiniAppByUrl(context, link, null)
IntelligenceOpenBean
| 字段 | 类型 | 说明 |
|---|---|---|
| id | String | 小程序唯一标识 |
| entranceMark | String | 小程序 AppID |
| name | String | 小程序名称 |
| desc | String | 小程序描述 |
| picture | String | 小程序图标 URL |
| link | String | 小程序跳转链接 |
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 获取智能小程序数据
ThingSmartIntelligenceManager.getIntelligenceOpenData(
object : IDataIntelligenceCallback {
override fun onSuccess(data: ArrayList<IntelligenceOpenBean>) {
runOnUiThread {
// 在 UI 线程中更新界面
updateUI(data)
}
}
override fun onError(code: String, message: String) {
runOnUiThread {
// 显示错误信息
Toast.makeText(
this@MainActivity,
"获取数据失败: $message",
Toast.LENGTH_SHORT
).show()
}
}
}
)
}
private fun updateUI(data: ArrayList<IntelligenceOpenBean>) {
// 更新 UI 逻辑
data.forEach { bean ->
// 处理每个小程序数据
// 例如:添加到列表、显示图标等
}
}
/**
* 打开指定的小程序
*/
private fun openMiniApp(bean: IntelligenceOpenBean) {
// 方式 1:通过 AppID 打开
ThingMiniAppClient
.coreClient()
.openMiniAppByAppId(this, bean.entranceMark, null, null)
// 方式 2:通过链接打开
// ThingMiniAppClient
// .coreClient()
// .openMiniAppByUrl(this, bean.link, null)
}
}
WebView 方案目前仅支持 电话通知 和 短信通知 两种服务,建议使用小程序方案,可实现拓展更多的智能业务。
枚举高级功能类型。
public enum PersonalThirdServiceType {
// 短信通知
PUSH_SMS_SERVICE("personal_push_sms_service"),
// 电话通知
PUSH_CALL_SERVICE("personal_push_call_service");
private final String type;
PersonalThirdServiceType(String type) {
this.type = type;
}
public String getType() {
return type;
}
}
查询高级功能。根据高级功能类型查询高级功能。此接口为异步接口。
接口说明:
void requestPersonalThirdService(long homeId, PersonalThirdServiceType type, IPersonalThirdServiceCallback callback)
参数说明:
| 参数 | 说明 |
|---|---|
| HomeId | 当前选中的家庭 ID |
| PersonalThirdServiceType | 高级功能类型 |
| IPersonalThirdServiceCallback | 高级功能请求异步回调 |
示例代码:
AbsPersonalThirdService thirdService = MicroContext.getServiceManager()
.findServiceByInterface(AbsPersonalThirdService.class.getName());
thirdService.requestPersonalThirdService(homeId, PersonalThirdServiceType.PUSH_SMS_SERVICE,
new IPersonalThirdServiceCallback() {
@Override
public void onSuccess(ThirdIntegrationBean bean) {
String url = bean != null ? bean.getUrl() : null;
Log.i("third_service", "url = " + url);
}
@Override
public void onError(String errorCode, String errorMessage) {
}
});
打开高级功能页面。高级功能展示页面支持 Activity 和 Fragment。示例代码如下:
Activity
Intent intent = new Intent(context, WebViewActivity.class);
intent.putExtra("Uri", url);
context.startActivity(intent);
Fragment
WebViewFragment fragment = new WebViewFragment();
Bundle args = new Bundle();
args.putString("Uri", url);
args.putBoolean("enableLeftArea", true);
fragment.setArguments(args);
getSupportFragmentManager().beginTransaction()
.add(R.id.web_content, fragment, WebViewFragment.class.getSimpleName())
.commit();
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈