分享到 :

分享小程序消息到QQ和空间 (3.3.5)(QQ 8.0.8)

使用场景

3.3.5新增支持分享小程序消息到手Q和空间,替代原来的结构化消息,目前支持的消息类型有:新闻、音乐、视频,若选中其他消息(文本、图片)会保持原来的消息形式发送。(小程序消息实际上属于ark消息的一种)

注意事项

若需要使用此功能,第三方APP的plist文件中的LSApplicationQueriesSchemes字段中需要添加mqqopensdkminiapp,否则可能拉不起手Q并且报错“当前QQ版本太低-EQQAPIVERSIONNEEDUPDATE”

接口方法

新增消息类型QQApiMiniProgramObject

//QQApiInterfaceObject.h
/**
 * 创建一个支持小程序的消息请求实例
 * @param miniMessage 小程序实例对象
 * @return 消息请求实例
 */
+(SendMessageToQQReq*) reqWithMiniContent:(QQApiMiniProgramObject *)miniMessage;

创建完小程序消息后,再通过分享接口发送消息到QQ和空间

示例代码(以分享视频消息为例)

//视频消息对象
QQApiVideoObject *videoObj = [QQApiVideoObject objectWithURL:[NSURL URLWithString:utf8String ? : @""] title:self.binding_title ? : @"" description:self.binding_description ? : @"" previewImageData:previewData];
videoObj.cflag |= kQQAPICtrlFlagQQShareEnableMiniProgram;

//如果是发到空间还需要打开下面一句
//videoObj.cflag |= kQQAPICtrlFlagQZoneShareOnStart;

//小程序消息对象
QQApiMiniProgramObject *miniObj = [QQApiMiniProgramObject new];
miniObj.qqApiObject = videoObj;
miniObj.miniAppID = inputMiniAppid;
miniObj.miniPath = inputMiniPath;
miniObj.webpageUrl = inputMiniWebUrl;
miniObj.miniprogramType = [inputMiniType integerValue];

//发送消息
req = [SendMessageToQQReq reqWithMiniContent:miniObj];
QQApiSendResultCode ret = [QQApiInterface sendReq:req];

参数说明

参数类型必填说明
miniAppIdStringYes小程序的AppId(注:必须在QQ互联平台中,将该小程序与分享的App绑定)
miniPathStringYes小程序的展示路径
webpageUrlStringYes兼容低版本的网页链接
miniprogramTypeenumNo小程序的类型,默认正式版(3),可选测试版(1)、预览版(4)
qqApiObjectObjectYes小程序消息封装的原有消息对象
返回顶部