giphy_get 3.1.0 icon indicating copy to clipboard operation
giphy_get: ^3.1.0 copied to clipboard

Pick EMOJI,STICKER or GIF from Giphy in pure dart code. Support Android,iOS,Web and Desktop.

giphy_get #

Flutter_Tests pub package pub package style: lint

Overview #

This package allow to get gifs, sticker or emojis from GIPHY in pure dart code using Giphy SDK design guidelines.

Inspiration #

Result #

Getting Started #

Important! you must register your app at Giphy Develepers and get your APIKEY

Localizations #

Currently english and spanish is supported.

return MaterialApp(
      title: 'Giphy Get Demo',
      localizationsDelegates: [
        // Default Delegates 
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,

        // Add this line 
        GiphyGetUILocalizations.delegate
      ],
      supportedLocales: [

        //Your supported languages
        Locale('en', ''),
        Locale('es', ''),
      ],
      home: MyHomePage(title: 'Giphy Get Demo'),
      themeMode: Provider.of<ThemeProvider>(context).currentTheme,
    );


Get only Gif #

This is for get gif without wrapper and tap to more

import 'package:giphy_get/giphy_get.dart';

GiphyGif gif = await GiphyGet.getGif(
  context: context, //Required
  apiKey: "your api key HERE", //Required.
  lang: GiphyLanguage.english, //Optional - Language for query.
  randomID: "abcd", // Optional - An ID/proxy for a specific user. 
  tabColor:Colors.teal, // Optional- default accent color.
);

Options #

ValueTypeDescriptionDefault
langStringUse ISO 639-1 language code or use GiphyLanguage constantsGiphyLanguage.english
randomIDStringAn ID/proxy for a specific user.null
searchTextStringInput search hint, we recomend use flutter_18n package for translation"Search GIPHY"
tabColorColorColor for tabs and loading progress,Theme.of(context).accentColor

Get Random ID #


GiphyClient giphyClient = GiphyClient(apiKey: "YOUR API KEY");
String randomId = await giphyClient.getRandomId();

Widgets #

Optional but this widget is required if you get more gif's of user or view on Giphy following Giphy Design guidelines

giphy

GiphyGifWidget #

Params | Value | Type | Description | Default | |---------------------------|--------------------------------------------------|-----------------|------------| | gif required | GiphyGif |GiphyGif object from stream or JSON | null |
|giphyGetWrapper required| GiphyGetWrapper |instance required for tap to more | null | | showGiphyLabel | boolean | show or hide Powered by GIPHYlabel at bottom | true| |borderRadius| BorderRadius ex: BorderRadius.circular(10)| add border radius to image | null| |imageAlignment| Alignment | this widget is a STACK with Image and tap buttons this property adjust alignment| Alignment.center|

GiphyGetWrapper #

Params | Value | Type | Description | Default | | ---------|-------------|--------------------|--------------- | | giphy_api_key required | String | Your Giphy API KEY | null | | builder| function | return Stream<GiphyGif> and Instance of GiphyGetWrapper | null |

Methods #

void getGif(String queryText,BuildContext context)

return GiphyGetWrapper(
    giphy_api_key: REPLACE_WITH YOUR_API_KEY, 
    // Builder with Stream<GiphyGif> and Instance of GiphyGetWrapper
    builder: (stream, giphyGetWrapper) => StreamBuilder<GiphyGif>(
      stream: stream,
      builder: (context, snapshot) {
        return Scaffold(
          body: snapshot.hasData
              ? SizedBox(
                // GiphyGifWidget with tap to more
                child: GiphyGifWidget(
                  imageAlignment: Alignment.center,
                  gif: snapshot.data,
                  giphyGetWrapper: giphyGetWrapper,
                  borderRadius: BorderRadius.circular(30),
                  showGiphyLabel: true,
                ),
              )
              : Text("No GIF"),
          floatingActionButton: FloatingActionButton(
            onPressed: () async {
              //Open Giphy Sheet
              giphyGetWrapper.getGif('', context);
            },
            tooltip: 'Open Sticker',
            child: Icon(Icons
                .insert_emoticon)),
        );
    })
      
    });

Example APP #

First export your giphy api key

export GIPHY_API_KEY=YOUR_GIPHY_API_KEY 

and ther run.

Contrib #

Feel free to make any PR's

64
likes
110
pub points
94%
popularity

Publisher

unverified uploader

Pick EMOJI,STICKER or GIF from Giphy in pure dart code. Support Android,iOS,Web and Desktop.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Icon for licenses.MIT (LICENSE)

Dependencies

extended_image, flutter, flutter_localizations, flutter_staggered_grid_view, http, meta, provider, url_launcher

More

Packages that depend on giphy_get