YZShareSDK 提供微信、微博、QQ 及 Facebook 等部分海外平台分享功能。
注意一:国内(除微博以外)必须安装对应的客户端,海外(除 Facebook 以外)必须安装客户端。
注意二:在 iOS13 之后,国内分享必须配置 Associated Domains,在分享参数申请时,需要添加 Universal link。
注意三:微信分享没有给回调,不能依赖 SDK 给的 code 判定成功或者失败的依据。
接口调用:
[SuperSDK invoke:@"yzsharesdk"
funcName:@"share"
parameters:@{
@"title" : @"分享的标题", // 必传
@"content" : @"分享的内容", // 必传
@"url" : @"http://www.supersdk.cn", // URL 字符串,可以包含中文,不可进行 URL 编码,没有可以不传
@"images" : @"http://www.mob.com/images/logo_black.png", // 分享图片为本地路径,参数为 string 类型
@"platform" : @"1", // platform 该字段选传,不传会拉起 ShareSDK 默认分享 UI,传了则不会拉起 UI,直接调用对应平台分享接口
}];
接口回调:
- (void)handlerCallback:(NSString *)moduleName
funcName:(NSString *)funcName
parameters:(NSString *)parameters {
NSLog(@"****** 收到回调\n moduleName : %@,\n funcName : %@,\n parameters : %@", moduleName, funcName, parameters);
NSDictionary *retParam = nil;
if (parameters) {
NSData *jsonData = [parameters dataUsingEncoding:NSUTF8StringEncoding];
if (jsonData) {
retParam = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableLeaves error:nil];
}
}
int code = [[retParam objectForKey:@"code"] intValue];
NSString *desc = [retParam objectForKey:@"msg"];
id data = [retParam objectForKey:@"data"];
if ([moduleName isEqualToString:@"yzsharesdk"]) {// YZShareSDK 模块回调
if ([funcName isEqualToString:@"share"]) {// 分享接口回调
if(code == BCORE_SUCCESS) {
NSLog(@"分享成功");
}
else {
NSLog(@"分享失败");
}
}
}
}
日志打印:
moduleName : yzsharesdk,
funcName : share,
result : {
"msg" : "分享成功",
"code" : 1
}
platform 字段说明:
平台 | 参数 |
---|---|
新浪微博 | 1 |
微信好友 | 2 |
微信朋友圈 | 3 |
微信收藏 | 4 |
QQ 好友 | 5 |
QQ 空间 | 6 |
7 | |
8 | |
Line | 11 |
VKontakte | 13 |
Tiktok | 14 |