iOS打开抖音拍摄器

功能介绍

打开抖音拍摄器是指第三方 App 通过接入该功能,让用户可以从 App 直接进入抖音拍摄器。

准备工作

开始之前,已经默认你,完成了接入指南中的申请、配置过程。如果还未完成,请参考 抖音授权分享 SDK 入门指南完成配置。

实现一次分享的步骤如下:

第一步:引入头文件

引入DouyinOpenSDKShare.h这个头文件

#import "DouyinOpenSDKShare.h"

第二步: 构造分享的请求

构造分享到抖音的分享请求

DouyinOpenSDKShareRequest *req = [[DouyinOpenSDKShareRequest alloc] init];

第三步: 设置必传参数

设置分享的类型。

req.shareAction = DouyinOpenSDKShareTypeCapture;

第四步:设置你需要的可选参数

设置分享的话题标签,会在抖音中展示的传入的话题标签

req.hashtag = @"变脸挑战";

设置分享的上下文,会在一次分享的过程中透传,可自定义一个字符串传入,或者从OpenAPI中申请ShareID。可以从返回的 Resp 中的 state 中获取你在 request 中放设置的 state。

req.state = @“a47e57c6c559acb88a9569da66ee5f65e0f779c9”;

如果传入的 state 字段是通过 OpenAPI 获取的 ShareID 你还可以通过 ShareID 精准的追踪分享的视频是否成功,获取分享视频的数据,如点赞数, 评论数等。具体有关 ShareID 的相关的请看 ShareID 的获取和使用

设置分享携带小程序:通过 Share Request 的扩展参数可以携带小程序信息,会在视频播放时展示

挂载小程序请先完成申请->申请及使用说明

NSMutableDictionary *m_dic = @{}.mutableCopy;
m_dic[@"identifier"] = self.microAppId?:@"";
m_dic[@"title"] = self.microAppTitle?:@"";
m_dic[@"desc"] = self.microAppDesc?:@"";
m_dic[@"startPageURL"] = self.microAppUrl?:@"";
// 小程序,在分享的视频右下角显示抖音小程序入口, 非必须属性
req.extraInfo = @{@"mpInfo" : m_dic.copy};

注意点: 使用小程序功能需要在开放平台内进行小程序绑定,链接 视频发布时会检查AppID和小程序ID的绑定关系,请确保您使用的小程序已经通过平台正确绑定。 如果您想接入小程序开发,请参考小程序开发

第五步:发送请求

在设置好分享需要带入的信息之后,通过-[DouyinOpenSDKShareRequest sendShareRequestWithCompleteBlock:]发送分享请求,结果将通过CompleteBlock进行回调

[req sendShareRequestWithCompleteBlock:^(DouyinOpenSDKShareResponse * _Nonnull respond) {

NSString *alertString = nil;

if (respond.isSucceed) {

// Share Succeed

} else{

// Share failed

}

}];

分享结果说明: 如果分享失败可通过respond.errCode获取错误码对应枚举值DouyinOpenSDKErrorCode 通过respond.errString会返回报错信息。

错误码对应表:

DouyinOpenSDKErrorCode
errorCode描述
DouyinOpenSDKSuccess
0成功
DouyinOpenSDKErrorCodeCommon
-1通用错误类型 <包括网络错误>
DouyinOpenSDKErrorCodeUserCanceled
-2用户手动取消
DouyinOpenSDKErrorCodeSendFailed-3发送失败
DouyinOpenSDKErrorCodeAuthDenied-4权限错误
DouyinOpenSDKErrorCodeUnsupported-5不支持

如果错误码不能方便你定位具体出错的问题,你可以通过 respond.shareState 进行错误定位。需要接入 SDK 2.0.8 以上版本

以下为 Share State 信息的对应关系

DouyinOpenSDKShareRespState
value描述
BDOpenPlatformShareRespStateSuccess20000分享成功
BDOpenPlatformShareRespStateUnknownError20001未知或者当前SDK版本未分类错误
BDOpenPlatformShareRespStateParamValidError20002参数解析错误,获取到的资源和传入的资源类型不一致
BDOpenPlatformShareRespStateSharePermissionDenied20003没有足够的权限进行操作,分享或授权之前请确认您的App有相关操作权限。可在 open.douyin.com 的管理中心查看你有哪些权限
BDOpenPlatformShareRespStateUserNotLogin20004用户未登录
BDOpenPlatformShareRespStateNotHavePhotoLibraryPermission20005抖音没有相册权限
BDOpenPlatformShareRespStateNetworkError20006抖音网络错误
BDOpenPlatformShareRespStateVideoTimeLimitError20007视频时长不符合限制
BDOpenPlatformShareRespStatePhotoResolutionError20008图片资源分辨率不符合限制
BDOpenPlatformShareRespTimeStampError20009时间戳检查失败
BDOpenPlatformShareRespStateHandleMediaError20010处理照片资源出错
BDOpenPlatformShareRespStateVideoResolutionError20011视频分辨率不符合限制
BDOpenPlatformShareRespStateVideoFormatError20012视频格式不支持
BDOpenPlatformShareRespStateCancel20013用户取消分享
BDOpenPlatformShareRespStateHaveUploadingTask20014用户有未完成编辑的发布内容
BDOpenPlatformShareRespStateSaveAsDraft20015用户将分享内容存储为了草稿或用户账号不允许发布视频
BDOpenPlatformShareRespStatePublishFailed20016发布视频失败
BDOpenPlatformShareRespStateMediaInIcloudError21001从 iCloud 同步资源出错
BDOpenPlatformShareRespStateParamsParsingError21002传递的参数处理错误
BDOpenPlatformShareRespStateGetMediaError21003获取资源错误资源可能不存在
诚邀您对本文档易读易用性进行评价
好用
不好用