משחק תרגול איות באמצעות Google Assistant ו-Cloud Firestore

1. סקירה כללית

פלטפורמת המפתחים של Google Assistant מאפשרת לך ליצור תוכנה להרחבת הפונקציונליות של Google Assistant, עוזרת אישית וירטואלית, על פני יותר ממיליארד מכשירים, כולל רמקולים חכמים, טלפונים, מכוניות, טלוויזיות, אוזניות ועוד. משתמשים מערבים את ה-Assistant בשיחה כדי לבצע דברים, כמו קניית מצרכים או הזמנת נסיעה. כמפתחים, אתה יכול להשתמש בפלטפורמת המפתחים של Assistant כדי ליצור ולנהל בקלות חוויות שיחה מענגות ואפקטיביות בין משתמשים לבין שירות הגשמה של צד שלישי משלך.

מעבדת קוד זה מכסה מושגים ברמה בינונית לפיתוח עם Google Assistant, Cloud Functions ו-Cloud Firestore. במעבדת הקוד הזה, תבנה משחק בשם "תרגול איות" שמשתמש ב-Google Assistant כדי לבקש ממשתמשים לאיית מילים.

מה שתבנה

בקוד מעבד זה, תבנה משחק מתוחכם עם הפונקציונליות הבאה:

  • מקבל תגובות איות מהמשתמש, ובהתאם לערך, משנה את הנחיות השיחה
  • מגיב עם רמזים הקשורים לאיית המילה, כמו ההגדרה שלה או חזרה על המילה
  • יוצר לולאת משחק כדי שמשתמש יוכל ליצור אינטראקציה עם ה-Assistant שוב לאחר איות המילה

לפני שתתחיל לבנות, תוכל ליצור אינטראקציה עם ה- Action בשידור חי במכשיר התומך ב-Google Assistant על ידי אמירת "Hey Google, talk to Spelling Practice". נתיב ברירת המחדל דרך פעולה זו עבור משתמש חוזר נראה כמו האינטראקציה הבאה:

לאחר שתסיים את מעבדת הקוד הזה, הפעולה שהושלמת תהיה זרימת השיחה הבאה:

2e9f94dc0ceafc96.png

מה תלמד

  • כיצד ליצור אינטראקציה עם Cloud Firestore
  • כיצד להשתמש בחריצים כדי לאסוף נתונים מהמשתמש
  • כיצד לעבד קלט של משתמש ולהחזיר תגובה
  • כיצד להשתמש בתנאים כדי להוסיף היגיון לסצנה
  • כיצד להוסיף לולאת משחק

מה אתה צריך

התנאים המוקדמים למעבדת קוד זה כוללים את הדברים הבאים:

  • דפדפן אינטרנט, כגון Google Chrome
  • IDE לכתיבת פונקציות ענן.
  • אמצעי תשלום. מעבדת קוד זה משתמשת ב-Cloud Functions for Firebase המחייבת שהפרויקט שלך יהיה בתוכנית התמחור Firebase Blaze ( למידע נוסף ).
  • מסוף להפעלת פקודות מעטפת
  • Node.js 10 ואילך

2. קבל את קוד הפונקציות

שכבו את מאגר GitHub משורת הפקודה:

$ git clone https://github.com/FirebaseExtended/codelab-actions-firestore

3. צור פרויקט Firebase והגדר את האפליקציה שלך

צור פרויקט Firebase

  1. היכנס ל- Firebase .
  2. במסוף Firebase, לחץ על הוסף פרויקט (או צור פרויקט ), ולאחר מכן תן שם לפרויקט Firebase שלך Spelling-Practice .

66ae8d1894f4477.png

  1. לחץ על אפשרויות יצירת הפרויקט. קבל את תנאי Firebase אם תתבקש. דלג על הגדרת Google Analytics, כי לא תשתמש ב-Analytics עבור האפליקציה הזו.

למידע נוסף על פרויקטים של Firebase, ראה הבנת פרויקטי Firebase .

שדרג לתוכנית התמחור של Blaze

כדי להשתמש ב-Cloud Functions עבור Firebase, תצטרך לשדרג את פרויקט Firebase שלך ​​לתוכנית התמחור Blaze , כלומר תצרף חשבון Google Cloud Billing לפרויקט שלך. זה מחייב אותך לספק כרטיס אשראי או אמצעי תשלום אחר.

לכל הפרויקטים של Firebase, כולל אלה בתוכנית Blaze, עדיין יש גישה למכסות השימוש ללא עלות עבור פונקציות ענן. השלבים המתוארים ב-codelab זה ייפלו במסגרת מגבלות השימוש ללא עלות. עם זאת, תראה חיובים קטנים ( כ-$0.03 ) מ-Cloud Storage, המשמש לארח תמונות בניית פונקציות הענן שלך.

4. התקן את Firebase CLI

Firebase CLI (ממשק שורת פקודה) מאפשר לך לפרוס את פונקציות הענן שלך.

ישנן מספר אפשרויות להתקנת Firebase CLI בהתאם למערכת ההפעלה ולמקרה השימוש שלך. השלבים הבאים מתארים את האפשרות הנפוצה ביותר אם אתה משתמש גם בפונקציות ענן.

  1. ודא שהתקנת את npm שמגיע בדרך כלל עם Node.js .
  2. התקן או שדרג את ה-CLI על ידי הפעלת הפקודה npm הבאה:
$ npm -g install firebase-tools
  1. ודא שה-CLI הותקן כהלכה על ידי הפעלת:
$ firebase --version

ודא שהגרסה של Firebase CLI היא 9.0.0 ואילך, כך שיש לה את כל התכונות העדכניות ביותר הנדרשות עבור פונקציות ענן. אם לא, הפעל את npm install -g firebase-tools כדי לשדרג כפי שמוצג לעיל.

  1. אשר את Firebase CLI על ידי הפעלת:
$ firebase login
  1. מתוך ספריית spelling-functions-start, הגדר את Firebase CLI לשימוש בפרויקט Firebase שלך. הפעל את הפקודה הבאה, בחר את מזהה הפרויקט שלך ולאחר מכן פעל לפי ההוראות. כאשר תתבקש, אתה יכול לבחור כל כינוי, כגון codelab , למשל.
$ firebase use --add

5. ספריית הפונקציות

כעת תוסיף פונקציונליות באמצעות Firebase SDK for Cloud Functions כדי לבנות את הקצה העורפי למשחק, Spelling Practice .

Cloud Functions מאפשר לך לקבל קוד שפועל בענן ללא צורך בהגדרת שרת. מעבד קוד זה יראה לך כיצד לבנות פונקציות המגיבות לאימות Firebase, אחסון בענן ואירועי מסד נתונים של Firebase בזמן אמת. נתחיל עם אימות.

בעת שימוש ב-Firebase SDK עבור פונקציות ענן, קוד הפונקציות שלך יופיע תחת ספריית functions (כברירת מחדל). כדי להקל עליך, כבר יצרנו את הקובץ functions/index.js שבו הקוד שלך יגיע. אל תהסס לבדוק את ספריית functions לפני שתתקדם.

$ cd functions
$ ls

קוד הפונקציות שלך הוא גם אפליקציית Node.js , ולכן זקוק ל- package.json שנותן קצת מידע על האפליקציה שלך ומפרט את התלות.

