抖音的分享和授权(iOS)

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

准备工作

  • 注册appkey ( 抖音开放平台 )
  • 集成sharesdk( 下载地址 )
  • Xcode配置:urlScheme为注册的appkey, 白名单:douyinsharesdk ,douyinopensdk

业务代码

初始化

				#import
				
					[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
					//抖音
					[platformsRegister setupDouyinByAppKey:@"app_key" appSecret:@"app_secret"];
					}];
				
			

可以分享图片,相册图片,单个视频,多个视频

分享图片

				// 通用参数设置----图片分享可以使用相册地址、沙盒路径、网络图片地址
				NSString *imageURL = @"http://img.hb.aicdn.com/28a4962c297205e0868cdb45bb527e2bc5319f08f019-l7N1A3_fw658";
				NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
				[parameters SSDKSetupShareParamsByText:nil
				images:@[imageURL]
				url:nil
				title:nil
				type:SSDKContentTypeImage];
				[ShareSDK share:SSDKPlatformTypeDouyin parameters:shareParams onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
				if (state == SSDKResponseStateSuccess) {
				NSLog(@"成功!");
				}else{
				NSLog(@"%@",error);
				}
				}];
			
				// 通用参数设置----视频分享可以使用相册地址、沙盒路径,不支持网络视频,如果使用网络视频请先下载放到沙盒目录下或相册里
				NSString *videoPath = [[NSBundle mainBundle] pathForResource:@"cat" ofType:@"mp4"];
				NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
				[parameters SSDKSetupShareParamsByText:nil
				images:nil
				url:[NSURL URLWithString:videoPath]
				title:nil
				type:SSDKContentTypeVideo];
				[ShareSDK share:SSDKPlatformTypeDouyin parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
				if (state == SSDKResponseStateSuccess) {
				NSLog(@"成功!");
				}else{
				NSLog(@"%@",error);
				}
				}];
			
				// 平台定制----只能使用相册且使用相册标识localIdentifier
				__block NSMutableArray *assetLocalIds = [NSMutableArray array];
				__weak typeof(self) weakSelf = self;
				[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
				NSURL *url_1 = [[NSBundle mainBundle] URLForResource:@"cat" withExtension:@"mp4"];
				NSURL *url_2 = [[NSBundle mainBundle] URLForResource:@"cat" withExtension:@"mp4"];
				PHAssetChangeRequest *req_1 = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:url_1];
				NSString *localId_1 = req_1.placeholderForCreatedAsset.localIdentifier;
				[assetLocalIds addObject:localId_1];
				PHAssetChangeRequest *req_2 = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:url_2];
				NSString *localId_2 = req_2.placeholderForCreatedAsset.localIdentifier;
				[assetLocalIds addObject:localId_2];
				} completionHandler:^(BOOL success, NSError * _Nullable error) {
				if (success) {
				dispatch_async(dispatch_get_main_queue(), ^{
				NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
				[parameters SSDKSetupDouyinParamesByAssetLocalIds:assetLocalIds type:SSDKContentTypeVideo];
				[ShareSDK share:SSDKPlatformTypeDouyin parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
				if (state == SSDKResponseStateSuccess) {
				NSLog(@"成功!");
				}else{
				NSLog(@"%@",error);
				}
				}];
				});
				}
				}];
			
				[ShareSDK authorize:SSDKPlatformTypeDouyin settings:nil
				on
				StateChanged:^(SSDKResponseState
				state
				, SSDKUser *
				user
				, NSError *error) {
				if (
				state
				== SSDKResponseStateSuccess)
				{
				NSLog(@
				"%@"
				,[
				user
				.credential rawData]);
				NSLog(@
				"%@"
				,
				user
				.rawData);
				}
				else
				{
				NSLog(@
				"%@"
				,error);
				}
				}];
			

随意打赏

提交建议
微信扫一扫,分享给好友吧。