抖音的分享和受权(iOS)

准备工做网络

注册appkey (抖音开放平台)app

集成sharesdk(下载地址)async

Xcode配置:urlScheme为注册的appkey, 白名单:douyinsharesdk ,douyinopensdkide

业务代码url

初始化spa

#import <ShareSDK/ShareSDK.h>code

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

分享cdn

能够分享图片,相册图片,单个视频,多个视频视频

分享图片

// 通用参数设置----图片分享可使用相册地址、沙盒路径、网络图片地址

NSString *imageURL = @"img.hb.aicdn.com/28a4962c297…"; 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 onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) { if (state == SSDKResponseStateSuccess) { NSLog(@"%@",[user.credential rawData]); NSLog(@"%@",user.rawData);

}
    else
    {
        NSLog(@"%@",error);
    }
}];复制代码
相关文章
相关标签/搜索