אם אינך מכיר את Node.js , זה יעזור לך ללמוד עוד על זה לפני שתמשיך ב-codelab.

הקובץ package.json כבר מפרט שתי תלות נדרשות: Firebase SDK for Cloud Functions ו- Firebase Admin SDK . כדי להתקין אותם באופן מקומי, הפעל את npm install מספריית functions :

$ npm install

כעת נסקור את הקובץ index.js :

index.js

/**
 * Copyright 2021 Google Inc. All Rights Reserved.
 * ...
 */
// TODO(DEVELOPER): Import the Cloud Functions for Firebase and Firebase Admin modules here. Also import the Actions SDK here.
// TODO(DEVELOPER): Write the getWordDetailsFromDictionaryAPI function here.
// TODO(DEVELOPER): Write the createSpellingPracticeWord function here.
// TODO(DEVELOPER): Write the app Handle getSpellingWordList function here.
// TODO(DEVELOPER): Write the app Handle getSpellingWord function here.
// TODO(DEVELOPER): Write the app Handle repeatSpellingWord function here.
// TODO(DEVELOPER): Write the app Handle definitionOfSpellingWord function here.
// TODO(DEVELOPER): Write the app Handle verifySpellingWord function here.

תחילה תייבא את המודולים הנדרשים, ולאחר מכן תכתוב ארבע פונקציות במקום ה-TODOs. המשך לשלב הבא של מעבדת הקוד כדי לייבא את המודולים.

6. ייבא את המודולים הדרושים

מעבד קוד זה דורש שלושה מודולים.

  • מודול firebase-functions מאפשר לנו לכתוב את הטריגרים עבור פונקציות הענן שלנו
  • מודול firebase-admin מאפשר לנו להשתמש בפלטפורמת Firebase בשרת עם גישת מנהל, למשל כדי לכתוב ל-Cloud Firestore.
  • ספריית ההגשמה של Actions SDK Node.js ממלאת את המטפלים של Actions SDK עבור Google Assistant.
  1. התקן את Actions SDK על ידי הפעלת הפקודה npm הבאה:
$ npm install @assistant/conversation
  1. בקובץ index.js , החלף את ה-TODO הראשון בקובץ הבא.

שינויים אלה מייבאים כל אחד מהמודולים הנדרשים.

כמו כן, ניתן להגדיר את Firebase Admin SDK באופן אוטומטי בעת פריסה בסביבת Cloud Functions או מיכל אחר של Google Cloud. זה מה שקורה כשאנחנו קוראים ל- admin.initializeApp(); בשינויים למטה.

index.js

/**
 * Copyright 2021 Google Inc. All Rights Reserved.
 * ...
 */

// Import the Actions SDK
const {conversation} = require('@assistant/conversation');
const https = require('https');
const app = conversation();
const cors = require('cors')({origin: true});

// Import the Firebase SDK for Cloud Functions.
const functions = require('firebase-functions');
// Import and initialize the Firebase Admin SDK.
const admin = require('firebase-admin');
admin.initializeApp();
// To access Cloud Firestore
const db = admin.firestore();
// TODO(DEVELOPER): Write the getWordDetailsFromDictionaryAPI function here.
// TODO(DEVELOPER): Write the createSpellingPracticeWord function here.
// TODO(DEVELOPER): Write the shuffleWordList function here.
// TODO(DEVELOPER): Write the app Handle getSpellingWordList function here.
// TODO(DEVELOPER): Write the app Handle getSpellingWord function here.
// TODO(DEVELOPER): Write the app Handle repeatSpellingWord function here.
// TODO(DEVELOPER): Write the app Handle definitionOfSpellingWord function here.
// TODO(DEVELOPER): Write the app Handle verifySpellingWord function here.

עכשיו בואו נוסיף היגיון עסקי באמצעות פונקציות לתמיכה בפעולות עוזר.

7. צור פונקציות

קבל את הגדרות המילה וכתוב אותן ל-Cloud Firestore

תשתמש ב-API הציבורי dictionaryapi.dev כדי לקבל את הגדרות המילה.

בקובץ index.js , החלף את ה-TODO עבור getWordDetailsFromDictionaryAPI בקובץ הבא:

index.js

// Retrieves word definition and audio pronunciation from api.dictionaryapi.dev service
// Function uses service provided by https://dictionaryapi.dev/
async function getWordDetailsFromDictionaryAPI(word) {
  let responseData="";
  let req = https.request({
    host: 'api.dictionaryapi.dev',
    port: 443,
    path:'/api/v2/entries/en/' + word,
    method:'GET'
  }, (res) => {
    res.setEncoding('utf8');
    res.on('data', d => {
        responseData+=d;
    })
    res.on('end',function(){
        let object = JSON.parse(responseData)
        const wordListRef = db.collection('wordlist');
        wordListRef.doc(object[0].word).set(
          object[0]
        );
       return responseData;
     });
  });
  req.end();
}

הוסף טריגר של Cloud Firestore

לאחר מכן, תיצור פונקציית ענן המופעלת בכל פעם שנוצר מסמך חדש ב-Cloud Firestore. זה יקרא ל-API dictionaryapi.dev כדי לקבל הגדרות מילים באמצעות הפונקציה getWordDetailsFromDictionaryAPI שכתבנו למעלה.

בקובץ index.js , החלף את ה-TODO עבור createSpellingPracticeWord בקובץ הבא:

index.js

// טריגר Firestore שמביא הגדרות מילים דרך getWordDetailsFromDictionaryAPI עבור כל מסמך Firestore חדש

exports.createSpellingPracticeWord = functions.firestore
  .document('wordlist/{word}')
  .onCreate((snap, context) => {
    const newValue = snap.data();
    const word = newValue.word;
    getWordDetailsFromDictionaryAPI(word);
});

קבלו רשימה של מילים למשחק

אתה יכול לכתוב פונקציית ענן המאחזרת רשימה של מילות תרגול איות מ-Cloud Firestore עבור ה-Assistant. לשם כך, אנו משתמשים במטפל באפליקציה.

בקובץ index.js , החלף את ה-TODO עבור getSpellingWordList בקובץ הבא.

הוספת פונקציה זו ל- app.handle המיוחדת היא דרך להפוך את הפונקציה לנגישה מה-Assistant.

index.js

// Store the list of spelling words in Assistant session
app.handle('getSpellingWordList', conv => {
  const wordListRef = db.collection('wordlist').limit(50);
  const snapshot = wordListRef;

  if (snapshot.empty) {
    console.log('No matching documents.');
    return;
  }
  VocabularyList = []

  return snapshot.get().then(snapshot => {
    snapshot.forEach(doc => {
      if (doc.data().word) {
          let definition = 'unknown';
          let audio = 'unknown';
          try {
            if(doc.data().hasOwnProperty('meanings')) {
              if(doc.data().meanings[0].hasOwnProperty('definitions')) {
                  definition = doc.data().meanings[0].definitions[0].definition;
              }
            }
            if(doc.data().hasOwnProperty('phonetics')) {
              if(doc.data().phonetics.length > 0)
                audio = doc.data().phonetics[0].audio;
            }
          } catch (error) {
            console.log(error);
          }

          let obj = {
            word: doc.data().word,
            answer: doc.data().word.split("").join(" "),
            definition: definition,
            audio: audio
          }
          VocabularyList.push(obj);
      }
      // Shuffle the array
      let currentIndex = VocabularyList.length, temporaryValue, randomIndex;
      while (0 !== currentIndex) {
        randomIndex = Math.floor(Math.random() * currentIndex);
        currentIndex -= 1;
        temporaryValue = VocabularyList[currentIndex];
        VocabularyList[currentIndex] = VocabularyList[randomIndex];
        VocabularyList[randomIndex] = temporaryValue;
      }
      conv.session.params.vocabWord = VocabularyList;
      conv.session.params.vocabWordIndex = 0;
    });
  });
})

