Orientação gerada a partir de informações públicas. Apenas para referência.
Um pacote Dart puro que fornece um wrapper para conectar-se à API do Twitch.tv usando autenticação implícita OAuth. Ele simplifica a integração com os serviços do Twitch, permitindo que desenvolvedores autentiquem usuários e acessem dados públicos como transmissões, canais e informações de usuário. O pacote suporta múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux, tornando-o ideal para aplicações multiplataforma. Projetado para facilitar o uso, ele gerencia as complexidades dos fluxos OAuth mantendo segurança e compatibilidade com os padrões atuais de autenticação do Twitch.
Casos de uso
Integrando funcionalidade de login do Twitch
Buscando dados de transmissão ao vivo
Acessando informações de usuário e canal
Construindo aplicativos sociais baseados no Twitch
Criando painéis para streamers
Principais recursos
Autenticação implícita OAuth
Suporte multiplataforma
Implementação pura em Dart
Interface de API simples
Manipulação segura de token
Indicado para
Aplicativos Flutter que precisam de integração com o Twitch
Ferramentas de monitoramento de fluxo
Plataformas da comunidade Twitch
Ferramentas de desenvolvimento para conteúdo do Twitch
Aplicações multiplataforma
Considerações
Requer registro adequado do aplicativo Twitch
Limitado ao fluxo implícito OAuth
Dependente dos limites de taxa da API do Twitch
Requer manipulação cuidadosa de tokens de atualização
Não adequado para operações do lado do servidor
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
twitch_api
A wrapper in pure Dart to connect to Twitch.tv using OAuth implicit authentication.
NOTE: This package is in its early stage, please be patient until more methods are implemented or do not hesitate to open a merge request if you added support for an endpoint. Currently I do not have a roadmap of the endpoint I am going to add in priority so do not hesitate to open an issue to make suggestions depending of your needs.
To use this package you will need to register an application on the Twitch developer console to get a client ID.
After registering your application you will need to instantiate the TwitchClient class from the package with your clientId and your redirectUri .
import'package:twitch_api/twitch_api.dart';
final _twitchClient = TwitchClient(
clientId: clientId,
redirectUri: redirectUri,
);
Now that you have initialized the client the last step before using the method will be to manage the first connection with your twitch account and initialize the token you will receive. You can find a complete example of an implementation using the package flutter_webview_plugin.
const clientId = "<YOUR_CLIENT_ID>";
const redirectUri = "<YOUR_REDIRECT_URL>"; // ex: "http://localhost/"final _twitchClient = TwitchClient(
clientId: clientId,
redirectUri: redirectUri,
);
final _flutterWebviewPlugin = FlutterWebviewPlugin();
// First authentication through a webviewFuture<TwitchToken> _openConnectionPage({
List<TwitchApiScope> scopes = const [],
}) {
// Listen for url changes to detect redirection on our redirectUri.
_flutterWebviewPlugin.onUrlChanged.listen((url) {
if (url.startsWith(_twitchClient.redirectUri)) {
// After you got to your redirectUri you can initialize the token.
_twitchClient.initializeToken(TwitchToken.fromUrl(url));
// Close the webview
_flutterWebviewPlugin.close();
}
});
// When the webview is closed pop the current route.
_flutterWebviewPlugin.onDestroy.listen((_) => Navigator.pop(context));
// Get authorization URL for the connection with the webview.final _url = _twitchClient.authorizeUri(scopes);
returnNavigator.push(
context,
MaterialPageRoute(
builder: (context) => WebViewPage(_url.toString()),
),
).then((_) => _twitchClient.twitchHttpClient.validateToken());
}
Now you are ready to use the methods implemented in Supported Endpoints section.
Supported Endpoints
Ads
[x] Start Commercial
Analytics
[x] Get Extension Analytics
[x] Get Game Analytics (Documentation in progress)