Etkileşimli Tuval İşleminize aşağıdaki geri çağırmaları uygulayabilirsiniz:
onUpdate()
onUpdate()
Geri çağırma, güncellemek için webhook'unuzdan web uygulamanıza veri iletir
web uygulamasını uygun şekilde yükleyin. Bu geri çağırmayı yalnızca sunucu tarafı ile
Interactive Canvas geliştirmesinin sipariş karşılama modeli.
onUpdate()
hakkında daha fazla bilgi için bkz.
Web uygulamasını güncellemek için verileri iletin.
onTtsMark()
onTtsMark()
geri çağırma, özel <mark>
etiketleri
Konuşma Sentezi Biçimlendirme Dili (SSML)
metin okuma (TTS) sırasında kullanıcıya sesli olarak okunur. Şunları yapabilirsiniz:
onTtsMark()
öğesini hem sunucu tarafı hem de istemci tarafı sipariş karşılama geliştirmede kullanma
modeller.
Aşağıdaki snippet'lerde onTtsMark()
, web uygulamasının animasyonunu senkronize eder
karşılık gelen TTS çıkışıyla değiştirin. İşlem, kullanıcıya "Maalesef
"kaybettiniz" demek yerine web uygulaması doğru kelimeyi yazıyor ve harfleri
gösterir.
Aşağıdaki örnekte revealWord
adlı webhook işleyicisi,
Oyunu kaybettiğinde kullanıcıya verilecek yanıtta işaretini kaldırın:
JavaScript
… app.handle('revealWord', conv => { conv.add(new Simple(`<speak>Sorry, you lost.<mark name="REVEAL_WORD"/> The word is ${conv.session.params.word}.</speak>`)); conv.add(new Canvas()); }); …
Daha sonra aşağıdaki kod snippet'i onTtsMark()
geri çağırmasını kaydeder ve
işaretinin adını belirtir ve güncellenen revealCorrectWord()
işlevini yürütür.
web uygulaması:
JavaScript
… setCallbacks() { // declare Assistant Canvas Action callbacks const callbacks = { onTtsMark(markName) { if (markName === 'REVEAL_WORD') { // display the correct word to the user that.revealCorrectWord(); } }, } callbacks.onUpdate.bind(this); } …
onInputStatusChanged()
Giriş durumu değiştiğinde onInputStatusChanged()
geri çağırması sizi bilgilendirir.
etkileşimli Tuval İşleminizde kullanabilirsiniz. Giriş durumu değişiklikleri,
Mikrofon açılıp kapanırken veya Asistan bir sorguyu işlerken. İlgili içeriği oluşturmak için kullanılan
Aşağıdaki olaylar giriş durumunun değişmesine neden olabilir:
- İşleminizle konuşan kullanıcı
- Android Google Arama uygulamasına (AGSA) metin giren kullanıcı
- Action'a metin sorgusu göndermek için
sendTextQuery()
API'yi kullanan web uygulaması - Ev depolama alanına yazma ve diğer Asistan etkinlikleri
Bu geri çağırmanın birincil kullanım alanı, İşleminizi kullanıcının sesli etkileşimleri. Örneğin, kullanıcı etkileşimli bir oyun oynuyorsa Canvas oyununu açıp mikrofonu açar. Kullanıcı çalışırken oyunu duraklatabilirsiniz. konuşur. Metin sorgusu göndermek için mikrofon açılana kadar bekleyebilirsiniz. Asistan'ı kullanarak mesajı alın.
Bu API aşağıdaki durumları bildirir:
LISTENING
- Mikrofonun açık olduğunu belirtir.IDLE
- Mikrofonun kapalı olduğunu belirtir.PROCESSING
- Asistan'ın şu anda bir sorguyu yürüttüğünü gösterir ve mikrofon kapalıdır.
API, durum her değiştiğinde giriş durumunu İşleminize bildirir.
Durumlar arasında herhangi bir geçiş mümkündür, ancak aşağıdaki akışlar yaygındır:
IDLE
>LISTENING
>PROCESSING
>IDLE
- Kullanıcı bir sorgu söyler, işleme alınır ve mikrofon kapatılır.IDLE
>PROCESSING
>IDLE
- Web uygulamasısendTextQuery()
API'yi kullanır ifadesini kullanabilirsiniz.IDLE
>LISTENING
>IDLE
- Kullanıcı mikrofonu açar ancak açmaz bir sorgu söyleyin.
Bu özelliği işleminizde kullanmak için web uygulamanıza onInputStatusChanged()
ekleyin
aşağıdaki kodda gösterildiği gibi:
onInputStatusChanged(inputStatus) {
console.log("The new input status is: ", inputStatus);
}
onInputStatusChanged()
geri çağırması, tek bir enum parametresi iletir.
inputStatus
. Geçerli giriş durumunu görmek için bu değeri kontrol edebilirsiniz. İlgili içeriği oluşturmak için kullanılan
inputStatus
; LISTENING
, PROCESSING
veya IDLE
olabilir.
Sonra, onInputStatusChanged()
öğesini callbacks
nesnesine ekleyerek kaydedin.
aşağıdaki snippet'te gösterilmiştir:
/**
* Register all callbacks used by the Interactive Canvas Action
* executed during game creation time.
*/
setCallbacks() {
const that = this;
// Declare the Interactive Canvas action callbacks.
const callbacks = {
onUpdate(data) {
console.log('Received data', data);
},
onInputStatusChanged(inputStatus) {
console.log("The new input status is: ", inputStatus);
},
};
// Called by the Interactive Canvas web app once web app has loaded to
// register callbacks.
this.canvas.ready(callbacks);
}
}