קבל מילה מסשן Assistant

אתה יכול לכתוב פונקציית ענן שמחזירה את מילת האיות הבאה מרשימת המילים.

בקובץ index.js , החלף את ה-TODO עבור getSpellingWord בקובץ הבא:

index.js

// Returns a spelling practice word to Google Assistant and uses Speech Synthesis Markup Language (SSML) to format the response
app.handle('getSpellingWord',  conv => {
  if (!conv.session.params.vocabWord.empty) {
    conv.session.params.vocabWordIndex+=1;
    const ssml = '<speak>' +
    '<audio src="'+ conv.session.params.vocabWord[conv.session.params.vocabWordIndex].audio +'">Use phonetics to spell the word.</audio> ' +
    '</speak>';
    conv.add(ssml);
  }
  else
    conv.add('Great job! You completed the Spelling practice');
});

אפשר למשחק לחזור על המילה

אתה יכול לכתוב פונקציית ענן שחוזרת על המילה הנוכחית עבור המשחק.

בקובץ index.js , החלף את ה-TODO עבור repeatSpellingWord בקובץ הבא:

index.js

// Returns current spelling word
app.handle('repeatSpellingWord',  conv => {
  if (!conv.session.params.vocabWord.empty) {
    const ssml = '<speak>' +
    '<audio src="'+ conv.session.params.vocabWord[conv.session.params.vocabWordIndex].audio +'">Use phonetics to spell the word. </audio> ' +
    '</speak>';
    conv.add(ssml);
  }
  else
    conv.add('Great job! You completed the Spelling practice');
});

קבלו את ההגדרה של המילה

אתה יכול לכתוב פונקציית ענן שמספקת את ההגדרה של המילה הנוכחית למשחק.

בקובץ index.js , החלף את ה-TODO עבור definitionOfSpellingWord בקובץ הבא:

index.js

// Returns spelling word definition from Assistant session parameter
app.handle('definitionOfSpellingWord',  conv => {
  conv.add( 'It means ' + conv.session.params.vocabWord[conv.session.params.vocabWordIndex].definition);
});

בדוק את תגובת האיות של המשתמש

אתה יכול לכתוב פונקציית ענן שמאמתת את תגובת המשתמש כיצד לאיית את המילה הנוכחית עבור המשחק.

בקובץ index.js , החלף את ה-TODO עבור verifySpellingWord בקובץ הבא:

index.js

// Verifies user spelling response
app.handle('verifySpellingWord', conv => {
  try {
    userResponse = conv.intent.params.userresponse.resolved.join("");
    if (userResponse.toLowerCase() === conv.session.params.vocabWord[conv.session.params.vocabWordIndex].word.toLowerCase()) {
      conv.add('You are correct. Say next to continue.');
    }
    else {
      conv.add('Sorry, wrong answer. The correct answer is ' + conv.session.params.vocabWord[conv.session.params.vocabWordIndex].answer + ' . Say next to continue.');
    }
  } catch (error) {
    conv.add('Sorry. I did not understand your response' );
  }
});
exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);

פרוס את כל הפונקציות שלך

פונקציות הענן שלך יהיו פעילות רק לאחר שתפרוס אותן ב-Firebase.

מהשורש של ספריית spelling-functions-start , הפעל את הפקודה הבאה:

$ firebase deploy --only functions

זה פלט המסוף שאתה צריך לראות:

i  deploying functions
i  functions: ensuring necessary APIs are enabled...
⚠  functions: missing necessary APIs. Enabling now...
i  env: ensuring necessary APIs are enabled...
⚠  env: missing necessary APIs. Enabling now...
i  functions: waiting for APIs to activate...
i  env: waiting for APIs to activate...
✔  env: all necessary APIs are enabled
✔  functions: all necessary APIs are enabled
i  functions: preparing functions directory for uploading...
i  functions: packaged functions (X.XX KB) for uploading
✔  functions: functions folder uploaded successfully
i  starting release process (may take several minutes)...
i  functions: creating function createSpellingPracticeWord(us-central1)...
✔  functions[createSpellingPracticeWord(us-central1)]: Successful create operation.
i  functions: creating function ActionsOnGoogleFulfillment(us-central1)...
✔  functions[ActionsOnGoogleFulfillment(us-central1)]: Successful create operation.

✔  Deploy complete!
Project Console: https://console.firebase.google.com/project/spelling-practice-1234/overview

רשום את כתובת האתר של נקודת הקצה של ActionsOnGoogleFulfillment לשימוש מאוחר יותר. כדי לקבל את נקודת הקצה, פתח את Firebase Console ולאחר מכן לחץ על פרויקט תרגול איות . פתח את לוח המחוונים של פונקציות כדי להציג את נקודת הקצה של הפונקציות.

332cb0437411a242.png

השלמת את הוספת כל הפונקציות הנדרשות. כעת נעבור להגדרת Cloud Firestore.

8. הפעל את Cloud Firestore

יהיה עליך להפעיל את Cloud Firestore.

בקטע Build של מסוף Firebase, לחץ על Firestore . לאחר מכן, לחץ על צור מסד נתונים .

5c0b4abf4410ffcf.png

הגישה לנתונים ב-Cloud Firestore נשלטת על ידי כללי אבטחה. ראשית עליך להגדיר כמה כללים בסיסיים על הנתונים כדי להתחיל. לחץ על Firestore ולאחר מכן בכרטיסייה כללים של מסוף Firebase, הוסף את הכללים הבאים ולאחר מכן לחץ על פרסם .

הכללים הבאים מגבילים את הגישה לנתונים למשתמשים שנכנסו, מה שמונע ממשתמשים לא מאומתים לקרוא או לכתוב.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      //
      // WARNING: These rules are insecure! We will replace them with
      // more secure rules later in the codelab
      //
      allow read, write: if request.auth != null;
    }
  }
}

9. הוסף נתוני מילות איות ל-Cloud Firestore

בשלב זה, תכתוב נתוני מילות איות ל-Cloud Firestore כדי שתוכל ליצור רשימה של מילים עבור ה-Assistant (והמשחק).

נתוני Cloud Firestore מובנים באוספים, מסמכים, שדות ותתי-אוספים. כל מילה עבור המשחק תישמר כמסמך משלה באוסף ברמה העליונה שנקרא wordlist . עבור כל מסמך חדש באוסף Firestore, הפונקציה createSpellingPracticeWord תופעל כדי לקבל את פרטי המילה משירות Dictionary API .

