<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Flutter將視頻或圖文分享到抖音

      如何在 Flutter 中分享視頻到抖音

      話不多說,先上效果:

      原理

      發布內容至抖音 H5 場景_移動/網站應用_抖音開放平臺 (open-douyin.com)

      • 本教程沒有接入抖音原生 SDK 以及任何第三方插件,使用抖音的 h5 分享接口配合 url_launcher 插件實現跳轉至抖音分享頁面
      • 需要分享的資源需要被部署在可被公開訪問的服務器上,調用抖音的 h5 分享接口需提供被分享資源的 url
      • 需在自己的服務端進行簽名計算,并將結果返回給前端,以供調用抖音的 api

      步驟

      1. 抖音開放平臺注冊 app,拿到 client_keyclient_secret
      2. 生成 client_token
      3. 獲取 open_ticket
      4. 在服務端計算簽名
      5. 將需要的參數返回給前端
      6. Flutter 拿到從服務端獲取的參數 + 視頻/圖文鏈接 拉起抖音 App 分享

      前端實現

      服務端計算簽名的部分就不多說了,大家根據官網的教程來就好,返回給前端的數據結構類似這樣的:

      {
      // 服務端設置的 用于計算簽名的 隨機字符串
      "nonceStr": "ae86",
      // 簽名
      "signature": "665f1211738c4f348d093535e2ef93ac",
      // 秒級時間戳
      "timestamp": "1717054967",
      // 分享類型 默認 h5
      "shareType": "h5",
      "clientKey": "ztfqxgipi39ko49q"
      }
      

      前端生成 分享 schema,并調起分享代碼:

        Future<void> douyinShare({
          // 圖片列表
          List<String> images = const [],
          // 視頻 url
          String? videoUrl = "",
          // 自定義標簽
          List<String> tagList = const [],
          // 標題
          required String title,
        }) async {
          Response response = await dio.get('/<獲取簽名接口>');
      
          final Map<String, dynamic> param = {
            'title': title,
            'client_key': response.data['clientKey'],
            'nonce_str': response.data['nonceStr'],
            'signature': response.data['signature'],
            'timestamp': response.data['timestamp'],
            'share_type': response.data['h5'],
            // 1-直接跳轉到發布頁 0-跳轉到編輯頁
            'share_to_publish': '1',
          };
      
          // 標簽
          param['hashtag_list'] = json.encode(['自定義標簽', '自定義標簽2', ...tagList]);
      
          // 向 param 中添加圖片或視頻
          if (images.isNotEmpty) {
            if (images.length > 1) {
              param['image_list_path'] = json.encode(images);
            } else {
              param['image_path'] = images.first;
            }
          } else if (videoUrl != "") {
            param['video_path'] = videoUrl;
          } else {
            // error handle
          }
      
          // 固定寫法
          final Uri url = Uri(
            scheme: 'snssdk1128',
            host: 'openplatform',
            path: 'share',
            queryParameters: param,
          );
      
          if (await canLaunchUrl(url)) {
            await launchUrl(url);
          }
        }
      

      上述代碼只展示了核心邏輯,至于具體的實現就請各位自行決斷,例如 錯誤處理Util 工具類單例模式 等等...

      IOS 需要添加應用白名單

      抖音的 ApplicationQueriesScheme 為: snssdk1128

      ios/info.plist 文件中加入

      <key>LSApplicationQueriesSchemes</key>
      <array>
      	<string>snssdk1128</string> <!-- 抖音 -->
      	...
      </array>
      

      posted @ 2024-05-31 10:13  HuStoking  閱讀(591)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 在线观看成人年视频免费| 国产办公室秘书无码精品99| 2021国产精品视频网站| 日韩AV高清在线看片| 不卡乱辈伦在线看中文字幕| 99久久婷婷国产综合精品青草漫画 | 国产午精品午夜福利757视频播放| 狠狠色丁香婷婷综合| 国产又色又爽又黄的网站免费| 亚洲国产一区二区三区亚瑟| 天堂久久久久VA久久久久| 国产精品久久久久久人妻精品| 国产一区二区三区禁18| 新久久国产色av免费看| 秋霞电影网| 久久久国产成人一区二区| 熟女熟妇乱女乱妇综合网| 久草国产视频| 久久亚洲精品情侣| 成人一区二区人妻不卡视频| 欧美日韩精品一区二区视频| 国产综合久久久久鬼色| 成人无码一区二区三区网站| 国产综合精品91老熟女| 日本久久久www成人免费毛片丨 | 极品美女自拍偷精品视频| 亚洲AⅤ天堂AV天堂无码| 超碰成人人人做人人爽| 国产精品va无码一区二区| 老熟妇乱子交视频一区| 亚洲欧美日韩愉拍自拍美利坚| 一亚洲一区二区中文字幕| 波多野结系列18部无码观看AV| 97久久超碰国产精品2021| 国产国产久热这里只有精品| 日韩中文字幕av有码| 精品无码av无码专区| 亚洲欧美日韩综合一区二区| 人妻中文字幕亚洲一区| 乌克兰美女浓毛bbw| 国产美女午夜福利视频|