tenor_flutter 0.0.5 tenor_flutter: ^0.0.5 copied to clipboard
An opinionated yet customizable Flutter package for searching and selecting from a list of GIFs/Stickers from the Tenor GIF search API.
Tenor Flutter #
This package integrates Tenor GIF search into Flutter by utilizing the tenor_dart package to communicate directly with the Tenor API V2 via http.
The package currently provides an opinionated yet customizable UI experience for searching and selecting from a list of GIFs/Stickers from the Tenor GIF search API.
Show some ❤️ and star the repo to support this package.
What to know #
- In order to start using Tenor Flutter you must obtain an API key by registering your project with Tenor.
- Tenor requires proper attribution for projects using their API. This package enables "Powered By Tenor" and "Search Tenor" by default. You are only required to have one.
Obtaining Tenor API v2 key #
- Log in to the Google Cloud Console
- Create a new project
- Go to the Google Cloud Marketplace and find the Tenor API
- Click
Enable
to activate it - In the navigation menu, go to the
APIs & Services
tab and select Credentials - Click
+ Create Credentials
and chooseAPI key
- Copy the generated API key
- Provide this API key as a parameter to
Tenor(apiKey: 'YOUR_API_KEY')
Usage #
Installation #
flutter pub add tenor_flutter
Having trouble? Read the pub.dev installation page.
Import #
Import the package into the dart file where it will be used:
import 'package:tenor_flutter/tenor_flutter.dart';
Initialize #
You must pass in a valid apiKey
provided by Tenor. It's strongly recommended to also pass in a clientKey
as this will help you distinguish which project is making the requests.
final tenorClient = Tenor(apiKey: 'YOUR_API_KEY', clientKey: 'YOUR_PROJECT_NAME');
Example #
For more elaborate examples feel free to check out example/lib/main.dart.
Here's how to display the UI as a bottom sheet and then print the user's selection. If null
is returned, it means the user closed the sheet without choosing a GIF.
final tenorClient = Tenor(apiKey: 'YOUR_API_KEY', clientKey: 'YOUR_PROJECT_NAME');
final TenorResult? result = await tenorClient.showAsBottomSheet(context: context);
print(result?.media.tinyGif?.url);
Don't need the UI? #
If you're seeking a solution that allows for full customization without the need of dependencies then consider Tenor Dart.
Sponsors #
Flyclops is a independent mobile games studio specializing in casual multi-player games, both asynchronous turn-based, and real-time. Flyclops’s games have been played by millions across the globe. |
Domino! is super addictive, fast-paced, multiplayer dominoes done right for iOS and Android. This easy-to-learn but impossible-to-master strategy game is beautifully designed and endlessly entertaining! |
What's next? #
- Documentation
- Tests (Contributions welcome) ^_^
- Further improvements
Contributing #
If you read this far then you are awesome! There are a multiple ways in which you can contribute:
- Pick up any issue marked with "good first issue"
- Propose any feature, enhancement
- Report a bug
- Fix a bug
- Write and improve some documentation
- Send in a Pull Request 🙏