צור אוסף Cloud Firestore

  1. במסוף Firebase, נווט אל הקטע Cloud Firestore.
  2. לחץ על + התחל איסוף .
  3. בתיבת הטקסט מזהה אוסף , הזן wordlist ולאחר מכן לחץ על הבא .

1b4ccadb90f52f02.png

לאחר מכן, ניצור מסמך למילה: הסכם

  1. בתיבת הטקסט מזהה מסמך , הזן agreement .
  2. בתיבת הטקסט שדה , הזן word ובתיבת הטקסט ערך הזן agreement .
  3. לחץ על שמור .

379037e011e8511e.png

כאשר אתה מוסיף את המסמך הזה ל-Cloud Firestore, הוא מפעיל את הפונקציה createSpellingPracticeWord שלך כדי להביא את פרטי ההגדרה של המילה. הוסף עוד מילים (לדוגמה: יראת כבוד, מכונית, אמת, ספר, טוב יותר, נסיעה לעבודה,...) על ידי יצירת מסמך חדש לכל מילה.

10. הגדר את Google Assistant

הסעיפים הבאים מתארים כיצד להגדיר את סביבת הפיתוח של Google Assistant וליצור את פרויקט הפעולות שלך.

בדוק את הגדרות ההרשאה שלך ב-Google

כדי לבדוק את הפעולה שאתה בונה במעבדת הקוד הזה, עליך להפעיל את ההרשאות הדרושות כדי שהסימולטור יוכל לגשת לאקשן שלך. כדי להפעיל הרשאות, בצע את השלבים הבאים:

  1. עבור לדף בקרות פעילות .
  2. היכנס עם חשבון Google שלך, אם עדיין לא עשית זאת.
  3. אפשר את ההרשאות הבאות:
  • פעילות אינטרנט ואפליקציות
  • תחת פעילות אינטרנט ואפליקציות , סמן את תיבת הסימון שליד כלול היסטוריה של Chrome ופעילות מאתרים, אפליקציות ומכשירים המשתמשים בשירותי Google .

c988e1e639e6d6e1.png

צור פרויקט פעולות

פרויקט הפעולות שלך הוא כלי קיבול עבור האקשן שלך. כדי ליצור את פרויקט הפעולות שלך עבור מעבדת קוד זה, בצע את השלבים הבאים:

  1. פתח את מסוף הפעולות .
  2. לחץ על פרויקט חדש .
  3. קבל את תנאי השירות

b174d45710b8086b.png

  1. הקלד או בחר spelling-practice-codelab שיצרת באמצעות Firebase Console. (השם מיועד לעיונך הפנימי. מאוחר יותר, תוכל להגדיר שם חיצוני לפרויקט שלך.)

a2951de5d2001fac.png

  1. לחץ על ייבא פרויקט .
  2. בקטע איזה סוג פעולה אתה רוצה לבנות? במסך, בחר את הכרטיס המותאם אישית .
  3. הקש "הבא .
  4. בחר את כרטיס הפרויקט הריק .
  5. לחץ על התחל לבנות .
  6. הזן תרגול איות לשם תצוגה ולחץ על שמור.

משתמשים מתחילים את השיחה עם הפעולה שלך באמצעות הזמנה . לדוגמה, משתמשים יכולים להפעיל את הפעולה שלך על ידי אמירת ביטוי כמו "Hey Google, talk to Spelling Practice", כאשר תרגול איות הוא שם התצוגה.

לפעולה שלך חייב להיות שם תצוגה אם ברצונך לפרוס אותה לייצור; עם זאת, כדי לבדוק את הפעולה שלך, אינך צריך להגדיר את שם התצוגה. במקום זאת, אתה יכול להשתמש בביטוי "דבר עם אפליקציית הבדיקה שלי" בסימולטור כדי להפעיל את הפעולה שלך.

הגדר מילוי

עליך לחבר ל-Assistant את מטפלי האירועים עבור פונקציות הענן שכתבת ופרסת קודם לכן במעבדת הקוד הזה.

כדי להגדיר את המילוי שלך, בצע את השלבים הבאים:

  1. לחץ על Webhook בניווט הצדדי.
  2. בחר נקודת קצה HTTP כאפשרות הגשמה:

d523bf003e96e66f.png

  1. הזן את כתובת האתר של נקודת הקצה של הפונקציה שלך בתיבת הטקסט של נקודת הקצה של HTTPs , ולאחר מכן לחץ על שמור .

be53e2cd0d914d54.png

בסעיף הבא, תתאים אישית את ההנחיה עבור הפנייה הראשית שלך במסוף הפעולות.

הגדר הזמנה ראשית

עליך לערוך את הקריאה הראשית כדי להגדיר מה קורה לאחר שמשתמש מפעיל את הפעולה שלך.

כברירת מחדל, Actions Builder מספק הנחיה כללית כאשר ההפעלה שלך מופעלת ( "התחל לבנות את הפעולה שלך על ידי הגדרת הפנייה הראשית.").

כדי לשנות את ההנחיה שהפעולה שלך שולחת בחזרה למשתמש כאשר הוא מפעיל את הפעולה שלך, בצע את השלבים הבאים:

  1. לחץ על הזמנה ראשית בניווט.

9ff088c04c995cde.png

  1. סמן את Call your webhook והוסף את שם המטפל באירוע getSpellingWordList בתיבת הטקסט.
  2. בעורך הקוד, החלף את הטקסט בשדה speech בהודעת הפתיחה הבאה: Welcome to Spelling Practice

הערה: אתה יכול להשתמש בפורמט YAML או JSON כדי לערוך את ההנחיות שלך.

  1. לחץ על שמור .

בדוק את הקריאה הראשית בסימולטור

מסוף הפעולות מספק כלי אינטרנט לבדיקת ה-Action שלך הנקרא סימולטור . הממשק מדמה התקני חומרה וההגדרות שלהם, כך שתוכל לשוחח עם ה-Action שלך כאילו הוא פועל על צג חכם, טלפון, רמקול או KaiOS.

כדי לבדוק את ההפעלה הראשית של הפעולה שלך בסימולטור, בצע את השלבים הבאים:

  1. בסרגל הניווט העליון, לחץ על בדיקה כדי לעבור לסימולטור.
  2. כדי להפעיל את הפעולה שלך בסימולטור, הקלד Talk to Spelling Practice בשדה הקלט בצד שמאל למעלה, ולאחר מכן הקש Enter במקלדת שלך.

651fc8da1ac9aa0a.png

כשאתה מפעיל את ההתקשרות הראשית של ה-Action, ה-Assistant מגיב בהודעת הפתיחה המותאמת אישית שלך. בשלב זה, השיחה מסתיימת לאחר שה-Assistant מגיב בברכה.

הצג יומני אירועים

כאשר אתה נמצא בכרטיסייה בדיקה , הלוח בצד ימין מציג את יומני האירועים , המציגים את היסטוריית השיחה כיומני אירועים. כל יומן אירועים מציג את האירועים המתרחשים במהלך אותו תור של השיחה. לצפייה ביומן האירועים לחץ על הסמל האפור לפני האירוע.

לפעולה שלך יש כרגע יומן אירועים אחד, המציג גם את הקלט של המשתמש ( "דבר עם תרגול איות" ) וגם את התגובה של הפעולה שלך. צילום המסך הבא מציג את יומן האירועים של הפעולה שלך:

