tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

定制分享能力

PDF
聚焦模式
字号
最后更新时间: 2026-01-29 00:08:49

默认分享渠道配置

通过重写 defaultSharingChannels 方法,可以自定义默认的分享渠道。
API 说明:
// 点击胶囊按钮后的默认分享渠道-MAShareTarget 中的 MAShareTargetQQ、MAShareTargetQzone、MAShareTargetWXFriends、MAShareTargetWXMoment(小程序配置的必须是 superapp 的子集)
- (NSArray<NSNumber *> *)defaultSharingChannels;
示例代码:
- (NSArray<NSNumber *> *)defaultSharingChannels{
return @[@(MAShareTargetQQ),@(MAShareTargetWXFriends),@(MAShareTargetWXMoment)];
}

添加自定义分享按钮

通过重写 customizedConfigForShare 方法,可以自定义分享途径、决定展示顺序。
API 说明:

// Superapp 可以自定义分享途径、决定展示顺序,目前使用在点击更多按钮、button 组件(open-type="share")呼起的 ActionSheet 中
// 1、默认渠道:QQ 好友、QQ 空间、微信、朋友圈(具体 type 参见 MAUIDelegateShareViewType),由开发商决定,superapp 只能更改展示顺序
// 2、自定义分享渠道:Superapp 自定义(type 填 MAUIDelegateShareViewTypeCustomizedShare,自定义 MAShareTarget,建议大于100,在小程序页面中 onShareAppMessage 回传分享内容,统一走 shareMessageWithModel 由 superapp 根据 ShareTarget 来分别处理)
// 3、自定义事件:Superapp 自定义(type 填 MAUIDelegateShareViewTypeCustomizedAction)
// 以上三种渠道展示顺序支持混排
- (NSArray<TMASheetItemInfo *> *)customizedConfigForShare;
示例代码:

- (NSArray<TMASheetItemInfo *> *)customizedConfigForShare {
NSMutableArray *arrays = [[NSMutableArray alloc] init];
TMASheetItemInfo *item1 = [[TMASheetItemInfo alloc] initWithTitle:@"More sharing" type:MAUIDelegateShareViewTypeCustomizedShare shareTarget:100 shareKey:@"my"];
item1.icon = [UIImage imageNamed:@"icon_moreOperation_shareChat"];
item1.shareTarget = 10001;
[arrays addObject:item1];

TMASheetItemInfo *item2 = [[TMASheetItemInfo alloc] initWithTitle:@"click" type:MAUIDelegateShareViewTypeCustomizedAction action:^(TMASheetActionParams * _Nullable params) {
NSLog(@"click 点击");
}];
item2.icon = [UIImage imageNamed:@"icon_moreOperation_collect"];
[arrays addObject:item2];
return arrays;

}
效果如下:

转发按钮效果如下:

注意:
转发按钮通过小程序button组件设置open-type="share"即可实现。
默认显示全部superapp代理接口实现的自定义分享渠道(包含MAUIDelegateShareViewTypeCustomizedShare和MAUIDelegateShareViewTypeCustomizedAction类型)和默认分享渠道。
小程序可通过button组件的share-mode指定分享渠道,share-mode取值对应TMASheetItemInfo对象的shareKey属性;指定分享渠道后,只展示superapp里边MAUIDelegateShareViewTypeCustomizedShare分享类型。

小程序内部逻辑

小程序内部通过 onShareAppMessage 监听用户单击分享类按钮的行为,并自定义转发内容。

分享逻辑实现

Superapp 收到小程序内部返回的分享数据后,触发 shareMessageWithModel 执行最终的分享动作,开发者可以根据 shareTarget 等数据,自行处理需要分享的内容,对接三方分享平台。

/**
* @brief 分享的接口 - shared interface
* @param shareModel 分享model - share model
* @param appInfo 小程序appinfo - Mini program appinfo
* @param completionBlock 回调 - callback
*/
- (void)shareMessageWithModel:(TMAShareModel *_Nonnull)shareModel
appInfo:(TMFMiniAppInfo *_Nonnull)appInfo
completionBlock:(nullable void(^)(NSError * _Nullable error))completionBlock;

图片分享逻辑实现

Superapp 开发人员也可以通过 customizedConfigForImageShare 接口自定义 wx.showShareImageMenu 中显示的分享列表。
MAUIDelegateShareViewTypeCustomizedShare 类型的分享条目由代理接口 shareMessageWithModel:appInfo:completionBlock 统一处理。
MAUIDelegateShareViewTypeCustomizedAction 类型的分享条目由 superapp 在添加时定义执行动作。
示例代码:
- (NSArray<TMASheetItemInfo *> *)customizedConfigForImageShare {
TMASheetItemInfo *item = [[TMASheetItemInfo alloc] initWithTitle:@"Send to friend" type:MAUIDelegateShareViewTypeCustomizedShare shareTarget:200 shareKey:@"my"];
TMASheetItemInfo *item2 = [[TMASheetItemInfo alloc] initWithTitle:@"test" type:MAUIDelegateShareViewTypeCustomizedAction shareTarget:201];
item2.action = ^(TMASheetActionParams * _Nullable params0) {
NSLog(@"");
};
return @[item,item2];
}
显示效果:


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