Kulcsérték tárolás, avagy hogyan váltak kényelmesebbé alkalmazásaink
Bárki, aki a Voximplanten fejleszt, ismeri az „alkalmazások” fogalmát, amelyek felhőszkripteket, telefonszámokat, felhasználókat, szabályokat és hívási sorokat kapcsolnak össze egymással. Egyszerűen fogalmazva, az alkalmazások jelentik a fejlesztés sarokkövét platformunkon, a belépési pontot minden Voximplant alapú megoldásba, hiszen egy alkalmazás létrehozásával minden kezdődik.
Korábban az alkalmazások nem „emlékeztek” sem a szkriptek által végrehajtott műveletekre, sem a számítások eredményeire, így a fejlesztők kénytelenek voltak tárolni értékeket harmadik féltől származó szolgáltatásokban vagy a háttérrendszerükön. Ha valaha is dolgozott böngészőben helyi tárolóval, akkor az új funkciónk nagyon hasonló ehhez, mert... Lehetővé teszi az alkalmazások számára, hogy megjegyezzék azokat a kulcs-érték párokat, amelyek egyediek a fiókjában lévő egyes alkalmazásokhoz. A tároló üzemeltetése az új modulnak köszönhetően vált lehetővé ApplicationStorage – a vágás alatt rövid használati útmutatót találsz, üdvözlöm!
Voximplant alkalmazás, valamint egy szkript, egy szabály és egy felhasználó. Mindezt elkészítjük ebben az oktatóanyagban;
web kliens hívás kezdeményezéséhez - használja webtelefonunkat phone.voximplant.com.
Voximplant beállításai
Először jelentkezzen be fiókjába: manage.voximplant.com/auth. A bal oldali menüben kattintson az "Alkalmazások", majd az "Új alkalmazás" elemre, és hozzon létre egy tárhely nevű alkalmazást. Nyissa meg az új alkalmazást, váltson a Scripts lapra, hogy létrehozzon egy countingCalls szkriptet a következő kóddal:
require(Modules.ApplicationStorage);
VoxEngine.addEventListener(AppEvents.CallAlerting, async (e) => {
let r = {value: -1};
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
} catch(e) {
Logger.write('Failure while getting totalCalls value');
}
try {
await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
} catch(e) {
Logger.write('Failure while updating totalCalls value');
}
e.call.answer();
e.call.say(`Приветствую. Количество прошлых звонков: ${r.value}. `, Language.RU_RUSSIAN_MALE);
e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);
});
Az első sor az ApplicationStorage modult köti össze, a logika többi része az eseménykezelőben van elhelyezve Call Alerting.
Először deklarálunk egy változót, hogy össze tudjuk hasonlítani a kezdeti értéket a hívásszámlálóval. Ezután megpróbáljuk lekérni a boltból a totalCalls kulcs értékét. Ha még nem létezik ilyen kulcs, akkor létrehozzuk:
try {
r = await ApplicationStorage.get('totalCalls');
if (r === null) {
r = await ApplicationStorage.put('totalCalls', 0);
}
}
Minden ígéretnél kifejezetten meg kell adnia a hibakezelést, amint az a fenti listában látható – ellenkező esetben a szkript leáll, és hibaüzenetet fog látni a naplókban. Részletek itt.
Az adattárral végzett munka után a szkript hangszintézis segítségével válaszol a bejövő hívásra, és megmondja, hogy hányszor hívott korábban. Az üzenet után a szkript befejezi a munkamenetet.
Miután elmentette a szkriptet, lépjen az alkalmazás Útválasztás lapjára, és kattintson az Új szabály gombra. Hívja startCounting, adja meg a countingCalls parancsfájlt, és hagyja meg az alapértelmezett maszkot (.*).
Az utolsó dolog egy felhasználó létrehozása. Ehhez lépjen a „Felhasználók” elemre, kattintson a „Felhasználó létrehozása” elemre, adjon meg egy nevet (például user1) és jelszót, majd kattintson a „Létrehozás” gombra. Erre a bejelentkezési jelszó párosra lesz szükségünk a webtelefonon történő hitelesítéshez.
Ellenőrzés
Nyissa meg a webtelefont a hivatkozás segítségével phone.voximplant.com és jelentkezzen be a fióknév, az alkalmazásnév és az alkalmazásból származó felhasználónév-jelszó páros használatával. Sikeres bejelentkezés után írja be a karakterkészletet a beviteli mezőbe, majd kattintson a Call gombra. Ha mindent jól csinált, szintetizált üdvözlést fog hallani!
Remek fejlődést kívánunk a Voximplant-on, és maradj velünk a további hírekért – még sok lesz 😉