douyin

您所在的位置:网站首页 抖音相册模版 douyin

douyin

2024-07-02 03:39| 来源: 网络整理| 查看: 265

抖音授权登录Flutter插件 # 功能 # 支持的API

注册抖音SDK

Future registerDouyinApp({required String apiKey});

授权登录

⚠️scopeKey多个类型需要用英文逗号隔开,如trial.whitelist,user_info

Future authorLogin({required String scopeKey});

监听授权登录回调

Stream respStream(); 使用

Android: 在项目的android目录中的build.gradle里添加抖音SDK的仓库地址

repositories { google() mavenCentral() maven { url 'https://artifact.bytedance.com/repository/AwemeOpenSDK' } }

iOS: 在项目的ios目录中的Podfile文件中导入抖音SDK

⚠️:需要注释掉use_frameworks!,因为抖音SDK有静态引用

pod 'DouyinOpenSDK' info.plist的Queried URL Schemes添加以下几个值 douyinopensdk douyinliteopensdk douyinsharesdk snssdk1128 TARGETS->Info->URL Types*中添加URL_Schemes为注册的抖音Client Key,用于处理授权登录后返回自己的App 项目的AppDelegate.swift添加回调监听 import UIKit import Flutter import DouyinOpenSDK @UIApplicationMain @objc class AppDelegate: FlutterAppDelegate, DouyinOpenSDKLogDelegate { override func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? ) -> Bool { DouyinOpenSDKApplicationDelegate.sharedInstance().logDelegate = self GeneratedPluginRegistrant.register(with: self) return super.application(application, didFinishLaunchingWithOptions: launchOptions) } override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { let result = DouyinOpenSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation] as? String) return result; } func onLog(_ logInfo: String) { NSLog("douyin log %@", logInfo) } } Example import 'dart:async'; import 'package:douyin/douyin.dart'; import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState(); } class _MyAppState extends State { String _initState = "none"; String _code = ""; final _douyinPlugin = Douyin(); @override void initState() { super.initState(); initPlatformState(); authorResultState(); } void authorResultState() { _douyinPlugin.respStream().listen((event) { setState(() { _code = event.authCode; }); }); } Future initPlatformState() async { String initState; initState = await _douyinPlugin.registerDouyinApp(apiKey: ''); if (!mounted) return; setState(() { _initState = initState; }); } @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: const Text('Plugin example app'), ), body: Column( children: [ Center( child: Text('Running on: $_initState\n----$_code'), ), Center( child: ElevatedButton( onPressed: () { _douyinPlugin.authorLogin( scopeKey: "trial.whitelist,user_info", ); }, child: const Text('授权登录')), ) ], ), ), ); } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3