Lynx Service 为 Lynx Engine 提供了宿主特性相关能力,包括图片、日志和 FetchAPI 相关能力。 不同的接入方对自身的图片库、日志库和网络库有特定的需求,因此 Lynx Engine 通过 LynxService API 对外开放了针对这类场景的自主接入能力。
Lynx Engine 和 Lynx Service 采用依赖分离设计;从依赖关系上看,Lynx Service 实现了 Lynx Engine 暴露的 LynxService API,而 Lynx Engine 不依赖 Lynx Service。在运行时 Lynx Engine 会通过服务查找机制查找注册的 Lynx Service,并通过 LynxService API 调用。
LynxService API 是 Lynx Engine 提供的,用于指定 Lynx Service 能力的 API 设计。Lynx Service 需要依照 LynxService API 的要求正确的实现自身,以确定 Lynx Engine 能正确的使用该基础能力。
Lynx 提供了默认的 Lynx Service 实现,可直接接入
如果有自定义需求,也可以根据自身需求快速实现并注册相关内容。下面将以 log service 为例,介绍如何实现并接入自定义的 Lynx Service:
LynxServiceLogProtocol
LynxServiceRegister
宏实现自动注册;serviceBizID
,serviceScope
。这两个方法没有实际意义,后续会被删除;serviceType
。需返回该 Service 所实现的类型,详见 Lynx Service.h;sharedInstance
,成为单例类。基于目前的 Lynx Service 设计,一个类型的 Service 全局只会使用一个实例,建议实现为单例类;LynxServiceLogProtocol
要求的全部接口;Lynx Service 在 iOS 中拥有自动注册机制。在实现阶段已经通过 LynxServiceRegister
宏,完成了快速自动注册。
如果使用了自己实现的 Lynx Service,请删除 Lynx 提供的默认实现。
LCD tables only load in the browser