更新时间:2025-11-17 03:30:46下载pdf
高级功能 UI 业务包提供了承载 App 高级功能 增值服务的 iOS 容器。目前,支持的高级功能类型如下所示:
当前开通服务无需额外费用。在您进行服务开通后,将会通知相关涂鸦业务人员进行处理。您将会收到合约签署的通知,请耐心等待。
以下是支持开通的服务:
在工程的 Podfile 文件中添加 App 高级功能业务包组件,并执行 pod update 命令:
source "https://github.com/tuya/tuya-pod-specs"
source 'https://cdn.cocoapods.org/'
platform :ios, '11.0'
target 'your_target_name' do
# 添加 App 高级功能业务包
pod 'ThingAdvancedFunctionsBizBundle'
end
6.2 SDK 及以后版本可使用,版本信息详见更新日志
通过 ThingActivatedValueAddedServiceProtocol 协议提供接口,您可以在 ThingModuleServices 组件中查看 ThingActivatedValueAddedServiceProtocol.h 协议文件的内容。
服务开通后,您可以通过以下接口获取已开通的服务列表:
- (void)fetchServiceWithSuccess:(void(^_Nullable)(NSArray<ThingValueAddedServiceModel *> *_Nullable services))success
failure:(void(^_Nullable)(NSError *error))failure;
开通后您可以通过以下接口查看服务页面:
- (BOOL)openServiceWithModel:(ThingValueAddedServiceModel *)model isPush:(BOOL)isPush;
有关更多用法,请参阅 Demo
6.2 SDK 以下版本支持
App 高级功能业务包实现ThingPersonalServiceProtocol协议以提供服务,在ThingModuleServices组件中查看ThingPersonalServiceProtocol.h协议文件内容为:
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSUInteger, ThingPersonalServiceType) {
ThingPersonalServiceTypePushCall, // 电话通知
ThingPersonalServiceTypePushSMS, // 短信通知
ThingPersonalServiceTypeIpcCloudStorage, // 云存储
ThingPersonalServiceTypeIpcOrderList //订单页面
};
@protocol ThingPersonalServiceProtocol <NSObject>
/**
* 获取增值服务页面
*
* @param type 增值服务类型
* @param callback 该 block 应该包含一个 UIViewController 类型的参数和一个 NSError 类型的参数
*/
- (void)requestPersonalService:(ThingPersonalServiceType)type completionBlock:(void(^)(__kindof UIViewController *page, NSError *error))callback;
@end
由于电话和短信服务依赖家庭信息,需要在 podfile 中引入家庭业务包。
pod 'ThingSmartFamilyBizBundle'
UIViewController,请使用 UINavigationController 进行 push 或 present 展示。UIViewController)目前提供以下高级功能页面:
ThingPersonalServiceTypePushCallThingPersonalServiceTypePushSMSThingPersonalServiceTypeIpcCloudStorageThingPersonalServiceTypeIpcOrderList接入时,您可以根据需要获取并展示对应页面。因为后续还需要重新展示新的页面,所以必须包装 NavigationController,否则,会导致后续页面无法跳转。
#import <ThingSmartBizCore/ThingSmartBizCore.h>
#import <ThingModuleServices/ThingPersonalServiceProtocol.h>
id<ThingPersonalServiceProtocol> psImpl = [[ThingSmartBizCore sharedInstance] serviceOfProtocol:@protocol(ThingPersonalServiceProtocol)];
[self requestPersonalService:ThingPersonalServiceTypePushSMS completionBlock:^(__kindof UIViewController *page, NSError *error) {
if (error) {
NSLog(@"%@",error);
} else {
UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:page];
[self presentViewController:nav animated:YES completion:nil];
}
}];
Swift 示例
let psImpl = ThingSmartBizCore.sharedInstance().service(of: ThingPersonalServiceProtocol.self)
(psImpl as? ThingPersonalServiceProtocol)?.request(.home, completionBlock: { (psVc, error) in
if let e = error {
print("\(e)")
return
}
// push
yourNaviController.pushViewController(psVc!, animated: true)
// present
let naviVc = UINavigationController.init(rootViewController: psVc!)
yourViewController.present(naviVc, animated: true, completion: nil)
})
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