Posted by Alan Ni, Associate Product Manager, Gboard
Messaging is getting more and more expressive — today you can say I love you
with an emoji, a gif, or a sticker. Millions of users share expressive content
every day on Android devices using Gboard as their default keyboard. We want to
push expression even further by allowing developers to create their own
stickers for Gboard. Some of our early partners include Bitmoji, Disney, and
even our own Allo team. Once published, your stickers could be seen and shared
by millions of users around the world.
Using the Firebase App
Indexing API, you’ll be able index any sticker assets you create, publish
your app to the Play Store, and get featured in the Gboard
Sticker collection. Once a user downloads your sticker pack from the Play
store, they’ll be able to send those stickers directly from their keyboard in
any Android app that supports image insertion!
Getting Started with Stickers
To kick things off, you’ll need to add the Firebase App Indexing library. Visit
Getting Started Guide for details. Once
you’ve set up Firebase App Indexing, read through our sticker
guide to learn how to index those stickers. Next, create your sticker
You should build and index stickers on first run after update or install to
minimize the lag between a user installing the app and seeing the stickers in
Gboard. Our sample
app should give an idea of the end-to-end flow.
Making your Stickers Searchable
Users often look for stickers via searching on keywords. That means you’ll want
to add appropriate keywords to allow users to find your stickers and you can
use the put method to add keywords. In the code snippet below, you’ll see that
a Snoopy sticker is tagged with the keywords: “bye”, “snoopy”, “see ya”, and
new Indexable.Builder("Sticker") .setName("Bye") // add url for sticker asset .setImage("http://www.snoopysticker.com?id=1234") // see: Support links to your app content section .setUrl("http://sticker/canonical/image/bye") // Set the accessibility label for the sticker. .setDescription("A sticker for Bye") // Add search keywords. .put("keywords", "bye", "snoopy", "see ya", "good bye") .put("isPartOf", new Indexable.Builder("StickerPack") .setName("Snoopy Pack") .build()) .build())};
For larger sticker packs, you’ll want to make sure you’ve tagged stickers with
keywords so that they’re easier for users to find. We’ve come up with a list of
English phrases/keywords you can use to tag your stickers. But don’t forget
to internationalize your stickers — to do this you’ll want to first detect the
device language and then index keywords that correspond to that language.
Get Featured in the Sticker Collection
Finally, share your stickers with the world! To be featured in our Sticker
Collection on the Play Store, fill out this form.
But first, make sure to thoroughly test the sticker pack using the
latest build of Gboard,
If your app has high-quality stickers and is working well with Gboard, we’ll add
it to our sticker collection; this is the best way to get it seen by millions of
We’re really excited to see what sticker packs you’re able to build.
Android Developers Blog