a6fb192f94426824.png

11. בנה את השיחה לתרגול איות

כעת, לאחר שהגדרת מה קורה לאחר שמשתמש מפעיל את הפעולה שלך, אתה יכול לבנות את שאר השיחה של הפעולה שלך. לתרגול איות יש ארבע סצנות, ואתה חייב להפעיל כל סצנה לפני שהיא יכולה לרוץ. הדרך הנפוצה ביותר להפעיל סצנה היא להגדיר את הפעולה שלך כך שכאשר משתמש מתאים לכוונת משתמש בתוך סצנה, כוונה זו תפעיל את המעבר לסצנה אחרת ותפעיל אותה.

מעבר מקריאת ראשי לסצנת התחלה

בסעיף זה, אתה יוצר סצנה חדשה בשם Start , ששולחת הנחיה למשתמש ושואלת אם הוא רוצה להתחיל לשחק בתרגול איות . אתה גם מוסיף מעבר מהקריאה הראשית לסצנת Start החדשה.

כדי ליצור סצנה זו ולהוסיף לה מעבר, בצע את השלבים הבאים:

  1. לחץ על פיתוח בניווט העליון. לאחר מכן, לחץ על הזמנה ראשית בניווט הימני.
  2. בחלק המעבר בצד ימין, לחץ על התפריט הנפתח ולאחר מכן הקלד Start בשדה הטקסט.

dd4f1807a57f794d.png

  1. לחץ על הוסף . פעולה זו יוצרת סצנה בשם Start , ואומרת ל-Action לעבור לסצנת ה- Start לאחר שה-Action מספקת את הנחיית הפתיחה למשתמש.
  2. לחץ על סצנות בניווט הימני כדי להציג את רשימת הסצנות.
  3. תחת סצנות , לחץ על התחל כדי לראות את סצנת Start .
  4. לחץ על + בקטע On enter של סצנת Start .
  5. בחר שלח הנחיות .
  6. החלף את המשפט בשדה speech ( Enter the response that users will see or hear... ) בשאלה לשאול את המשתמש: Use phonetic alphabet to spell the word. For example alpha for a, bravo for b, charlie for c etc. Do you want to continue?

שבבי הצעות מציעים הצעות ניתנות ללחיצה עבור המשתמש שהפעולה שלך מעבדת כקלט משתמש. בסעיף זה, אתה מוסיף שבבי הצעה שמופיעים מתחת להודעה שהגדרת זה עתה ( Do you want to play

Spelling Practice

? ) כדי לתמוך במשתמשים במכשירים עם מסכים.

כדי להוסיף שבבי הצעות להנחיה של סצנת Start , בצע את השלבים הבאים:

  1. בסצנת Start , לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שבב הצעה בודד.
  2. בשדה title , החלף Suggested Response 'Yes' .
  3. באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו 'No' 'Help with Phonetics' . הקוד שלך צריך להיראות כמו הקטע הבא:
  4. לחץ על שמור .

5ff2ecdc56801b91.png

בדוק את הפעולה שלך בסימולטור

בשלב זה, הפעולה שלך אמורה לעבור מהפנייה הראשית לסצנת ההתחלה ולשאול את המשתמש אם הוא רוצה להמשיך. שבבי הצעה צריכים להופיע גם בתצוגה המדומה.

כדי לבדוק את הפעולה שלך בסימולטור, בצע את השלבים הבאים:

  1. בסרגל הניווט, לחץ על בדיקה כדי להעביר אותך לסימולטור.
  2. כדי לבדוק את הפעולה שלך בסימולטור, הקלד Talk to Spelling Practice בשדה הקלט.
  3. לחץ אנטר . הפעולה שלך צריכה להגיב עם ההנחיה Main invocation וההנחיה הנוספת של Start סצנה, "ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. למשל אלפא עבור a, בראבו עבור b, צ'רלי עבור c וכו'. האם אתה רוצה לְהַמשִׁיך?" .

צילום המסך הבא מציג את האינטראקציה הזו:

338c9570b02a618e.png

  1. לחץ על שבב ההצעה Yes או No או Help with Phonetics כדי להגיב להנחיה. (תוכל גם לומר "כן" או "לא" או "עזרה בפונטיקה" או להזין Yes או No או Help with Phonetics בשדה הקלט .)

כאשר אתה מגיב להנחיה, הפעולה שלך מגיבה בהודעה המציינת שהיא לא מצליחה להבין את הקלט שלך: "סליחה, לא קלטתי את זה. האם תוכל לנסות שוב?" מכיוון שעדיין לא הגדרת את הפעולה שלך להבין ולהגיב לקלט "כן" או "לא" , הפעולה שלך תואמת את הקלט שלך לכוונת NO_MATCH .

כברירת מחדל, כוונת מערכת NO_MATCH מספקת תגובות כלליות, אבל אתה יכול להתאים אישית את התגובות האלה כדי לציין למשתמש שלא הבנת את הקלט שלו. ה-Assistant מסיים את השיחה של המשתמש עם הפעולה שלך לאחר שהוא לא יכול להתאים לקלט המשתמש שלוש פעמים.

הוסף לא וכוונות פונטיקה

כעת, כאשר משתמשים יכולים להגיב לשאלה שהפעולה שלך מציבה, אתה יכול להגדיר את הפעולה שלך כך שתבין את תגובות המשתמשים ( "כן" או "לא" או "עזרה בפונטיקה" ). בסעיפים הבאים, אתה יוצר כוונות משתמש המותאמות כאשר המשתמש אומר "כן" או "לא" או "עזרה בפונטיקה" ומוסיף את הכוונות הללו לסצנת Start . אנו נשתמש בכוונת המערכת yes וניצור כוונות אחרות.

no ליצור כוונה

כעת, אתה צריך ליצור את הכוונה no להבין ולהגיב למשתמש כאשר הוא לא רוצה לשחק במשחק. כדי ליצור כוונה זו, בצע את השלבים הבאים:

  1. לחץ על פיתוח בניווט.
  2. לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
  3. לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם לכוונה החדשה no והקש Enter .
  4. לחץ על לא כדי לפתוח את הדף no כוונה.
  5. בקטע הוסף ביטויי אימון , לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
  • No
  • N
  • I don't want
  • nope

98b0c9a7b67ea9b9.png

  1. לחץ על שמור .

no הוסף כוונה לסצנת Start

כעת, הפעולה יכולה להבין מתי משתמש מביע "לא" או משהו דומה ל"לא " , כמו "לא" . עליך להוסיף את הכוונה no משתמש לסצנת Start מכיוון שהמשתמש מגיב להנחיית Start (" ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. לדוגמה אלפא עבור a, בראבו עבור b, צ'רלי עבור c וכו'. האם אתה רוצה להמשיך?" ).

כדי להוסיף את הכוונה הזו לסצנת Start , בצע את השלבים הבאים:

  1. לחץ על סצנת התחל בניווט.
  2. לחץ על הסימן + (סימן הפלוס) בסצנת Start לצד טיפול בכוונת משתמש.
  3. בקטע כוונות , בחר לא בתפריט הנפתח.

51f752e78c8b4942.png

  1. לחץ על שלח הנחיות ועדכן את שדה speech בטקסט הבא: Good Bye .

