Giphy

Learn how to add a GIF keyboard to your app using Giphy

GIFs are a great way to change the tone or convey emotions in your conversations. Here is the guide which helps to implement Gifphy in an easy and quick way. Let's get started!

Before you begin:

  1. Sign up at Giphy
  2. On your Dashboard, create a new app.
  3. Select API and click on Next.
  4. Enter your App name, description and click create.
  5. Make note of the API key that has been created.

Settings

  1. Login to the CometChat Dashboard.
  2. Select one of your apps.
  3. On the Extensions page, enable Giphy.
  4. Click on the settings button and enter your Giphy API key and hit save.

How does it work?

This extension uses the callExtension method provided by the CometChat Pro SDK. You can perform the following actions using this method:

  1. Get trending GIFs
  2. Search for GIFs

Get Trending GIFs

To list and show the most trending GIFs on Giphy, all you have to do is include the following parameters in your request.

Key

Value

Description

offset

number

Since you can get paginated results for trending GIFs, you can provide an offset and fetch results accordingly

limit

number

The number of trending GIFs that you want to fetch

Once you have set the above parameters, you can make a call to the extension as follows:

const URL = "v1/trending?offset=1&limit=15";
CometChat.callExtension('gifs-giphy', 'GET', URL, null).then(response => {
    // GIFs data from Giphy
})
.catch(error => {
    // Error occured
});
String URL = "/v1/trending?offset=1&limit=15";

CometChat.callExtension("gifs-giphy", "GET", URL, null,
new CometChat.CallbackListener < JSONObject > () {
    @Override
    public void onSuccess(JSONObject jsonObject) {
        // GIFs data from Giphy
    }
    @Override
    public void onError(CometChatException e) {
        // Some error occured
    }
});
CometChat.callExtension(slug: "gifs-giphy", type: .get, endPoint: "/v1/trending?offset=10&limit=15", body: nil, onSuccess: { (response) in
        // GIFs data from Giphy
      }) { (error) in
        // Some error occured
      }
    }

Search for GIFs

Apart from listing the trending ones, the extension also allows searching for a particular GIF using the following parameters:

Key

Value

Description

offset

number

Since you can get paginated results for searches, you can provide an offset and fetch results accordingly.

limit

number

The number of GIFs that you want to fetch as part of the search.

lang

2-letter ISO 639-1 language identifier

(Optional) Defaults to en. (Example values: es, fr, it.)

query

string

Search term

Once you have all the above parameters, you can make a call to the extension as follows:

const URL = "v1/search?offset=1&limit=15&query=awesome";
CometChat.callExtension('gifs-giphy', 'GET', URL, null).then(response => {
    // GIFs data from Giphy
})
.catch(error => {
    // Error occured
});
String URL = "/v1/search?offset=1&limit=15&query=awesome";

CometChat.callExtension("gifs-giphy", "GET", URL, null,
new CometChat.CallbackListener < JSONObject > () {
    @Override
    public void onSuccess(JSONObject jsonObject) {
        // GIFs data from Giphy
    }
    @Override
    public void onError(CometChatException e) {
        // Some error occured
    }
});
CometChat.callExtension(slug: "gifs-giphy", type: .get, endPoint: "/v1/search?offset=10&limit=15&query=awesome", body: nil, onSuccess: { (response) in
        // GIFs data from Giphy
      }) { (error) in
        // Some error occured
      }
    }

Did this page help you?