Пакеты для индексирования приложений Firebase и наклейки Gboard: hasSticker против isPartOf против partOf
В этом примере кода индексации приложений Firebase для наклеек и наборов наклеек, кажется, есть два разных способа связать "Наклейку" с "Стикер-пакетом".
В методе 1 вы создаете StickerPack, а затем связываете стикеры с ним, вызывая put, используя ключ с именем hasSticker:
Способ № 1
new Indexable.Builder("StickerPack")
.setName("Snoopy Pack")
.setImage("content://sticker/pack/canonical/image")
// see: Support links to your app content section
.setUrl("http://sticker/pack/canonical/url/snoopy")
// Set the accessibility label for the sticker pack.
.setDescription("A sticker pack of Snoopy")
.put("hasSticker",
new Indexable.Builder("Sticker")
.setName("Hey")
.setImage("http://link/to/the/image/hey")
.setDescription("A Snoopy hey sticker.")
.build(),
new Indexable.Builder("Sticker")
.setName("Bye")
.setImage("http://link/to/the/image/bye")
.setDescription("A Snoopy bye sticker.")
.build())
.build());
В методе 2 вы создаете стикер и затем связываете с ним стикер-пакет, вызывая put с помощью ключа с именем "isPartOf":
Способ № 2
new Indexable.Builder("Sticker")
.setName("Hey")
.setImage("http://www.snoopysticker.com?id=1234")
// see: Support links to your app content section
.setUrl("http://sticker/canonical/image/hey")
// Set the accessibility label for the sticker.
.setDescription("A sticker for hi")
// Add search keywords.
.put("keywords", "hey", "snoopy", "hi", "hello")
.put("isPartOf",
new Indexable.Builder("StickerPack")
.setName("Snoopy Pack"))
.build())
.build()),
Чтобы запутаться, в этом официальном быстром запуске Google Firebase для индексации приложений на github они сталкиваются с некоторыми трудностями, используя методы hasSticker и isPartOf. И чтобы сделать его более интересным, "isPartOf" изменил свое имя на "partOf":
indexableStickerBuilder.put("keywords", "tag1_" + i, "tag2_" + i)
// StickerPack object that the sticker is part of.
.put("partOf", new Indexable.Builder("StickerPack")
.setName(CONTENT_PROVIDER_STICKER_PACK_NAME)
.build());
Есть ли какая-либо польза от использования hasSticker и isPartOf при определении стикера и его связи с StickerPack - или только один из них достаточно хорош?
И что является правильным: "partOf" или "isPartOf" - или оба являются правильными?