Tenor

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

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

Before you begin:

  1. Sign up at Tenor
  2. On your Dashboard, create a new app.
  3. Enter your App name, description and click create.
  4. 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 Tenor.
  4. Click on the Settings button, enter your Tenor 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 Tenor, 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-tenor', 'GET', URL, null).then(response => {
    // GIFs data from Tenor
})
.catch(error => {
    // Error occured
});
String URL = "/v1/trending?offset=1&limit=15";

CometChat.callExtension("gifs-tenor", "GET", URL, null,
new CometChat.CallbackListener < JSONObject > () {
    @Override
    public void onSuccess(JSONObject jsonObject) {
        // GIFs data from Tenor
    }
    @Override
    public void onError(CometChatException e) {
        // Some error occured
    }
});
CometChat.callExtension(slug: "gifs-tenor", type: .get, endPoint: "/v1/trending?offset=10&limit=15", body: nil, onSuccess: { (response) in
        // GIFs data from Tenor
      }) { (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-tenor', 'GET', URL, null).then(response => {
    // GIFs data from tenor
})
.catch(error => {
    // Error occured
});
String URL = "/v1/search?offset=1&limit=15&query=awesome";

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

Did this page help you?