Οι παγκόσμιες μεταβλητές εφαρμόζονται κατά τη διάρκεια μιας περιόδου λειτουργίας ενός χρήστη. Καθορίζετε ποιες μεταβλητές είναι παγκόσμιες για να διακριθούν από τις μεταβλητές επιπέδου θέματος.
Δημιουργία καθολικής μεταβλητής
Δημιουργείτε μια καθολική μεταβλητή αλλάζοντας το πεδίο μιας μεταβλητής θέματος.
Δημιουργήστε μια μεταβλητή ή χρησιμοποιήστε το τμήμα παραθύρου Μεταβλητές για να ανοίξετε μια υπάρχουσα μεταβλητή.
Στον πίνακα Ιδιότητες μεταβλητής, επιλέξτε Παγκόσμιο (οποιοδήποτε θέμα μπορεί να προσπελαστεί).
Στο όνομα της μεταβλητής δίνεται το πρόθεμα Global.
, ώστε να γίνει διαφοροποίηση από τις μεταβλητές επιπέδου θέματος. Για παράδειγμα, η μεταβλητή UserName
εμφανίζεται τώρα ως Global.UserName
.
Αποθηκεύστε το θέμα.
Το όνομα μιας παγκόσμιας μεταβλητής πρέπει να είναι μοναδικό σε όλα τα θέματα.
Χρήση καθολικών μεταβλητών
Όταν συνθέτετε ένα μήνυμα σε έναν κόμβο μηνύματος ή έναν κόμβο ερώτησης, επιλέξτε το εικονίδιο {x} για να προβάλετε τις μεταβλητές που είναι διαθέσιμες για το θέμα. Οι καθολικές μεταβλητές εμφανίζονται στην καρτέλα Προσαρμογή μαζί με τυχόν μεταβλητές θέματος. Οι μεταβλητές παρατίθενται με αλφαβητική σειρά.
Εύρεση όλων των θεμάτων με τη χρήση καθολικής μεταβλητής
Μπορείτε να βρείτε πού ορίζεται μια καθολική μεταβλητή και ποια άλλα θέματα τη χρησιμοποιούν. Αυτή η δυνατότητα μπορεί να είναι χρήσιμο εάν εργάζεστε σε ένα νέο παράγοντα ή αν έχετε πολλές μεταβλητές και πολύπλοκη διακλάδωση θεμάτων.
Επιλέξτε την επιθυμητή καθολική μεταβλητή στον καμβά σύνταξης ή στον πίνακα Μεταβλητές.
Στον πίνακα ιδιοτήτων μεταβλητής, στην ενότητα Αναφορά, επιλέξτε Προβολή όλων των αναφορών.
Μεταβείτε στην καρτέλα Άλλες και επιλέξτε οποιοδήποτε θέμα όπου χρησιμοποιείται η μεταβλητή για μετάβαση απευθείας σε αυτό το θέμα και στον κόμβο.
Κύκλος ζωής καθολικών μεταβλητών
Από προεπιλογή, η τιμή μιας καθολικής μεταβλητής διατηρείται μέχρι να λήξει η περίοδος λειτουργίας. Ο κόμβος Εκκαθάριση τιμών μεταβλητών επαναρυθμίζει τις τιμές των καθολικών μεταβλητών και χρησιμοποιείται στο θέμα συστήματος Επαναφορά συνομιλίας. Αυτό το θέμα μπορεί να ενεργοποιηθεί είτε μέσω ανακατεύθυνσης είτε όταν ο χρήστης εισαγάγει μια φράση ενεργοποίησης, όπως "Έναρξη από την αρχή". Σε αυτή την περίπτωση, ρυθμίζεται η επαναφορά όλων των καθολικών μεταβλητών.
Ορισμός της τιμής μιας καθολικής μεταβλητής από εξωτερικές πηγές
Εάν θέλετε να βεβαιωθείτε ότι ο παράγοντας ξεκινά μια συνομιλία με κάποιο περιβάλλον, μπορείτε να προετοιμάσετε μια καθολική μεταβλητή με μια εξωτερική προέλευση. Ας πούμε ότι η τοποθεσία σας απαιτεί από τους χρήστες να συνδεθούν. Δεδομένου ότι ο παράγοντάς σας γνωρίζει ήδη το όνομα ενός χρήστη, μπορεί να χαιρετήσει τους πελάτες με το όνομά τους πριν αρχίσουν να πληκτρολογούν την πρώτη τους ερώτηση.
Επιλέξτε μια καθολική μεταβλητή.
Στο τμήμα παραθύρου Ιδιότητες μεταβλητής , επιλέξτε Οι εξωτερικές προελεύσεις μπορούν να ορίσουν τιμές.
Καθορισμός καθολικών μεταβλητών σε ενσωματωμένο παράγοντα
Εάν ενσωματώσετε τον παράγοντα σας σε μια απλή ιστοσελίδα, μπορείτε να προσαρτήσετε μεταβλητές και τους ορισμούς τους στη διεύθυνση URL του παράγοντα. Εναλλακτικά, αν θέλετε λίγο περισσότερο έλεγχο, μπορείτε να χρησιμοποιήσετε ένα μπλοκ κώδικα <script>
για να καλέσετε και να χρησιμοποιήσετε μεταβλητές μέσω προγραμματισμού.
Το όνομα της μεταβλητής στη συμβολοσειρά ερωτήματος της διεύθυνσης URL πρέπει να είναι ίδιο με το όνομα της καθολικής μεταβλητής, χωρίς το πρόθεμα Global.
. Για παράδειγμα, μια καθολική μεταβλητή Global.UserName
θα αναφέρεται ως UserName
στο ερώτημα.
Τα παραδείγματα που ακολουθούν χρησιμοποιούν μια βασική δήλωση για τις μεταβλητές. Σε ένα σενάριο παραγωγής, μπορείτε να μεταβιβάσετε στην παράμετρο ερωτήματος ή τον ορισμό μεταβλητής μια άλλη μεταβλητή που αποθηκεύει το όνομα χρήστη (για παράδειγμα, εάν έχετε το όνομα χρήστη από μια δέσμη ενεργειών εισόδου).
Προσαρτήστε τις μεταβλητές και τους ορισμούς τους στη διεύθυνση URL του παράγοντα ως παραμέτρους συμβολοσειράς ερωτήματος με τη μορφή του botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
.
Για παράδειγμα:
Το όνομα της παραμέτρου έχει διάκριση πεζών-κεφαλαίων. Το username=Ana
θα λειτουργούσε επίσης σε αυτό το παράδειγμα.
Προσθέσετε καθολικές μεταβλητές σε έναν προσαρμοσμένο καμβά
Μπορείτε επίσης να προσθέσετε τη μεταβλητή σε έναν προσαρμοσμένο καμβά.
Στην ενότητα <script>
στη σελίδα όπου έχετε το παράγοντα, καθορίστε τις μεταβλητές ως εξής, αντικαθιστώντας το variableName1
για το όνομα της μεταβλητής χωρίς πρόθεμα Global.
και το variableDefinition1
για τον ορισμό. Χωρίστε πολλές μεταβλητές με κόμματα (,
).
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
Στην ενότητα <script>
, καλέστε το store
όταν ενσωματώσετε τον παράγοντα σας όπως στο παρακάτω παράδειγμα, όπου το store
καλείται ακριβώς πριν από το σημείο που καλείται το styleOptions
( θα πρέπει να αντικαταστήσετε το BOT_ID
με το αναγνωριστικό παράγοντα):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Οι παγκόσμιες μεταβλητές εφαρμόζονται κατά τη διάρκεια μιας περιόδου λειτουργίας ενός χρήστη. Καθορίζετε ποιες μεταβλητές είναι παγκόσμιες για να διακριθούν από τις μεταβλητές επιπέδου θέματος.
Ορισμός καθολικών μεταβλητών
Αφού κάνετε μια μεταβλητή καθολική, γίνεται διαθέσιμη σε όλα τα θέματα.
Όταν επιλέγετε το εικονίδιο {x}
κατά τη σύνταξη ενός μηνύματος σε έναν κόμβο μηνύματος ή ερώτησης, βλέπετε όλες τις καθολικές μεταβλητές. Οι μεταβλητές παρατίθενται με αλφαβητική σειρά και όλες οι καθολικές μεταβλητές εμφανίζονται μαζί, επειδή όλες αρχίζουν με bot.
.
Όταν χρησιμοποιείτε έναν κόμβο συνθήκης, έναν κόμβο ενέργειας ροής ή έναν κόμβο δεξιότητας, θα δείτε επίσης καθολικές μεταβλητές να είναι διαθέσιμες εκεί.
Επαναχρησιμοποιήστε μια μεταβλητή σε όλα τα θέματα κάνοντάς την καθολική μεταβλητή
Επιλέξτε τη μεταβλητή που θέλετε στον καμβά σύνταξης.
Στον πίνακα Ιδιότητες μεταβλητής, κάτω από τη Χρήση, επιλέξτε Bot (οποιοδήποτε θέμα μπορεί να προσπελαστεί).
Το όνομα της μεταβλητής επισημαίνεται με ένα πρόθεμα bot.
, ώστε να γίνει διαφοροποίηση από τις μεταβλητές επιπέδου θέματος. Για παράδειγμα, η μεταβλητή UserEmail
εμφανίζεται τώρα ως bot.UserEmail
.
Σημείωμα
Το όνομα μιας παγκόσμιας μεταβλητής πρέπει να είναι μοναδικό σε όλα τα θέματα.
Διαχείριση καθολικών μεταβλητών
Αφού δημιουργήσετε μια καθολική μεταβλητή, μπορείτε να δείτε πού ορίζεται για πρώτη φορά και ποια άλλα θέματα τη χρησιμοποιούν. Αυτή η δυνατότητα μπορεί να είναι χρήσιμο εάν εργάζεστε σε ένα νέο παράγοντα ή αν έχετε πολλές μεταβλητές και πολύπλοκη διακλάδωση θεμάτων.
Μεταβείτε στην προέλευση του ορισμού μιας καθολικής μεταβλητής
Επιλέξτε τη μεταβλητή που θέλετε στον καμβά σύνταξης.
Στον πίνακα Ιδιότητες μεταβλητής, επιλέξτε Μετάβαση στην προέλευση.
Αυτή η ενέργεια σας μεταφέρει στον κόμβο του θέματος όπου δημιουργήθηκε η καθολική μεταβλητή.
Εύρεση όλων των θεμάτων με τη χρήση καθολικής μεταβλητής
Επιλέξτε τη μεταβλητή που θέλετε στον καμβά σύνταξης.
Στον πίνακα Ιδιότητες μεταβλητής, στην ενότητα Χρησιμοποιείται από, επιλέξτε οποιοδήποτε από τα θέματα όπου χρησιμοποιείται η μεταβλητή για να μεταβείτε σε αυτό το θέμα.
Προετοιμασία καθολικής μεταβλητής
Εάν μια καθολική μεταβλητή ενεργοποιηθεί πριν από την προετοιμασία (ή τη "συμπλήρωση"), ο παράγοντας θα ενεργοποιήσει αυτόματα το τμήμα του θέματος όπου η καθολική μεταβλητή έχει καθοριστεί πρώτα, ακόμα κι αν βρίσκεται σε διαφορετικό θέμα πριν επιστρέψει στο αρχικό θέμα. Αυτή η συμπεριφορά επιτρέπει στον παράγοντα να συμπληρώσει όλες τις μεταβλητές χωρίς να διακόπτει τη συνομιλία.
Για παράδειγμα, ο πελάτης ξεκινά τη συνομιλία στο θέμα "Κράτηση συνάντησης" όπου χρησιμοποιείται μια καθολική μεταβλητή bot.UserName
. Ωστόσο, η μεταβλητή bot.UserName
ορίζεται πρώτα στο θέμα "Καλώς ορίσατε".
Όταν η συνομιλία έρθει στο σημείο στο θέμα "Κράτηση συνάντησης" όπου αναφέρεται το bot.UserName
, ο παράγοντας θα κάνει συγκεντρωτική προβολή απρόσκοπτα στον κόμβο ερωτήσεων όπου έχει οριστεί το bot.UserName
για πρώτη φορά.
Αφού ο πελάτης απαντήσει στην ερώτηση, ο παράγοντας συνεχίζει το θέμα κράτησης συνάντησης.
Συμπεριφορά καθολικής μεταβλητής κατά την υλοποίηση ενεργειών μέσω ροών ή δεξιοτήτων Power Automate
Μερικές φορές, μπορείτε να χρησιμοποιήσετε μια ροή ή μια δεξιότητα για να αρχικοποιήσετε ή να συμπληρώσετε μια μεταβλητή.
Όταν ένας χρήστης αλληλεπιδρά με τον παράγοντα, ωστόσο, η μεταβλητή μπορεί να συμπληρωθεί σε ένα προηγούμενο σημείο της συνομιλίας ή ίσως έχετε ήδη ορίσει τις μεταβλητές εξωτερικά.
Σε αυτήν την περίπτωση, η ροή ή η δεξιότητα εξακολουθεί να εκτελείται και να συμπληρώνει τη μεταβλητή, να αντικαθιστά οτιδήποτε είχε αποθηκευτεί προηγουμένως στη μεταβλητή.
Κύκλος ζωής καθολικών μεταβλητών και επαναφορά της τιμής του
Η πρόσβαση στις καθολικές μεταβλητές είναι δυνατή από οποιοδήποτε θέμα και τιμή της παραμένει σε όλη την περίοδο λειτουργίας.
Η τιμή απαλείφεται μόνο όταν γίνεται ανακατεύθυνση του χρήστη παράγοντα στο θέμα συστήματος Ξεκινήστε από την αρχή ή όταν ο χρήστης ενεργοποιεί το θέμα απευθείας (για παράδειγμα, πληκτρολογώντας "Ξεκινήστε από την αρχή"). Σε αυτή την περίπτωση, όλες οι καθολικές μεταβλητές μηδενίζονται και δεν έχουν τιμή.
Ορισμός της τιμής μιας καθολικής μεταβλητής από εξωτερικές πηγές
Μπορείτε να ορίσετε μια καθολική μεταβλητή για να προετοιμαστεί από μια εξωτερική προέλευση. Αυτή η ενέργεια επιτρέπει στον παράγοντα να ξεκινήσει τη συνομιλία με κάποιο περιβάλλον.
Για παράδειγμα, ένας πελάτης δημιουργεί μια συνομιλία παράγοντα μέσω της τοποθεσίας Web σας και η τοποθεσία γνωρίζει ήδη το όνομα του πελάτη. Θα πρέπει να γνωρίζετε το όνομα του παράγοντα πριν ξεκινήσετε τη συνομιλία και επίσης ο παράγοντας μπορεί να κάνει μια πιο ευφυή συνομιλία με τον πελάτη χωρίς να χρειάζεται να ζητήσει ξανά το όνομά του.
Ορισμός καθολικής μεταβλητής από εξωτερική προέλευση
Επιλέξτε οποιαδήποτε μεταβλητή στον καμβά σύνταξης.
Στον πίνακα Ιδιότητες μεταβλητής, στην ενότητα Χρήση, επιλέξτε το πλαίσιο ελέγχου Οι εξωτερικές προελεύσεις μπορούν να ορίσουν τιμές.
Μπορείτε να προσαρτήσετε τις μεταβλητές και τους ορισμούς τους αν απλώς ενσωματώσετε τον παράγοντα σε μια απλή σελίδα web ή μπορείτε να χρησιμοποιήσετε ένα <script>
μπλοκ κώδικα για να καλέσετε και να χρησιμοποιήσετε μεταβλητές μέσω προγραμματισμού.
Σημείωμα
Το όνομα της μεταβλητής στη συμβολοσειρά ερωτήματος πρέπει να είναι ίδιο με αυτό της καθολικής μεταβλητής, χωρίς το πρόθεμα bot.
. Για παράδειγμα, η καθολική μεταβλητή bot.UserEmail
πρέπει να εμφανίζεται ως UserEmail=
.
Στα παραδείγματα που περιγράφονται εδώ, γίνεται μια απλή δήλωση για τις μεταβλητές. Σε ένα σενάριο παραγωγής, μπορείτε να μεταβιβάσετε στην παράμετρο ερωτήματος ή τον ορισμό μεταβλητής μια άλλη μεταβλητή που αποθηκεύει το όνομα χρήστη (για παράδειγμα, εάν έχετε το όνομα χρήστη από μια δέσμη ενεργειών εισόδου).
Για να προσθέσετε τη μεταβλητή σε ένα ενσωματωμένο παράγοντα
Προσαρτήστε τις μεταβλητές και τους ορισμούς τους στη διεύθυνση URL του παράγοντα ως παραμέτρους συμβολοσειράς ερωτήματος (με τη μορφή του botURL?variableName1=variableDefinition1&variableName2=variableDefinition2
), για παράδειγμα:
Το όνομα της παραμέτρου έχει διάκριση πεζών-κεφαλαίων. Αυτό σημαίνει ότι το useremail=Ana@contoso.com
θα λειτουργήσει σε αυτό το παράδειγμα.
Για να προσθέσετε τη μεταβλητή σε έναν προσαρμοσμένο καμβά
Στην ενότητα <script>
στη σελίδα όπου έχετε το παράγοντα, καθορίστε τις μεταβλητές ως εξής, αντικαθιστώντας το variableName1
για το όνομα της μεταβλητής χωρίς πρόθεμα bot.
και το variableDefinition1
για τον ορισμό. Χωρίστε πολλές μεταβλητές με κόμματα ,
.
const store = WebChat.createStore({}, ({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
dispatch({
type: "WEB_CHAT/SEND_EVENT",
payload: {
name: "pvaSetContext",
value: {
"variableName1": "variableDefinition1",
"variableName2": "variableDefinition2"
}
},
});
}
return next(action);
});
Στην ενότητα <script>
, καλέστε το store
όταν ενσωματώσετε τον παράγοντα σας όπως στο παρακάτω παράδειγμα, όπου το store
καλείται ακριβώς πριν από το σημείο που καλείται το styleOptions
( θα πρέπει να αντικαταστήσετε το BOT_ID
με το αναγνωριστικό):
const BOT_ID = "12345-5678";
const theURL = "https://powerva.microsoft.com/api/botmanagement/v1/directline/directlinetoken?botId=" + BOT_ID;
fetch(theURL)
.then(response => response.json())
.then(conversationInfo => {
window.WebChat.renderWebChat(
{
directLine: window.WebChat.createDirectLine({
token: conversationInfo.token,
}),
store,
styleOptions
},
document.getElementById('webchat')
);
})
.catch(err => console.error("An error occurred: " + err));
Διαγραφή καθολικών μεταβλητών
Εάν αφαιρέσετε μια καθολική μεταβλητή που χρησιμοποιείται σε άλλα θέματα, οι αναφορές σε αυτήν τη μεταβλητή στα θέματα θα επισημαίνεται ως Unknown
. Θα λάβετε μια προειδοποίηση σχετικά με τη διαγραφή της καθολικής μεταβλητής για να επιβεβαιώσετε τη λειτουργία.
Οι κόμβοι που περιέχουν αναφορές σε μια διαγραμμένη καθολική μεταβλητή υποδεικνύουν ότι περιέχουν μια άγνωστη μεταβλητή.
Τα θέματα με κόμβους που περιέχουν αναφορές σε διαγραμμένες καθολικές μεταβλητές ενδέχεται να σταματήσουν να λειτουργούν. Βεβαιωθείτε ότι έχετε καταργήσει ή διορθώσει όλα τα θέματα που χρησιμοποιούσαν τη διαγραμμένη μεταβλητή πριν από τη δημοσίευση του παράγοντά σας.
Ανάλογα με τη ρύθμιση του ελέγχου ταυτότητας του παράγοντα, θα έχετε στη διάθεσή σας ένα σύνολο καθολικών μεταβλητών που να σχετίζεται με την επιλεγμένη υπηρεσία παροχής ελέγχου ταυτότητας. Για λεπτομέρειες σχετικά με το σύνολο των μεταβλητών που είναι διαθέσιμες και τον τρόπο χρήσης τους, δείτε το θέμα τεμηρίωσης Προσθήκη ελέγχου ταυτότητας χρήστη σε θέματα.