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". נתיב ברירת המחדל דרך פעולה זו עבור משתמש חוזר נראה כמו האינטראקציה הבאה:
לאחר שתסיים את מעבדת הקוד הזה, הפעולה שהושלמת תהיה זרימת השיחה הבאה:
מה תלמד
- כיצד ליצור אינטראקציה עם 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
- היכנס ל- Firebase .
- במסוף Firebase, לחץ על הוסף פרויקט (או צור פרויקט ), ולאחר מכן תן שם לפרויקט Firebase שלך
Spelling-Practice
.
- לחץ על אפשרויות יצירת הפרויקט. קבל את תנאי 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 בהתאם למערכת ההפעלה ולמקרה השימוש שלך. השלבים הבאים מתארים את האפשרות הנפוצה ביותר אם אתה משתמש גם בפונקציות ענן.
$ npm -g install firebase-tools
- ודא שה-CLI הותקן כהלכה על ידי הפעלת:
$ firebase --version
ודא שהגרסה של Firebase CLI היא 9.0.0 ואילך, כך שיש לה את כל התכונות העדכניות ביותר הנדרשות עבור פונקציות ענן. אם לא, הפעל את npm install -g firebase-tools כדי לשדרג כפי שמוצג לעיל.
- אשר את Firebase CLI על ידי הפעלת:
$ firebase login
- מתוך ספריית 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.
- התקן את Actions SDK על ידי הפעלת הפקודה npm הבאה:
$ npm install @assistant/conversation
- בקובץ
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 ולאחר מכן לחץ על פרויקט תרגול איות . פתח את לוח המחוונים של פונקציות כדי להציג את נקודת הקצה של הפונקציות.
השלמת את הוספת כל הפונקציות הנדרשות. כעת נעבור להגדרת Cloud Firestore.
8. הפעל את Cloud Firestore
יהיה עליך להפעיל את Cloud Firestore.
בקטע Build של מסוף Firebase, לחץ על Firestore . לאחר מכן, לחץ על צור מסד נתונים .
הגישה לנתונים ב-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
- במסוף Firebase, נווט אל הקטע Cloud Firestore.
- לחץ על + התחל איסוף .
- בתיבת הטקסט מזהה אוסף , הזן
wordlist
ולאחר מכן לחץ על הבא .
לאחר מכן, ניצור מסמך למילה: הסכם
- בתיבת הטקסט מזהה מסמך , הזן
agreement
. - בתיבת הטקסט שדה , הזן
word
ובתיבת הטקסט ערך הזןagreement
. - לחץ על שמור .
כאשר אתה מוסיף את המסמך הזה ל-Cloud Firestore, הוא מפעיל את הפונקציה createSpellingPracticeWord שלך כדי להביא את פרטי ההגדרה של המילה. הוסף עוד מילים (לדוגמה: יראת כבוד, מכונית, אמת, ספר, טוב יותר, נסיעה לעבודה,...) על ידי יצירת מסמך חדש לכל מילה.
10. הגדר את Google Assistant
הסעיפים הבאים מתארים כיצד להגדיר את סביבת הפיתוח של Google Assistant וליצור את פרויקט הפעולות שלך.
בדוק את הגדרות ההרשאה שלך ב-Google
כדי לבדוק את הפעולה שאתה בונה במעבדת הקוד הזה, עליך להפעיל את ההרשאות הדרושות כדי שהסימולטור יוכל לגשת לאקשן שלך. כדי להפעיל הרשאות, בצע את השלבים הבאים:
- עבור לדף בקרות פעילות .
- היכנס עם חשבון Google שלך, אם עדיין לא עשית זאת.
- אפשר את ההרשאות הבאות:
- פעילות אינטרנט ואפליקציות
- תחת פעילות אינטרנט ואפליקציות , סמן את תיבת הסימון שליד כלול היסטוריה של Chrome ופעילות מאתרים, אפליקציות ומכשירים המשתמשים בשירותי Google .
צור פרויקט פעולות
פרויקט הפעולות שלך הוא כלי קיבול עבור האקשן שלך. כדי ליצור את פרויקט הפעולות שלך עבור מעבדת קוד זה, בצע את השלבים הבאים:
- פתח את מסוף הפעולות .
- לחץ על פרויקט חדש .
- קבל את תנאי השירות
- הקלד או בחר
spelling-practice-codelab
שיצרת באמצעות Firebase Console. (השם מיועד לעיונך הפנימי. מאוחר יותר, תוכל להגדיר שם חיצוני לפרויקט שלך.)
- לחץ על ייבא פרויקט .
- בקטע איזה סוג פעולה אתה רוצה לבנות? במסך, בחר את הכרטיס המותאם אישית .
- הקש "הבא .
- בחר את כרטיס הפרויקט הריק .
- לחץ על התחל לבנות .
- הזן תרגול איות לשם תצוגה ולחץ על שמור.
משתמשים מתחילים את השיחה עם הפעולה שלך באמצעות הזמנה . לדוגמה, משתמשים יכולים להפעיל את הפעולה שלך על ידי אמירת ביטוי כמו "Hey Google, talk to Spelling Practice", כאשר תרגול איות הוא שם התצוגה.
לפעולה שלך חייב להיות שם תצוגה אם ברצונך לפרוס אותה לייצור; עם זאת, כדי לבדוק את הפעולה שלך, אינך צריך להגדיר את שם התצוגה. במקום זאת, אתה יכול להשתמש בביטוי "דבר עם אפליקציית הבדיקה שלי" בסימולטור כדי להפעיל את הפעולה שלך.
הגדר מילוי
עליך לחבר ל-Assistant את מטפלי האירועים עבור פונקציות הענן שכתבת ופרסת קודם לכן במעבדת הקוד הזה.
כדי להגדיר את המילוי שלך, בצע את השלבים הבאים:
- לחץ על Webhook בניווט הצדדי.
- בחר נקודת קצה HTTP כאפשרות הגשמה:
- הזן את כתובת האתר של נקודת הקצה של הפונקציה שלך בתיבת הטקסט של נקודת הקצה של HTTPs , ולאחר מכן לחץ על שמור .
בסעיף הבא, תתאים אישית את ההנחיה עבור הפנייה הראשית שלך במסוף הפעולות.
הגדר הזמנה ראשית
עליך לערוך את הקריאה הראשית כדי להגדיר מה קורה לאחר שמשתמש מפעיל את הפעולה שלך.
כברירת מחדל, Actions Builder מספק הנחיה כללית כאשר ההפעלה שלך מופעלת ( "התחל לבנות את הפעולה שלך על ידי הגדרת הפנייה הראשית.").
כדי לשנות את ההנחיה שהפעולה שלך שולחת בחזרה למשתמש כאשר הוא מפעיל את הפעולה שלך, בצע את השלבים הבאים:
- לחץ על הזמנה ראשית בניווט.
- סמן את
Call your webhook
והוסף את שם המטפל באירועgetSpellingWordList
בתיבת הטקסט. - בעורך הקוד, החלף את הטקסט בשדה
speech
בהודעת הפתיחה הבאה:Welcome to Spelling Practice
הערה: אתה יכול להשתמש בפורמט YAML או JSON כדי לערוך את ההנחיות שלך.
- לחץ על שמור .
בדוק את הקריאה הראשית בסימולטור
מסוף הפעולות מספק כלי אינטרנט לבדיקת ה-Action שלך הנקרא סימולטור . הממשק מדמה התקני חומרה וההגדרות שלהם, כך שתוכל לשוחח עם ה-Action שלך כאילו הוא פועל על צג חכם, טלפון, רמקול או KaiOS.
כדי לבדוק את ההפעלה הראשית של הפעולה שלך בסימולטור, בצע את השלבים הבאים:
- בסרגל הניווט העליון, לחץ על בדיקה כדי לעבור לסימולטור.
- כדי להפעיל את הפעולה שלך בסימולטור, הקלד
Talk to Spelling Practice
בשדה הקלט בצד שמאל למעלה, ולאחר מכן הקש Enter במקלדת שלך.
כשאתה מפעיל את ההתקשרות הראשית של ה-Action, ה-Assistant מגיב בהודעת הפתיחה המותאמת אישית שלך. בשלב זה, השיחה מסתיימת לאחר שה-Assistant מגיב בברכה.
הצג יומני אירועים
כאשר אתה נמצא בכרטיסייה בדיקה , הלוח בצד ימין מציג את יומני האירועים , המציגים את היסטוריית השיחה כיומני אירועים. כל יומן אירועים מציג את האירועים המתרחשים במהלך אותו תור של השיחה. לצפייה ביומן האירועים לחץ על הסמל האפור לפני האירוע.
לפעולה שלך יש כרגע יומן אירועים אחד, המציג גם את הקלט של המשתמש ( "דבר עם תרגול איות" ) וגם את התגובה של הפעולה שלך. צילום המסך הבא מציג את יומן האירועים של הפעולה שלך:
11. בנה את השיחה לתרגול איות
כעת, לאחר שהגדרת מה קורה לאחר שמשתמש מפעיל את הפעולה שלך, אתה יכול לבנות את שאר השיחה של הפעולה שלך. לתרגול איות יש ארבע סצנות, ואתה חייב להפעיל כל סצנה לפני שהיא יכולה לרוץ. הדרך הנפוצה ביותר להפעיל סצנה היא להגדיר את הפעולה שלך כך שכאשר משתמש מתאים לכוונת משתמש בתוך סצנה, כוונה זו תפעיל את המעבר לסצנה אחרת ותפעיל אותה.
מעבר מקריאת ראשי לסצנת התחלה
בסעיף זה, אתה יוצר סצנה חדשה בשם Start
, ששולחת הנחיה למשתמש ושואלת אם הוא רוצה להתחיל לשחק בתרגול איות . אתה גם מוסיף מעבר מהקריאה הראשית לסצנת Start
החדשה.
כדי ליצור סצנה זו ולהוסיף לה מעבר, בצע את השלבים הבאים:
- לחץ על פיתוח בניווט העליון. לאחר מכן, לחץ על הזמנה ראשית בניווט הימני.
- בחלק המעבר בצד ימין, לחץ על התפריט הנפתח ולאחר מכן הקלד
Start
בשדה הטקסט.
- לחץ על הוסף . פעולה זו יוצרת סצנה בשם
Start
, ואומרת ל-Action לעבור לסצנת ה-Start
לאחר שה-Action מספקת את הנחיית הפתיחה למשתמש. - לחץ על סצנות בניווט הימני כדי להציג את רשימת הסצנות.
- תחת סצנות , לחץ על התחל כדי לראות את סצנת
Start
. - לחץ על + בקטע On enter של סצנת
Start
. - בחר שלח הנחיות .
- החלף את המשפט בשדה
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
, בצע את השלבים הבאים:
- בסצנת
Start
, לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שבב הצעה בודד. - בשדה
title
, החלףSuggested Response
'Yes'
. - באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו
'No'
'Help with Phonetics'
. הקוד שלך צריך להיראות כמו הקטע הבא: - לחץ על שמור .
בדוק את הפעולה שלך בסימולטור
בשלב זה, הפעולה שלך אמורה לעבור מהפנייה הראשית לסצנת ההתחלה ולשאול את המשתמש אם הוא רוצה להמשיך. שבבי הצעה צריכים להופיע גם בתצוגה המדומה.
כדי לבדוק את הפעולה שלך בסימולטור, בצע את השלבים הבאים:
- בסרגל הניווט, לחץ על בדיקה כדי להעביר אותך לסימולטור.
- כדי לבדוק את הפעולה שלך בסימולטור, הקלד
Talk to Spelling Practice
בשדה הקלט. - לחץ אנטר . הפעולה שלך צריכה להגיב עם ההנחיה
Main invocation
וההנחיה הנוספת שלStart
סצנה, "ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. למשל אלפא עבור a, בראבו עבור b, צ'רלי עבור c וכו'. האם אתה רוצה לְהַמשִׁיך?" .
צילום המסך הבא מציג את האינטראקציה הזו:
- לחץ על שבב ההצעה
Yes
אוNo
אוHelp with Phonetics
כדי להגיב להנחיה. (תוכל גם לומר "כן" או "לא" או "עזרה בפונטיקה" או להזיןYes
אוNo
אוHelp with Phonetics
בשדה הקלט .)
כאשר אתה מגיב להנחיה, הפעולה שלך מגיבה בהודעה המציינת שהיא לא מצליחה להבין את הקלט שלך: "סליחה, לא קלטתי את זה. האם תוכל לנסות שוב?" מכיוון שעדיין לא הגדרת את הפעולה שלך להבין ולהגיב לקלט "כן" או "לא" , הפעולה שלך תואמת את הקלט שלך לכוונת NO_MATCH
.
כברירת מחדל, כוונת מערכת NO_MATCH
מספקת תגובות כלליות, אבל אתה יכול להתאים אישית את התגובות האלה כדי לציין למשתמש שלא הבנת את הקלט שלו. ה-Assistant מסיים את השיחה של המשתמש עם הפעולה שלך לאחר שהוא לא יכול להתאים לקלט המשתמש שלוש פעמים.
הוסף לא וכוונות פונטיקה
כעת, כאשר משתמשים יכולים להגיב לשאלה שהפעולה שלך מציבה, אתה יכול להגדיר את הפעולה שלך כך שתבין את תגובות המשתמשים ( "כן" או "לא" או "עזרה בפונטיקה" ). בסעיפים הבאים, אתה יוצר כוונות משתמש המותאמות כאשר המשתמש אומר "כן" או "לא" או "עזרה בפונטיקה" ומוסיף את הכוונות הללו לסצנת Start
. אנו נשתמש בכוונת המערכת yes
וניצור כוונות אחרות.
no
ליצור כוונה
כעת, אתה צריך ליצור את הכוונה no
להבין ולהגיב למשתמש כאשר הוא לא רוצה לשחק במשחק. כדי ליצור כוונה זו, בצע את השלבים הבאים:
- לחץ על פיתוח בניווט.
- לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
- לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם לכוונה החדשה
no
והקש Enter . - לחץ על לא כדי לפתוח את הדף
no
כוונה. - בקטע הוסף ביטויי אימון , לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
-
No
-
N
-
I don't want
-
nope
- לחץ על שמור .
no
הוסף כוונה לסצנת Start
כעת, הפעולה יכולה להבין מתי משתמש מביע "לא" או משהו דומה ל"לא " , כמו "לא" . עליך להוסיף את הכוונה no
משתמש לסצנת Start
מכיוון שהמשתמש מגיב להנחיית Start
(" ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. לדוגמה אלפא עבור a, בראבו עבור b, צ'רלי עבור c וכו'. האם אתה רוצה להמשיך?" ).
כדי להוסיף את הכוונה הזו לסצנת Start
, בצע את השלבים הבאים:
- לחץ על סצנת התחל בניווט.
- לחץ על הסימן + (סימן הפלוס) בסצנת
Start
לצד טיפול בכוונת משתמש. - בקטע כוונות , בחר לא בתפריט הנפתח.
- לחץ על שלח הנחיות ועדכן את שדה
speech
בטקסט הבא:Good Bye
.
הקוד בעורך שלך צריך להיראות כמו הקטע הבא:
candidates: - first_simple: variants: - speech: >- Goodbye.
- בקטע המעבר , בחר סיים שיחה מהתפריט הנפתח.
- לחץ על שמור .
בדוק no
כוונה בסימולטור
בשלב זה, הפעולה שלך מבינה מתי המשתמש לא רוצה לשחק במשחק ומחזירה את התגובה המתאימה.
כדי לבדוק כוונה זו בסימולטור, בצע את השלבים הבאים:
- בסרגל הניווט, לחץ על בדוק .
- הקלד
Talk to Spelling Practice
בשדה הקלט והקשEnter
. - הקלד
No
בשדה קלט והקש Enter. לחלופין, לחץ על השבב ללא הצעות.
הוסף כוונת מערכת YES
לסצנת Start
כעת, נוסיף את כוונת SYSTEM "כן" לסצנת Start
, מכיוון שהמשתמש מגיב בכן להנחיית Start
(" ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. למשל אלפא עבור a, בראבו עבור ב, צ'רלי עבור ג וכו'. האם אתה רוצה להמשיך?" ).
כדי להוסיף את כוונת המשתמש הזו לסצנת Start
, בצע את השלבים הבאים:
- לחץ על סצנת התחל בניווט.
- לחץ על הסימן + (סימן הפלוס) בסצנת
Start
לצד טיפול בכוונת משתמש . - תחת כל כוונות המערכת, בחר כן בתפריט הנפתח כוונות.
- לחץ על Call your webhook ועדכן את תיבת הטקסט
event handler
עם הפונקציה שיצרת קודם לכן:getSpellingWordList
- בקטע המעבר , לחץ על התפריט הנפתח ובחר סיים שיחה .
- לחץ על שמור .
בדוק את כוונת YES
בסימולטור
בשלב זה, הפעולה שלך מבינה מתי המשתמש רוצה לשחק את המשחק ומחזירה את התגובה המתאימה.
כדי לבדוק כוונה זו בסימולטור, בצע את השלבים הבאים:
- בסרגל הניווט, לחץ על בדוק .
- כדי לבדוק את הפעולה שלך בסימולטור, הקלד
Talk to Spelling Practice
בשדה הקלט והקש Enter . - הקלד
Yes
בשדה קלט והקש Enter . לחלופין, לחץ על שבב ההצעהYes
.
הפעולה שלך מביאה רשימה של כל מילות תרגול האיות ומאחסנת אותן בהפעלה. לאחר מכן, הפעולה שלך מסיימת את הפגישה מכיוון שבחרת במעבר End conversation
עבור כוונת YES
.
צור כוונה Phonetics
כדי ליצור את כוונת Phonetics
, בצע את השלבים הבאים:
- לחץ על פיתוח בניווט.
- לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
- לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם
phonetics
של הכוונה החדשה והקשEnter
. - לחץ על כוונת
phonetics
כדי לפתוח את דף כוונתphonetics
. - בקטע הוסף ביטויי אימון, לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
-
how do I spell words
-
phonetics
-
help me with phonetics
-
phonetic alphabet
- לחץ על שמור .
הוסף כוונה phonetics
לסצנת Start
כעת, הפעולה יכולה להבין מתי משתמש מביע כוונה "פונטית" . אתה יכול להוסיף את כוונת משתמש phonetics
לסצנת Start
, מכיוון שהמשתמש מגיב להנחיית Start
(" ברוכים הבאים לתרגול איות. השתמש באלפבית הפונטי כדי לאיית את המילה. למשל אלפא עבור a, בראבו עבור b, צ'רלי עבור c וכו'. האם אתה רוצה להמשיך?" ).
כדי להוסיף את כוונת המשתמש הזו לסצנת Start
, בצע את השלבים הבאים:
- לחץ על סצנת התחל בניווט.
- לחץ על הסימן + (סימן הפלוס) בסצנת
Start
לצד טיפול בכוונת משתמש. - בחר פונטיקה בתפריט הנפתח 'כוונות'.
- בקטע המעבר , לחץ על התפריט הנפתח ובחר סיים שיחה.
- לחץ על שמור .
מעבר מסצנת התחלה לסצנת איות
בחלק זה, אתה יוצר סצנה חדשה בשם איות , ששולחת הנחיה למשתמש לאיית את המילה באמצעות האלפבית הפונטי.
כדי ליצור סצנה זו ולהוסיף לה מעבר, בצע את השלבים הבאים:
- לחץ על פיתוח בניווט העליון. לאחר מכן, לחץ על התחל סצנה בניווט השמאלי.
- בקטע טיפול בכוונת משתמש לחץ
when actions.intent.YES is matched
ומימין בקטע המעבר , לחץ על התפריט הנפתח והקלדSpelling
בשדה הטקסט. - לחץ על הוסף . זה יוצר סצנה שנקראת
Spelling
, ואומר לפעולה לעבור לסצנתSpelling
לאחר ההתאמה עם כוונת YES. - הרחב את הסצנות בניווט השמאלי כדי להציג את רשימת הסצנות.
- תחת סצנות , לחץ על איות כדי לראות את סצנת
Spelling
. - לחץ על + בקטע On enter של סצנת
Spelling
. - לחץ על Call your webhook והזן getSpellingWord בתיבת הטקסט של מטפל באירועים.
- בחר שלח הנחיות .
- החלף את המשפט בשדה
speech
(Enter the response that users will see or hear...
) ב- {} . ההודעה בפועל תאוכלס על ידי webhook.
שבבי הצעות מציעים הצעות ניתנות ללחיצה עבור המשתמש שהפעולה שלך מעבדת כקלט משתמש.
כדי להוסיף שבבי הצעה להנחיה של סצנת Spelling
, בצע את השלבים הבאים:
- בסצנת
Spelling
, לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה. - בשדה
title
, החלףSuggested Response
'Repeat'
. - באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו
'Skip'
. - באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו
'Quit'
. הקוד שלך צריך להיראות כמו הקטע הבא: - לחץ על שמור .
suggestions: - title: 'Repeat' - title: 'Skip' - title: 'Quit'
צור כוונה Repeat
כדי ליצור את הכוונה repeat
, בצע את השלבים הבאים:
- לחץ על פיתוח בניווט.
- לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
- לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם
repeat
הכוונה החדשה והקשEnter
. - לחץ על הכוונה
repeat
כדי לפתוח את דף כוונתdefinition
. - בקטע הוסף ביטויי אימון , לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
-
one more time please
-
say the word again
-
repeat the word
-
tell me again
-
repeat
- לחץ על שמור .
הוסף כוונה repeat
Spelling
איות
כעת, הפעולה יכולה להבין מתי משתמש מביע כוונה "חוזרת" . אתה יכול להוסיף את כוונת המשתמש repeat
לסצנת Spelling
, מכיוון שהמשתמש מגיב להנחיית Spelling
(" איית את המילה באמצעות אלפבית פונטי ").
כדי להוסיף את כוונת המשתמש הזו לסצנת Spelling
, בצע את השלבים הבאים:
- לחץ על סצנת האיות בניווט.
- לחץ על הסימן + (סימן הפלוס) בסצנת
Spelling
שליד טיפול בכוונת משתמש . - בחר חזרה בתפריט הנפתח כוונות.
- סמן את ה-Call webhook שלך והזן repeatSpellingWord בתיבת הטקסט של מטפל באירועים כדי לקבל את הגדרת המילה.
- סמן שלח הנחיות .
- החלף את המשפט בשדה
speech
(Enter the response that users will see or hear...
) ב-''. ההודעה בפועל תאוכלס על ידי webhook.
הוסף שבבי הצעה ל"כאשר התאמה חוזרת"
- ב" כאשר חוזרים מתאימים " תחת טיפול בכוונת משתמש, לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה.
- בשדה
title
, החלףSuggested Response
'Skip'
. - באמצעות אותו עיצוב, הוסף ידנית שבב הצעה שכותרתו
'Quit'
. הקוד שלך צריך להיראות כמו הקטע הבא:
suggestions: - title: 'Skip' - title: 'Quit'
- לחץ על שמור.
צור כוונת definition
כדי ליצור את כוונת definition
, בצע את השלבים הבאים:
- לחץ על פיתוח בניווט.
- לחץ על כוונות מותאמות אישית בניווט כדי לפתוח את רשימת הכוונות.
- לחץ על + (סימן פלוס) בסוף רשימת הכוונות. תן שם
definition
הכוונה החדשה והקשEnter
. - לחץ על כוונת
definition
כדי לפתוח את דף כוונתdefinition
. - בקטע הוסף ביטויי אימון , לחץ על תיבת הטקסט Enter Phrase והזן את הביטויים הבאים:
-
I would like to know the definition
-
tell me the definition
-
what does it mean
-
meaning
-
definition
-
what is the definition?
- לחץ על שמור .
הוסף definition
של כוונה לסצנת Spelling
כעת, הפעולה יכולה להבין מתי משתמש מביע כוונת "הגדרה" . אתה יכול להוסיף את definition
כוונת משתמש לסצנת Spelling
, מכיוון שהמשתמש מגיב להנחיית Spelling
(" אייית המילה באמצעות אלפבית פונטי ").
כדי להוסיף את כוונת המשתמש הזו לסצנת Spelling
, בצע את השלבים הבאים:
- לחץ על סצנת האיות בניווט.
- לחץ על הסימן + (סימן הפלוס) בסצנת
Spelling
שליד טיפול בכוונת משתמש . - בחר הגדרה בתפריט הנפתח 'כוונות'.
- בדוק את שיחת ה- WebHook שלך והזן את DefinitionOfswellingWord בתיבת הטקסט של Handler Handler כדי לקבל את הגדרת המילה.
- בדוק הנחיות שלח .
- החלף את המשפט בשדה
speech
(Enter the response that users will see or hear...
) ב- '' '. ההנחיה בפועל תאכלס על ידי WebHook.
הוסף שבבי הצעה לתגובת WebHook
- בסצנת
Start
, לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה. - בשדה
title
, החלףSuggested Response
'Skip'
. - באמצעות אותו עיצוב, הוסף ידנית שבב הצעות שכותרתו
'Quit'
. קוד שלך אמור להיראות כמו הקטע הבא:
suggestions: - title: 'Skip' - title: 'Quit'
- לחץ על שמור .
צור skip
דילוג
כדי ליצור את כוונת skip
, בצע את הצעדים הבאים:
- לחץ על פיתוח בניווט.
- לחץ על כוונות בניווט כדי לפתוח את רשימת הכוונות.
- לחץ על + (פלוס סימן) בסוף רשימת הכוונות. תן שם
skip
הכוונה החדש ולחץ עלEnter
. - לחץ על כוונת
skip
כדי לפתוח את דף הכוונהskip
. - בקטע הוסף ביטויי אימונים , לחץ על תיבת הטקסט של Enter Present והזן את הביטויים הבאים:
-
next word
-
go next
-
next
-
skip
-
skip word
- לחץ על שמור .
הוסף Skip
על כוונת סצנת Spelling
כעת, הפעולה יכולה להבין כאשר משתמש מבטא כוונת "דלג" . אתה יכול להוסיף את כוונת המשתמש skip
לסצנת Spelling
, מכיוון שהמשתמש מגיב לשורת Spelling
(" איית את המילה באמצעות אלפבית פונטי ").
כדי להוסיף כוונת משתמש זו לסצנת Spelling
, בצע את הצעדים הבאים:
- לחץ על סצנת האיות בניווט.
- לחץ על + (סימן פלוס) בסצנת
Spelling
לצד כוונת המשתמש Handlin g. - בחר דלג בתפריט הנפתח.
- בקטע המעבר מימין, לחץ על התפריט הנפתח ובחר
Spelling
.
- לחץ על שמור .
צור כוונה quit
כדי ליצור את כוונת Quit
, בצע את הצעדים הבאים:
- לחץ על פיתוח בניווט.
- לחץ על כוונות בניווט כדי לפתוח את רשימת הכוונות.
- לחץ על + (פלוס סימן) בסוף רשימת הכוונות. תן שם לכוונה החדשה
Quit
ולחץ עלEnter
. - לחץ על כוונת
Quit
כדי לפתוח את דף כוונת ההגדרה . - בקטע הוסף ביטויי אימונים , לחץ על תיבת הטקסט של Enter Present והזן את הביטויים הבאים:
-
I quit
-
Goodbye
-
Cancel
-
Exit
-
Quit
- לחץ על שמור.
הוסף כוונה Quit
לסצנת Spelling
כעת, הפעולה יכולה להבין כאשר משתמש מביע כוונה "להפסיק" . אתה יכול להוסיף את כוונת המשתמש quit
לסצנת Spelling
, מכיוון שהמשתמש מגיב לשורת Spelling
(" איית את המילה באמצעות אלפבית פונטי ").
כדי להוסיף כוונת משתמש זו לסצנת Spelling
, בצע את הצעדים הבאים:
- לחץ על סצנת האיות בניווט.
- לחץ על + (סימן פלוס) בסצנת
Spelling
לצד הטיפול בכוונת המשתמש . - בחר צא בתפריט הנפתח.
- בקטע המעבר מימין, לחץ על התפריט הנפתח ובחר
End conversation
. - לחץ על שמור .
צור סוג phonetic_alphabet
בחלק זה אתה יוצר סוג חדש בשם phonetic_alphabet
, המציין את אפשרויות האלף -בית הפונטיות שהמשתמשים יכולים לבחור לאיית את המילה. אתה יכול גם להגדיר כמה מילים נרדפות עבור אפשרויות אלה למקרה שמשתמש אומר משהו דומה. בחלק מאוחר יותר אתה מוסיף את סוג phonetic_alphabet
לחריץ כדי לציין שאתה רוצה להשיג את תגובת המשתמש.
כדי ליצור את סוג phonetic_alphabet
, בצע את הצעדים הבאים:
- לחץ על פיתוח בניווט.
- לחץ על + (סימן פלוס) תחת סוגים .
- הקלד
phonetic_alphabet
ולחץ עלEnter
. - לחץ על
phonetic_alphabet
כדי לפתוח את האפשרויות. - באיזה סוג ערכים יתמוך בסוג זה? קטע, בחר באפשרות מילים ונרדפות
- הזן את הערכים הבאים והערכים המתאימים בסעיף הוסף רשומות :
א | אלפא, אפל, אמסטרדם |
ב | בראבו, חמאה, בולטימור |
ג | צ'רלי, חתול, קזבלנקה |
ד | דלתא, כלב, דנמרק |
ה | הד, אדוארד, אדיסון |
ו | פוקסטרוט, פוקס, פלורידה |
ז | גולף, ג'ורג ', גליפולי |
ח | מלון, הארי, הוואנה |
אני | הודו, דיו, איטליה |
י | ג'ולייט, ג'וני, ירושלים |
ק | קילו, קינג, קילוגרם |
ל | לימה, אהבה, לונדון |
M | מייק, כסף, מדגסקר |
נ | נובמבר, ניו יורק, ננסי |
o | אוסקר, כתום, אוסלו |
ע | פאפא, פריז, פיטר |
ש | קוויבק, מלכה |
ר | רומיאו, רומא, רוברט |
ס | סיירה, סוכר, סנטיאגו |
ט | טנגו, טומי, טריפולי |
u | מדים, מטריה, דוד |
v | ויקטור, חומץ, ולנסיה |
w | ויסקי, וויליאם, וושינגטון |
איקס | צילום רנטגן |
y | ינקי, צהוב, יורק |
ז | זולו, זברה, ציריך |
טבלת ערך המפתח שלך צריכה להיראות כמו הדברים הבאים:
- לחץ על שמור .
הגדר מילוי חריץ
בשלב הבא, עליך להגדיר את מילוי המשבצות בסצנת האיות. כדי לקבוע את התצורה של ההיגיון מילוי החריץ, בצע את הצעדים הבאים:
- לחץ על סצנת האיות בניווט.
- לחץ על + (סימן פלוס) בסצנת
Spelling
למילוי משבצות . - בשדה הזן שם חריץ , הוסף את
userresponse
כשם המשבצת. - בתפריט הנפתח הבחר , בחר Phonetic_alphabet כסוג החריץ.
- עיין בחריץ זה מקבל רשימת ערכים
- בדוק חריץ זה נדרש .
- בחר התאמה אישית של אפשרות כתיבה על ערך חריץ והזן את userresponse בתיבת הטקסט של פרמטר ההפעלה.
- לחץ על שמור .
הוסף מצב למסך Spelling
כדי להוסיף תנאי לסצנת Spelling
, בצע את הצעדים הבאים:
- לחץ על סצנת האיות בניווט.
- לחץ על + (סימן פלוס) בסצנת
Spelling
לצד התנאי. - הזן
scene.slots.status == "FINAL"
- בדוק את שיחת ה- WebHook שלך והזן את VerifySpellingWord בתיבת הטקסט של Handler Event כדי לאמת את תגובת המשתמש.
- בדוק הנחיות שלח.
- החלף את המשפט בשדה
speech
(Enter the response that users will see or hear...
) ב- {} . ההנחיה בפועל תאכלס על ידי WebHook.
הוסף שבבי הצעה לתגובת WebHook
- בסצנת
Start
, לחץ על הצעות מתחת לעורך הקוד. פעולה זו מוסיפה שלושה שבבי הצעה. - בשדה
title
, החלףSuggested Response
ב'בא'Next'
. - באמצעות אותו עיצוב, הוסף ידנית שבב הצעות שכותרתו
'Quit'
. קוד שלך אמור להיראות כמו הקטע הבא:
suggestions: - title: 'Next' - title: 'Quit'
- לחץ על שמור .
12. מבחן תרגול איות בסימולטור
כדי לבדוק את הפעולה שלך בסימולטור, בצע את הצעדים הבאים:
- בסרגל הניווט, לחץ על בדיקה כדי לקחת אותך לסימולטור.
- כדי לבדוק את הפעולה שלך בסימולטור, הקלד
Talk to Spelling Practice
בשדה הקלט. - לחץ אנטר . הפעולה שלך צריכה להגיב עם הנחיה
Main invocation
ובנחת סצנתStart
הנוספת, "ברוך הבא לתרגול איות. השתמש באלף -בית הפונטי כדי לאיית את המילה. לדוגמא אלפא עבור A, Bravo עבור B, Charlie C וכו '. האם אתה רוצה לְהַמשִׁיך?" . - תגיד כן כדי להמשיך
- סימולטור ינגן צליל מילה לאיית
- אתה יכול לאיית את המילה באמצעות אלפבית פונטית. לדוגמה, כדי לומר טוב יותר או להקליד "Bravo Echo Tango Tango Echo Romeo"
- סימולטור יגיב עם התגובה הנכונה או השגויה.
- אמור הבא כדי להמשיך למילה הבאה או אמרו להפסיק לצאת מלולאת המשחק.
13. מזל טוב
מזל טוב, בנית בהצלחה את המשחק שלך, איות תרגול !
כעת אתה יודע את שלבי המפתח הנדרשים לבניית משחק באמצעות Cloud Firestore, פונקציות ענן ובונה פעולה של Google Assistant.
מה שכיסית
- כיצד לקיים אינטראקציה עם ענן פירסטור
- כיצד להשתמש בחריצים כדי לאסוף נתונים מהמשתמש
- כיצד לעבד את קלט המשתמש ולהחזיר תגובה
- כיצד להשתמש בתנאים כדי להוסיף היגיון לסצנה
- איך להוסיף לולאת משחק
משאבי למידה נוספים
אתה יכול לחקור משאבים אלה ללימוד על בניית פעולות עבור Google Assistant:
- תיעוד לפיתוח פעולות עבור Google Assistant
- פעולות בדף Google GitHub עבור קוד לדוגמא וספריות
- קהילת Reddit הרשמית למפתחים העובדים עם עוזר גוגל
- הנחיות לעיצוב שיחה לשיטות עבודה מומלצות והנחיות הנוגעות לפעולות שיחה
- מבוא לענן פירסטור
נקה את הפרויקט שלך [מומלץ]
כדי למנוע חיובים אפשריים, מומלץ להסיר פרויקטים שאינך מתכוון להשתמש בהם. כדי למחוק את הפרויקטים שיצרת בקודלב זה, בצע את הצעדים הבאים:
- כדי למחוק את פרויקט ה- Firebase והמשאבים שלך, מלא את הצעדים המופיעים בסעיף הפרויקטים של כיבוי (מחיקה) .
זהירות: וודא שאתה בוחר את הפרויקט הנכון למחיקה בדף ההגדרות של קונסולת Google Console.
- אופציונלי: כדי להסיר מייד את הפרויקט שלך ממסוף הפעולות, מלא את הצעדים המופיעים במחיקת פרק פרויקט . אם לא תסיים שלב זה, הפרויקט שלך יוסר אוטומטית לאחר כ -30 יום.
עקוב אחר @Actionsongoogle & @FireBase בטוויטר כדי להישאר מעודכן להודעות האחרונות שלנו וציוץ ל- #googleio כדי לשתף את מה שבנית!