分享消息类型&代码示例(详细请参见SDK中Demo)
下面是各种分享消息的实例代码,作为开发者调用QQ好友分享和QQ空间分享的参考:
(注:如果可以分享到QQ空间,则会在示例代码中给出;不给出,则表示空间不支持该类分享)
- QQApiObject(QQ消息基础类型)说明
属性 | 类型 | 含义 | 备注 |
title | NSString | 标题 | 最长128个字符 |
description | NSString | 简要描述 | 最长512个字符 |
cflag | kQQAPICtrlFlag | 场景 | 需要满足多个场景时,用 | |
shareDestType | ShareDestType | 分享到QQ/TIM | 默认分享到QQ,如果QQ未安装检测TIM是否安装 |
- SendMessageToQQReq(给QQ发消息的功能类)说明
属性 | 类型 | 含义 | 备注 |
type | QQApiInterfaceReqType | 请求消息类型 | 用+reqWithXXX初始化,可以不填type |
message | QQApiObject | 普通消息 | 用+reqWithContent:方法初始化 |
arkMessage | ArkObject | ark消息 | 用+reqWithArkContent:方法初始化 |
miniMessage | QQApiMiniProgramObject | 小程序消息 | 用+reqWithMiniContent:方法初始化 |
纯文本分享
分享一段纯文本消息到AIO,效果和自己直接发消息一样
- QQApiTextObject说明(继承QQApiObject)
属性 | 类型 | 含义 | 备注 |
text | NSString | 文本内容 | 必填,最长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]; |