הקוד בעורך שלך צריך להיראות כמו הקטע הבא:

candidates:
  - first_simple:
      variants:
        - speech: >-
             Goodbye.
  1. בקטע המעבר , בחר סיים שיחה מהתפריט הנפתח.
  2. לחץ על שמור .

בדוק no כוונה בסימולטור

בשלב זה, הפעולה שלך מבינה מתי המשתמש לא רוצה לשחק במשחק ומחזירה את התגובה המתאימה.

כדי לבדוק כוונה זו בסימולטור, בצע את השלבים הבאים:

  1. בסרגל הניווט, לחץ על בדוק .
  2. הקלד Talk to Spelling Practice בשדה הקלט והקש Enter .
  3. הקלד No בשדה קלט והקש Enter. לחלופין, לחץ על השבב ללא הצעות.

7727a456b522f31b.png

הוסף כוונת מערכת YES לסצנת Start

כעת, נוסיף את כוונת SYSTEM "כן" לסצנת Start , מכיוון שהמשתמש מגיב בכן להנחיית Start (" ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. למשל אלפא עבור a, בראבו עבור ב, צ'רלי עבור ג וכו'. האם אתה רוצה להמשיך?" ).

כדי להוסיף את כוונת המשתמש הזו לסצנת Start , בצע את השלבים הבאים:

  1. לחץ על סצנת התחל בניווט.
  2. לחץ על הסימן + (סימן הפלוס) בסצנת Start לצד טיפול בכוונת משתמש .
  3. תחת כל כוונות המערכת, בחר כן בתפריט הנפתח כוונות.

f6cbe789cde49e8f.png

  1. לחץ על Call your webhook ועדכן את תיבת הטקסט event handler עם הפונקציה שיצרת קודם לכן: getSpellingWordList
  2. בקטע המעבר , לחץ על התפריט הנפתח ובחר סיים שיחה .
  3. לחץ על שמור .

בדוק את כוונת YES בסימולטור

בשלב זה, הפעולה שלך מבינה מתי המשתמש רוצה לשחק את המשחק ומחזירה את התגובה המתאימה.

כדי לבדוק כוונה זו בסימולטור, בצע את השלבים הבאים:

  1. בסרגל הניווט, לחץ על בדוק .
  2. כדי לבדוק את הפעולה שלך בסימולטור, הקלד Talk to Spelling Practice בשדה הקלט והקש Enter .
  3. הקלד Yes בשדה קלט והקש Enter . לחלופין, לחץ על שבב ההצעה Yes .

הפעולה שלך מביאה רשימה של כל מילות תרגול האיות ומאחסנת אותן בהפעלה. לאחר מכן, הפעולה שלך מסיימת את הפגישה מכיוון שבחרת במעבר End conversation עבור כוונת YES .

צור כוונה Phonetics

כדי ליצור את כוונת Phonetics , בצע את השלבים הבאים:

  1. לחץ על פיתוח בניווט.
  2. לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
  3. לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם phonetics של הכוונה החדשה והקש Enter .
  4. לחץ על כוונת phonetics כדי לפתוח את דף כוונת phonetics .
  5. בקטע הוסף ביטויי אימון, לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
  • how do I spell words
  • phonetics
  • help me with phonetics
  • phonetic alphabet

1455bdfca8dae46.png

  1. לחץ על שמור .

הוסף כוונה phonetics לסצנת Start

כעת, הפעולה יכולה להבין מתי משתמש מביע כוונה "פונטית" . אתה יכול להוסיף את כוונת משתמש phonetics לסצנת Start , מכיוון שהמשתמש מגיב להנחיית Start (" ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. למשל אלפא עבור a, בראבו עבור b, צ'רלי עבור c וכו'. האם אתה רוצה להמשיך?" ).

כדי להוסיף את כוונת המשתמש הזו לסצנת Start , בצע את השלבים הבאים:

  1. לחץ על סצנת התחל בניווט.
  2. לחץ על הסימן + (סימן הפלוס) בסצנת Start לצד טיפול בכוונת משתמש.
  3. בחר פונטיקה בתפריט הנפתח 'כוונות'.

67ee2e08000b2aee.png

  1. בקטע המעבר , לחץ על התפריט הנפתח ובחר סיים שיחה.
  2. לחץ על שמור .

מעבר מסצנת התחלה לסצנת איות

בחלק זה, אתה יוצר סצנה חדשה בשם איות , ששולחת הנחיה למשתמש לאיית את המילה באמצעות האלפבית הפונטי.

כדי ליצור סצנה זו ולהוסיף לה מעבר, בצע את השלבים הבאים:

  1. לחץ על פיתוח בניווט העליון. לאחר מכן, לחץ על התחל סצנה בניווט השמאלי.
  2. בקטע טיפול בכוונת משתמש לחץ when actions.intent.YES is matched ומימין בקטע המעבר , לחץ על התפריט הנפתח והקלד Spelling בשדה הטקסט.
  3. לחץ על הוסף . זה יוצר סצנה שנקראת Spelling , ואומר לפעולה לעבור לסצנת Spelling לאחר ההתאמה עם כוונת YES.
  4. הרחב את הסצנות בניווט השמאלי כדי להציג את רשימת הסצנות.
  5. תחת סצנות , לחץ על איות כדי לראות את סצנת Spelling .
  6. לחץ על + בקטע On enter של סצנת Spelling .
  7. לחץ על Call your webhook והזן getSpellingWord בתיבת הטקסט של מטפל באירועים.
  8. בחר שלח הנחיות .
  9. החלף את המשפט בשדה speech ( Enter the response that users will see or hear... ) ב- {} . ההודעה בפועל תאוכלס על ידי webhook.

שבבי הצעות מציעים הצעות ניתנות ללחיצה עבור המשתמש שהפעולה שלך מעבדת כקלט משתמש.

כדי להוסיף שבבי הצעה להנחיה של סצנת Spelling , בצע את השלבים הבאים:

  1. בסצנת Spelling , לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה.
  2. בשדה title , החלף Suggested Response 'Repeat' .
  3. באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו 'Skip' .
  4. באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו 'Quit' . הקוד שלך צריך להיראות כמו הקטע הבא:
  5. לחץ על שמור .
suggestions:
      - title: 'Repeat'
      - title: 'Skip'
      - title: 'Quit'

e1d437f714ea1539.png

צור כוונה Repeat

כדי ליצור את הכוונה repeat , בצע את השלבים הבאים:

  1. לחץ על פיתוח בניווט.
  2. לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
  3. לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם repeat הכוונה החדשה והקש Enter .
  4. לחץ על הכוונה repeat כדי לפתוח את דף כוונת definition .
  5. בקטע הוסף ביטויי אימון , לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
  • one more time please
  • say the word again
  • repeat the word
  • tell me again
  • repeat

e61f0b9f80510bc9.png

  1. לחץ על שמור .

הוסף כוונה repeat Spelling איות

כעת, הפעולה יכולה להבין מתי משתמש מביע כוונה "חוזרת" . אתה יכול להוסיף את כוונת המשתמש repeat לסצנת Spelling , מכיוון שהמשתמש מגיב להנחיית Spelling (" איית את המילה באמצעות אלפבית פונטי ").

