小部件是小程序表现形式的拓展,您通过类似于小程序的开发模式,构建出小部件产物。投放到对应 App 后,小部件即可在 App 中展示。相较于小程序,小部件显得更轻量、更便捷,更适合于展示性的场景。
功能
小部件支持在小程序和原生页面中接入。在小程序中的小部件,支持以弹窗的形式存在。在原生页面中的小部件,支持以弹窗、组件、页面组成部分的形式存在,具体形式由您自行决定。
示例
在涂鸦系 App 中,小部件已经被广泛使用。其良好的动态化特性带来了正向的反馈,以下是现有使用场景。
示例一:
在 RN 面板中弹出小部件 Dialog
,用于申请系统权限。同时,该小部件也可以在小程序中使用,大大提升了组件&业务复用率。
示例二:
在首页嵌入一个小部件视图,用于展示推广信息。小部件视图可以动态更新,从而给运营带来了更多的可能性。
👉 立即免费领取开发资源,体验涂鸦 MiniApp 小程序开发。
API
创建小部件弹窗
小部件弹窗,类似于 ActionSheet
,展示时会覆盖在页面之上。
/// 创建弹窗小部件并展示
/// - Parameters:
/// - view:展示小部件的父视图
/// - url:创建小部件的 url,格式参照后续的参数说明部分
- (UIView *)showWidgetDialogInView:(nonnull UIView *)view url:(nonnull NSString *)url;
/// 创建弹窗小部件并展示
/// - Parameters:
/// - view:展示小部件的父视图
/// - url:创建小部件的 url,格式参照后续的参数说明部分
/// - dismissCallback:小部件消失时的回调
- (UIView *)showWidgetDialogInView:(nonnull UIView *)view url:(nonnull NSString *)url dismissCallback:(nullable void(^)(void))dismissCallback;
示例代码
[[ThingMiniAppClient widgetClient] showWidgetDialogInView:self.view url:@"godzilla://tyvr5foscvxwog5byi/cards/info/index?miniWidgetStyle=0.52"];
// 接收小部件消失的回调
[[ThingMiniA