更新时间:2024-11-18 11:32:38
涂鸦消息中心 UI 业务包提供涂鸦 App 消息中心业务逻辑。业务功能主要涵盖各类消息的推送历史记录,包括告警、家庭、通知三个消息大类。其中告警包含设备告警、场景自动化等执行记录。
消息中心设置页可以启用或关闭各类消息推送。对于告警类消息,支持添加设备免打扰时段。
在工程的 Podfile
文件中添加消息中心业务包组件,并执行 pod update
命令:
source "https://github.com/tuya/tuya-pod-specs"
source 'https://cdn.cocoapods.org/'
platform :ios, '11.0'
target 'your_target_name' do
# 添加消息中心业务包
pod 'TuyaSmartMessageBizBundle'
end
消息中心 UI 业务包实现 TYMessageCenterProtocol
协议以提供对外服务,在 TYModuleServices
组件中查看 TYMessageCenterProtocol.h
协议文件内容为:
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@protocol TYMessageCenterProtocol <NSObject>
/// push消息中心页面 push message center vc
/// @param 动画 animated
- (void)gotoMessageCenterViewControllerWithAnimated:(BOOL)animated;
@end
NS_ASSUME_NONNULL_END
消息中心业务包正常运行需要依赖 TYSmartHomeDataProtocol
这个协议提供的协议方法,提供当前家庭信息。
/**
获取当前的家庭,当前没有家庭的时候,返回nil。
@return TuyaSmartHome
*/
- (TuyaSmartHome *)getCurrentHome;
TYSmartHomeDataProtocol
中的 getCurrentHome
方法。Objective-C 示例
#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TYSmartHomeDataProtocol.h>
- (void)initCurrentHome {
// 注册要实现的协议
[[TuyaSmartBizCore sharedInstance] registerService:@protocol(TYSmartHomeDataProtocol) withInstance:self];
}
// 实现对应的协议方法
- (TuyaSmartHome *)getCurrentHome {
TuyaSmartHome *home = [TuyaSmartHome homeWithHomeId:@"当前家庭id"];
return home;
}
Swfit 示例
import TuyaSmartDeviceKit
class TYMessageCenterTest: NSObject,TYSmartHomeDataProtocol{
func test() {
TuyaSmartBizCore.sharedInstance().registerService(TYSmartHomeDataProtocol.self, withInstance: self)
}
func getCurrentHome() -> TuyaSmartHome! {
let home = TuyaSmartHome.init(homeId: 111)
return home
}
}
Objective-C 示例
#import <TuyaSmartBizCore/TuyaSmartBizCore.h>
#import <TYModuleServices/TYMessageCenterProtocol.h>
- (void)gotoDeviceConfig {
id<TYMessageCenterProtocol> impl = [[TuyaSmartBizCore sharedInstance] serviceOfProtocol:@protocol(TYMessageCenterProtocol)];
[impl gotoMessageCenterViewControllerWithAnimated:YES];
}
Swfit 示例
let impl = TuyaSmartBizCore.sharedInstance().service(of: TYMessageCenterProtocol.self) as? TYMessageCenterProtocol
impl?.gotoMessageCenterViewController(animated: true)
因 UI 业务包开放能力及功能组件依赖原因,消息中心部分告警信息链接点击响应暂时不支持。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