כדי להוסיף את כוונת המשתמש הזו לסצנת Spelling , בצע את השלבים הבאים:

  1. לחץ על סצנת האיות בניווט.
  2. לחץ על הסימן + (סימן הפלוס) בסצנת Spelling שליד טיפול בכוונת משתמש .
  3. בחר חזרה בתפריט הנפתח כוונות.

5cfd623b25bedbed.png

  1. סמן את ה-Call webhook שלך והזן repeatSpellingWord בתיבת הטקסט של מטפל באירועים כדי לקבל את הגדרת המילה.
  2. סמן שלח הנחיות .
  3. החלף את המשפט בשדה speech ( Enter the response that users will see or hear... ) ב-''. ההודעה בפועל תאוכלס על ידי webhook.

הוסף שבבי הצעה ל"כאשר התאמה חוזרת"

  1. ב" כאשר חוזרים מתאימים " תחת טיפול בכוונת משתמש, לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה.
  2. בשדה title , החלף Suggested Response 'Skip' .
  3. באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו 'Quit' . הקוד שלך צריך להיראות כמו הקטע הבא:
suggestions:
      - title: 'Skip'
      - title: 'Quit'

ab40e4b0c432b97c.png

  1. לחץ על שמור.

צור כוונת definition

כדי ליצור את כוונת definition , בצע את השלבים הבאים:

  1. לחץ על פיתוח בניווט.
  2. לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
  3. לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם definition הכוונה החדשה והקש Enter .
  4. לחץ על כוונת definition כדי לפתוח את דף כוונת definition .
  5. בקטע הוסף ביטויי אימון , לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
  • I would like to know the definition
  • tell me the definition
  • what does it mean
  • meaning
  • definition
  • what is the definition?

c1b88a9c0b1ac082.png

  1. לחץ על שמור .

הוסף definition של כוונה לסצנת Spelling

כעת, הפעולה יכולה להבין מתי משתמש מביע כוונת "הגדרה" . אתה יכול להוסיף את definition כוונת משתמש לסצנת Spelling , מכיוון שהמשתמש מגיב להנחיית Spelling (" אייית המילה באמצעות אלפבית פונטי ").

כדי להוסיף את כוונת המשתמש הזו לסצנת Spelling , בצע את השלבים הבאים:

  1. לחץ על סצנת האיות בניווט.
  2. לחץ על הסימן + (סימן הפלוס) בסצנת Spelling שליד טיפול בכוונת משתמש .
  3. בחר הגדרה בתפריט הנפתח 'כוונות'.

646bdcac3ad3eb0c.png

  1. בדוק את שיחת ה- WebHook שלך והזן את DefinitionOfswellingWord בתיבת הטקסט של Handler Handler כדי לקבל את הגדרת המילה.
  2. בדוק הנחיות שלח .
  3. החלף את המשפט בשדה speech ( Enter the response that users will see or hear... ) ב- '' '. ההנחיה בפועל תאכלס על ידי WebHook.

הוסף שבבי הצעה לתגובת WebHook

  1. בסצנת Start , לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה.
  2. בשדה title , החלף Suggested Response 'Skip' .
  3. באמצעות אותו עיצוב, הוסף ידנית שבב הצעות שכותרתו 'Quit' . קוד שלך אמור להיראות כמו הקטע הבא:
suggestions:
      - title: 'Skip'
      - title: 'Quit'

25227545839d933f.png

  1. לחץ על שמור .

צור skip דילוג

כדי ליצור את כוונת skip , בצע את הצעדים הבאים:

  1. לחץ על פיתוח בניווט.
  2. לחץ על כוונות בניווט כדי לפתוח את רשימת הכוונות.
  3. לחץ על + (פלוס סימן) בסוף רשימת הכוונות. תן שם skip הכוונה החדש ולחץ על Enter .
  4. לחץ על כוונת skip כדי לפתוח את דף הכוונה skip .
  5. בקטע הוסף ביטויי אימונים , לחץ על תיבת הטקסט של Enter Present והזן את הביטויים הבאים:
  • next word
  • go next
  • next
  • skip
  • skip word

D1C4908A3D7882F8.PNG

  1. לחץ על שמור .

הוסף Skip על כוונת סצנת Spelling

כעת, הפעולה יכולה להבין כאשר משתמש מבטא כוונת "דלג" . אתה יכול להוסיף את כוונת המשתמש skip לסצנת Spelling , מכיוון שהמשתמש מגיב לשורת Spelling (" איית את המילה באמצעות אלפבית פונטי ").

כדי להוסיף כוונת משתמש זו לסצנת Spelling , בצע את הצעדים הבאים:

  1. לחץ על סצנת האיות בניווט.
  2. לחץ על + (סימן פלוס) בסצנת Spelling לצד כוונת המשתמש Handlin g.
  3. בחר דלג בתפריט הנפתח.

5465F97542217964.png

  1. בקטע המעבר מימין, לחץ על התפריט הנפתח ובחר Spelling .

C8072485CA82BD3F.PNG

  1. לחץ על שמור .

צור כוונה quit

כדי ליצור את כוונת Quit , בצע את הצעדים הבאים:

  1. לחץ על פיתוח בניווט.
  2. לחץ על כוונות בניווט כדי לפתוח את רשימת הכוונות.
  3. לחץ על + (פלוס סימן) בסוף רשימת הכוונות. תן שם לכוונה החדשה Quit ולחץ על Enter .
  4. לחץ על כוונת Quit כדי לפתוח את דף כוונת ההגדרה .
  5. בקטע הוסף ביטויי אימונים , לחץ על תיבת הטקסט של Enter Present והזן את הביטויים הבאים:
  • I quit
  • Goodbye
  • Cancel
  • Exit
  • Quit

9916f77b8766541e.png

  1. לחץ על שמור.

הוסף כוונה Quit לסצנת Spelling

כעת, הפעולה יכולה להבין כאשר משתמש מביע כוונה "להפסיק" . אתה יכול להוסיף את כוונת המשתמש quit לסצנת Spelling , מכיוון שהמשתמש מגיב לשורת Spelling (" איית את המילה באמצעות אלפבית פונטי ").

כדי להוסיף כוונת משתמש זו לסצנת Spelling , בצע את הצעדים הבאים:

  1. לחץ על סצנת האיות בניווט.
  2. לחץ על + (סימן פלוס) בסצנת Spelling לצד הטיפול בכוונת המשתמש .
  3. בחר צא בתפריט הנפתח.

5f62fb18a3653d66.png

  1. בקטע המעבר מימין, לחץ על התפריט הנפתח ובחר End conversation . 1FFBE35A7BBBB4B0.PNG
  2. לחץ על שמור .

צור סוג phonetic_alphabet

בחלק זה אתה יוצר סוג חדש בשם phonetic_alphabet , המציין את אפשרויות האלף -בית הפונטיות שהמשתמשים יכולים לבחור לאיית את המילה. אתה יכול גם להגדיר כמה מילים נרדפות עבור אפשרויות אלה למקרה שמשתמש אומר משהו דומה. בחלק מאוחר יותר אתה מוסיף את סוג phonetic_alphabet לחריץ כדי לציין שאתה רוצה להשיג את תגובת המשתמש.

