分享到 :

分享消息类型&代码示例(详细请参见SDK中Demo)

下面是各种分享消息的实例代码,作为开发者调用QQ好友分享和QQ空间分享的参考:

(注:如果可以分享到QQ空间,则会在示例代码中给出;不给出,则表示空间不支持该类分享)

  • QQApiObject(QQ消息基础类型)说明
属性类型含义备注
titleNSString标题最长128个字符
descriptionNSString简要描述最长512个字符
cflagkQQAPICtrlFlag场景需要满足多个场景时,用 |
shareDestTypeShareDestType分享到QQ/TIM默认分享到QQ,如果QQ未安装检测TIM是否安装
  • SendMessageToQQReq(给QQ发消息的功能类)说明
属性类型含义备注
typeQQApiInterfaceReqType请求消息类型用+reqWithXXX初始化,可以不填type
messageQQApiObject普通消息用+reqWithContent:方法初始化
arkMessageArkObjectark消息用+reqWithArkContent:方法初始化
miniMessageQQApiMiniProgramObject小程序消息用+reqWithMiniContent:方法初始化

纯文本分享

分享一段纯文本消息到AIO,效果和自己直接发消息一样

  • QQApiTextObject说明(继承QQApiObject)
属性类型含义备注
textNSString文本内容必填,最长1536个字符
  • 示例代码
//开发者分享的文本内容
QQApiTextObject *txtObj = [QQApiTextObject objectWithText:@"text"];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:txtObj];
//将内容分享到qq
QQApiSendResultCode sent = [QQApiInterface sendReq:req];

纯图片分享

图片分享,数据限制传5M,超过会提示失败,SDK内部不会进行压缩。

注意:目前只支持静态图片,动态图片后续版本支持。

  • 示例代码
//开发者分享图片数据
NSData *imgData = [NSData dataWithContentsOfFile:path];
QQApiImageObject *imgObj = [QQApiImageObject objectWithData:imgData
                                           previewImageData:imgData
                                           title:@"title"
                                           description :@"description"];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:imgObj];

//将内容分享到qq
QQApiSendResultCode sent = [QQApiInterface sendReq:req];

新闻分享

  • 示例代码
//分享跳转URL
NSString *url = @"http://xxx.xxx.xxx/";
//分享图预览图URL地址
NSString *previewImageUrl = @"preImageUrl.png";
QQApiNewsObject *newsObj = [QQApiNewsObject
objectWithURL :[NSURL URLWithString:utf8String]
title: @"title";
description :@"description";
previewImageURL:[NSURL URLWithString:previewImageUrl]];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:newsObj];
//将内容分享到qq
//QQApiSendResultCode sent = [QQApiInterface sendReq:req];
//将内容分享到qzone
QQApiSendResultCode sent = [QQApiInterface SendReqToQZone:req];

音乐分享

  • 示例代码
//分享跳转URL
NSString *url = @"http://xxx.xxx.xxx/";
//分享图预览图URL地址
NSString *previewImageUrl = @"preImageUrl.png";
//音乐播放的网络流媒体地址
NSString *flashURL = @"xxx.mp3 ";
QQApiAudioObject *audioObj =[QQApiAudioObject
objectWithURL :[NSURL URLWithString:url]
title:@"title"
description:@"description"
previewImageURL:[NSURL URLWithString:previewImageUrl]];
//设置播放流媒体地址
[audioObj setFlashUrl:flashURL];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:audioObj]
//将内容分享到qq
//QQApiSendResultCode sent = [QQApiInterface sendReq:req];
//将被容分享到qzone
QQApiSendResultCode sent = [QQApiInterface SendReqToQZone:req];

分享文件(仅数据线)(2.8.1)

在demo中,进入分享首页,打开数据线开关,再分享文件,可分享到我的其他设备

NSString *filePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathCo mponent:@"test.txt"];
NSData *fileData = [NSData dataWithContentsOfFile:filePath];
QQApiFileObject *fileObj = [QQApiFileObject objectWithData:fileData previewImageData:nil title:self.binding_title ? : @"" description:self.binding_description ? : @""];
if (self.binding_description != nil && ![self.binding_description isEqualToString:@""])
fileObj.fileName = self.binding_description;
else
fileObj.fileName = @"test.txt";
[fileObj setCflag:kQQAPICtrlFlagQQShareDataline];
SendMessageToQQReq *req = [SendMessageToQQReq reqWithContent:fileObj];
//将内容分享到qq
//QQApiSendResultCode sent = [QQApiInterface sendReq:req];
返回顶部