# react-native-douyin **Repository Path**: ArtfulCoder/react-native-douyin ## Basic Information - **Project Name**: react-native-douyin - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-10 - **Last Updated**: 2024-07-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # react-native-douyin ## Getting started `$ npm install react-native-douyin --save` ### Mostly automatic installation `$ react-native link react-native-douyin` ### Manual installation #### iOS 1. pod 'react-native-douyin', :path => '../node_modules/react-native-douyin/react-native-douyin.podspec' 2. 为了保证可以正常唤起抖音短视频,在 info 标签栏的Custom iOS Target Properties中找到 LSApplicationQueriesSchemes 如果没有点击“+”添加一个并设置 Key 为LSApplicationQueriesSchemes, Value 类型为数组,将如下配置粘贴到数组中: ``` LSApplicationQueriesSchemes douyinopensdk douyinsharesdk snssdk1128 ``` 3. 配置你的App与抖音短视频通讯的 URLScheme,即申请到的appKey 4. 分享的图片通过相册进行跨进程共享手段,如需使用分享功能,还需要填相册访问权限,在 info 标签栏中添加 Privacy - Photo Library Usage Description,具体请参考抖音开平台。 5.初始化以及UIApplicationDelegate部分# 在AppDelegate中引入DouyinOpenSDKApplicationDelegate.h头文件 并在 App 启动、收到 Open URL 打开 App 时调用 SDK 进行处理 ``` #import @implementation AppDelegate - (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary *)options { if ([[DouyinOpenSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] annotation:options[UIApplicationOpenURLOptionsAnnotationKey]] ) { return YES; } return NO; } - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if ([[DouyinOpenSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]) { return YES; } return NO; } - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { if ([[DouyinOpenSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:nil annotation:nil]) { return YES; } return NO; } @end ``` #### Android 1. React Native 0.60以上会自动链接,其他请手动集成 2. 如遇sdk下载失败,在gradle文件中添加: ``` repositories { ... maven { url 'https://dl.bintray.com/aweme-open-sdk-team/public' } } ``` 3. 若您的应用的代码存在混淆,若在混淆的情况下存在不能吊起分享的情况,请在您的proguard文件中添加 -keep class com.bytedance.sdk.open.aweme.** 4.请确申请信息的准确性,如包名、md5等 ## Usage ```javascript import Douyin from 'react-native-douyin'; ``` #### init(appKey) 注册 - `appKey` {String} #### auth(scope,state) 注册 - `scope` {String} 请参考抖音开放平台,如'user_info' - `state` {String} 目前无用 成功的返回: | name | type | description | | ------- | ------ | ----------------------------------- | | authCode | String | code 抖音用户凭证 | #### shareVideo(path,isPublish) 注册 该方法目前不完善,后续完成 - `path` {String} 文件路径 - `isPublish` {Boolean} 是否直接进入发布 |