כדי ליצור את סוג phonetic_alphabet , בצע את הצעדים הבאים:

  1. לחץ על פיתוח בניווט.
  2. לחץ על + (סימן פלוס) תחת סוגים .
  3. הקלד phonetic_alphabet ולחץ על Enter .
  4. לחץ על phonetic_alphabet כדי לפתוח את האפשרויות.
  5. באיזה סוג ערכים יתמוך בסוג זה? קטע, בחר באפשרות מילים ונרדפות
  6. הזן את הערכים הבאים והערכים המתאימים בסעיף הוסף רשומות :

א

אלפא, אפל, אמסטרדם

ב

בראבו, חמאה, בולטימור

ג

צ'רלי, חתול, קזבלנקה

ד

דלתא, כלב, דנמרק

ה

הד, אדוארד, אדיסון

ו

פוקסטרוט, פוקס, פלורידה

ז

גולף, ג'ורג ', גליפולי

ח

מלון, הארי, הוואנה

אני

הודו, דיו, איטליה

י

ג'ולייט, ג'וני, ירושלים

ק

קילו, קינג, קילוגרם

ל

לימה, אהבה, לונדון

M

מייק, כסף, מדגסקר

נ

נובמבר, ניו יורק, ננסי

o

אוסקר, כתום, אוסלו

ע

פאפא, פריז, פיטר

ש

קוויבק, מלכה

ר

רומיאו, רומא, רוברט

ס

סיירה, סוכר, סנטיאגו

ט

טנגו, טומי, טריפולי

u

מדים, מטריה, דוד

v

ויקטור, חומץ, ולנסיה

w

ויסקי, וויליאם, וושינגטון

איקס

צילום רנטגן

y

ינקי, צהוב, יורק

ז

זולו, זברה, ציריך

טבלת ערך המפתח שלך צריכה להיראות כמו הדברים הבאים:

5B5A5CD9FA557E1B.PNG

  1. לחץ על שמור .

הגדר מילוי חריץ

בשלב הבא, עליך להגדיר את מילוי המשבצות בסצנת האיות. כדי לקבוע את התצורה של ההיגיון מילוי החריץ, בצע את הצעדים הבאים:

  1. לחץ על סצנת האיות בניווט.
  2. לחץ על + (סימן פלוס) בסצנת Spelling למילוי משבצות .
  3. בשדה הזן שם חריץ , הוסף את userresponse כשם המשבצת.
  4. בתפריט הנפתח הבחר , בחר Phonetic_alphabet כסוג החריץ.
  5. עיין בחריץ זה מקבל רשימת ערכים
  6. בדוק חריץ זה נדרש .
  7. בחר התאמה אישית של אפשרות כתיבה על ערך חריץ והזן את userresponse בתיבת הטקסט של פרמטר ההפעלה.

BA57A419877A07F3.PNG

  1. לחץ על שמור .

הוסף מצב למסך Spelling

כדי להוסיף תנאי לסצנת Spelling , בצע את הצעדים הבאים:

  1. לחץ על סצנת האיות בניווט.
  2. לחץ על + (סימן פלוס) בסצנת Spelling לצד התנאי.
  3. הזן scene.slots.status == "FINAL"
  4. בדוק את שיחת ה- WebHook שלך והזן את VerifySpellingWord בתיבת הטקסט של Handler Event כדי לאמת את תגובת המשתמש.
  5. בדוק הנחיות שלח.
  6. החלף את המשפט בשדה speech ( Enter the response that users will see or hear... ) ב- {} . ההנחיה בפועל תאכלס על ידי WebHook.

הוסף שבבי הצעה לתגובת WebHook

  1. בסצנת Start , לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה.
  2. בשדה title , החלף Suggested Response ב'בא 'Next' .
  3. באמצעות אותו עיצוב, הוסף ידנית שבב הצעות שכותרתו 'Quit' . קוד שלך אמור להיראות כמו הקטע הבא:
suggestions:
      - title: 'Next'
      - title: 'Quit'

AC3D7A9366BC1B1.PNG

  1. לחץ על שמור .

12. מבחן תרגול איות בסימולטור

כדי לבדוק את הפעולה שלך בסימולטור, בצע את הצעדים הבאים:

  1. בסרגל הניווט, לחץ על בדיקה כדי לקחת אותך לסימולטור.
  2. כדי לבדוק את הפעולה שלך בסימולטור, הקלד Talk to Spelling Practice בשדה הקלט.
  3. לחץ אנטר . הפעולה שלך צריכה להגיב עם הנחיה Main invocation ובנחת סצנת Start הנוספת, "ברוך הבא לתרגול איות. השתמש באלף -בית הפונטי כדי לאיית את המילה. לדוגמא אלפא עבור A, Bravo עבור B, Charlie C וכו '. האם אתה רוצה לְהַמשִׁיך?" .
  4. תגיד כן כדי להמשיך
  5. סימולטור ינגן צליל מילה לאיית
  6. אתה יכול לאיית את המילה באמצעות אלפבית פונטית. לדוגמה, כדי לומר טוב יותר או להקליד "Bravo Echo Tango Tango Echo Romeo"
  7. סימולטור יגיב עם התגובה הנכונה או השגויה.
  8. אמור הבא כדי להמשיך למילה הבאה או אמרו להפסיק לצאת מלולאת המשחק.

13. מזל טוב

מזל טוב, בנית בהצלחה את המשחק שלך, איות תרגול !

כעת אתה יודע את שלבי המפתח הנדרשים לבניית משחק באמצעות Cloud Firestore, פונקציות ענן ובונה פעולה של Google Assistant.

מה שכיסית

  • כיצד לקיים אינטראקציה עם ענן פירסטור
  • כיצד להשתמש בחריצים כדי לאסוף נתונים מהמשתמש
  • כיצד לעבד את קלט המשתמש ולהחזיר תגובה
  • כיצד להשתמש בתנאים כדי להוסיף היגיון לסצנה
  • איך להוסיף לולאת משחק

משאבי למידה נוספים

אתה יכול לחקור משאבים אלה ללימוד על בניית פעולות עבור Google Assistant:

נקה את הפרויקט שלך [מומלץ]

כדי למנוע חיובים אפשריים, מומלץ להסיר פרויקטים שאינך מתכוון להשתמש בהם. כדי למחוק את הפרויקטים שיצרת בקודלב זה, בצע את הצעדים הבאים:

  1. כדי למחוק את פרויקט ה- Firebase והמשאבים שלך, מלא את הצעדים המופיעים בסעיף הפרויקטים של כיבוי (מחיקה) .

זהירות: וודא שאתה בוחר את הפרויקט הנכון למחיקה בדף ההגדרות של קונסולת Google Console.

  1. אופציונלי: כדי להסיר מייד את הפרויקט שלך ממסוף הפעולות, מלא את הצעדים המופיעים במחיקת פרק פרויקט . אם לא תסיים שלב זה, הפרויקט שלך יוסר אוטומטית לאחר כ -30 יום.

עקוב אחר @Actionsongoogle & @FireBase בטוויטר כדי להישאר מעודכן להודעות האחרונות שלנו וציוץ ל- #googleio כדי לשתף את מה שבנית!