Innehållsförteckning:
- Steg 1: Ange dina behörigheter för ditt Google -konto
- Steg 2: Skapa din åtgärd
- Steg 3: Åkallande av åtgärder
- Steg 4: Lägg till din första åtgärd
- Steg 5: Utbildningsfraser för din avsikt
- Steg 6: Enheter
- Steg 7: Åtgärd och parametrar
- Steg 8: Uppfyllelse
- Steg 9: Välkomstavsikt
- Steg 10: Din Python -webbtjänst
- Steg 11: Testa din handling
- Steg 12: Släpp din åtgärd
Video: Skapa anpassade åtgärder för Google Assistant: 12 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:42
När jag såg potentialen hos Google Assistant som den presenterades i Google I/O 18 samt Volvo Cars i deras infotainmentsystem kunde jag inte låta bli att testa den. Jag återanvände ett av mina äldre projekt, VasttraPi och kopplade det till Google Assistant. Om du vill läsa mer om projektet skulle jag bli glad om du tittar på den relaterade artikeln på min blogg: Anpassade åtgärder för Google Assistant.
I den här instruktionsboken går vi igenom de steg som är nödvändiga för att starta din egen Google Assistant -åtgärd som kommer att kommunicera med din server och prata tillbaka till dig med en lista över kommande avgångar. Tänk på att vi inte kommer att använda SDK eftersom vi kör detta helt i Google Assistant och inte vår egen enhet. Sammantaget kommer det att hållas enkelt. Din åtgärd kommer att vara användbar på enheter som stöder Google Assistant, till exempel telefoner, surfplattor, hemassistenter och wearables, och du kan till och med dela den som du skulle med en app i Play Store!
En av de främsta fördelarna med att skapa något sådant här över att använda tjänster som IFTTT är att du kan skapa anpassade svar på din server som kommer att läsas av Google Assistant. I IFTTT är kommunikationen så långt det gäller mig enkelriktad.
Följande ämnen kommer att behandlas:
- Skapa ditt första åtgärdsprojekt
- Skapa ditt anpassade avsikt
- Skapa din egen enhet
- Ställa in en webhook för att uppfylla din handling
- Konfigurera en enkel REST -server, skriven i Python med Flask, som ger svar eller "uppfyllelse"
- Testar ditt Action -projekt
- Släpp ditt Action -projekt
Här hittar du inte många detaljer eller teori om de olika funktionerna och koncepten i Google Assistant. Om du är intresserad av dem föreslår jag starkt att du följer den officiella handledningen eller tittar på den här videon.
Steg 1: Ange dina behörigheter för ditt Google -konto
Innan vi börjar måste vi se till att Google Assistant har rätt behörighet.
- Gå till Aktivitetskontroller
-
Se till att följande är aktiverat:
- Webb- och appaktivitet
- Enhetsinformation
- Röst- och ljudaktivitet
Steg 2: Skapa din åtgärd
- Gå till Actions Console och klicka på "Lägg till/importera projekt"
- Låt oss kalla detta åtgärdsprojekt för "lokal trafikplanerare".
- Klicka på "Skapa projekt".
- Välj inte en kategori på nästa sida och klicka på "Hoppa över".
- Du borde vara på huvudsidan för åtgärdskonsolen nu.
Steg 3: Åkallande av åtgärder
Bestäm hur du vill aktivera Google Assistant för att starta din åtgärd.
- Klicka på "Bestäm hur din åtgärd ska åberopas" under "Snabbinställning".
- Kalla det "Min lokala trafikplanerare" och klicka på "Spara".
-
Klicka på "UPPDATERA PROVINVOKATIONER" -prompten som dök upp efter att du klickat på spara.
Du kan också hitta det här alternativet under "Kataloginformation"
- Lägg till "Fråga min lokala trafikplanerare" som ett nytt anrop och klicka på "Spara".
Steg 4: Lägg till din första åtgärd
- Klicka på "Åtgärder" i det vänstra fältet.
- Klicka på "LÄGG TILL DIN FÖRSTA ÅTGÄRD".
- Välj "Anpassad avsikt" och klicka sedan på "Bygg".
- Du kommer till Dialogflow -sidan där du kommer att implementera huvudlogiken.
Steg 5: Utbildningsfraser för din avsikt
- Välj din tidszon och klicka på "Skapa".
- På nästa sida, lämna befintliga avsikter och klicka på "SKAPA AVSIKT".
- Ge avsikten ett rimligt namn, dvs "avgångar".
- Gå till "Träningsfraser" och klicka på "Lägg till träningsfraser".
-
Använd följande fraser för att träna din modell så att den kan tolka det du berättar för den:
- Jag är hemma just nu
- För tillfället är jag hemma
- Jag är i vår lägenhet just nu
- Jag sitter hemma
- För närvarande är jag nära jobbet
- jag är på jobbet
- Jag är på kontoret
- Arbete
- Hem
Steg 6: Enheter
Nu har du specificerat vad som mer eller mindre kan förväntas som en ingång, vi måste definiera vilka delar av ingången som är av intresse för vår affärslogik så att de kan extraheras och markeras för vår server. I vårt fall vill vi veta om användaren är hemma eller på jobbet, så att vi kan svara tillbaka med avgångarna från den specifika stationen. Låt oss se hur vi kan göra det.
- Om du dubbelklickar på ett eller flera ord i träningsfraserna får du en lista med fördefinierade enheter. Du kan läsa mer om var och en av dem här. Sammantaget är den mest lämpliga @sys.location men jag tror att det är bäst och enklast om vi skapar vår egen enhet som vi ska kalla @current-location.
- Klicka på alternativet "Enheter" till vänster.
- Klicka på "SKAPA ENTITET".
-
Ställ in namnet på "aktuell plats" och definiera två referensvärden tillsammans med deras synonymer:
-
Hem
hem, hus, lägenhet, spjälsäng
-
arbete
arbete, kontor, Aptiv, kodgruvor (lol skojar bara)
-
- Klicka på "Spara. För extra effekt kan du också klicka på" Tillåt automatisk expansion "för att ge Google Assistant ytterligare friheter att försöka matcha fler synonymer med dina referensvärden.
Steg 7: Åtgärd och parametrar
Dags att ge lite mening åt sökorden i dina träningsfraser.
- Klicka på "Avsikter" och navigera sedan till ditt anpassade avsikt, dvs "avgångar" om du har följt mina namnförslag.
- Rulla ner till "Träningsfraser".
- Dubbelklicka på orden som anger din nuvarande plats och välj taggen @current-location från popup-fönstret.
- Rulla ner till "Åtgärder och parametrar", klicka på "hantera"
- Om allt gjordes korrekt ser du din nya enhet listas där.
- Markera rutan "Obligatorisk" som gör att en ny kolumn "Frågor" visas. Prompts är vad användaren ska höra om ingenting som matchar förväntningarna har levererats.
- Klicka på "Definiera uppmaningar" och infoga något i stil med "Jag förstod inte din plats. Var är du för tillfället?".
Steg 8: Uppfyllelse
Nu är det dags att ansluta din webbtjänst till Google Assistant Action. Din krok kommer att kallas när denna specifika avsikt utlöses och bör ge upphov till att denna åtgärd uppfylls. Innan dess vill vi också fastställa vår avsikt att avsluta åtgärden efter att ha fullgjorts.
- Gå till "Svar" och klicka på "LÄGG TILL ANSVAR".
- Lägg inte till några svar, aktivera bara "Ange denna avsikt som samtalets slut".
- Rulla ner till "Uppfyllelse", klicka på "AKTIVERA FULLFÖLJNING" och slå sedan på "Aktivera webbhook -anrop för denna avsikt".
- Klicka på "Spara" och gå till alternativet "Uppfyllelse" till vänster.
-
Aktivera alternativet "Webhook" och infoga webbadressen som "lyssnar" av din webbserver.
När avsikten utlöses kommer den att skicka en POST -begäran till din webbplats med förfrågan som innehåller ett JSON -objekt med den aktuella platsen för användaren
- Klicka på Spara.
- Nu är vi redo att skapa vår webbtjänst, men innan det, låt oss se till att vår åtgärd välkomnar oss på ett korrekt sätt.
Steg 9: Välkomstavsikt
För att anpassa användarupplevelsen bör vi skapa en lämplig hälsning för oss när vi utlöser vår handling.
- Gå till "Avsikter" och klicka sedan på "Standard välkomstavsikt".
- Rulla ner till "Svar", ta bort de befintliga och infoga vad du vill att din åtgärd ska välkomna dig när den har startats.
- Klicka på "Spara".
Steg 10: Din Python -webbtjänst
Låt oss göra en snabb och smutsig Python -server med hjälp av Flask. Inga skärmdumpar för detta steg, men det borde vara ganska rakt fram.
- Öppna en ny flik och skapa ett konto på pythonanywhere.com
- Verifiera din epost.
- Konfigurera din webbapplikation genom att klicka på "Öppna webbflik".
- Klicka på "Lägg till en ny webbapp" och välj "Flask" som ditt Python -webbramverk.
- Välj Python 3.6 och klicka på "Nästa".
- Välj den väg du vill att din "flask_app.py" ska bo på. Jag placerade den direkt inuti min hemmapp som "/home/your-username/flask_app.py".
- Gå tillbaka till huvudsidan genom att klicka på Python -logotypen i det övre vänstra hörnet.
- Under filer, klicka på "flask_app.py" för att börja redigera den.
- När webbtextredigeraren öppnas klistrar du in följande kod och klickar på "Spara". Den övergripande tanken är att beroende på den analyserade JSON som kommer från Google Asssistant kommer vår server att utföra en åtgärd (t.ex. läsa eller skriva) och rapportera tillbaka det som ett svar /uppfyllelse som bör läsas för användaren.
- Klicka på "Öppna webbflik" igen och sedan på den gröna "Ladda om -knappen".
- Nu borde du ha en egen Python-webbserver som körs på "https://your-username.pythonanywhere.com/departures".
Steg 11: Testa din handling
OK, du är ganska klar nu. Låt oss testa hela stacken nu och få det här "Hej världen" -exemplet att fungera!
- Klicka på "Integrationer" i fältet till vänster.
- Klicka på "Integrationsinställningar" under alternativet Google Assistant.
- Under "Implicit påkallelse lägger du till namnet på din avsikt, dvs" avgångar "så att det kan utlösas direkt genom att säga något som" Hej Google, prata med min lokala trafikplanerare om avgångar hemifrån ".
- Aktivera "Automatisk förhandsgranskning".
- Klicka på "Test" som öppnar en ny sida.
- Skriv "Prata med min lokala trafikplanerare".
- Din åtgärd bör åberopas, vilket bör hälsa dig med ett av de tidigare inställda välkomnande avsikten.
- Skriv sedan "Jag är på jobbet". Din Python -server bör kontaktas och svaret kommer att läsas av Google Assistant.
Coolt är det inte? Föreställ dig nu vad du kan göra genom att interagera med sensorer, ställdon och andra API: er via din Google Assistant.
Steg 12: Släpp din åtgärd
När du är klar med att testa din handling och det är i gott skick är det dags att dela kärleken med världen eller, om det inte är vettigt, med dina vänner och familj.
- Gå tillbaka till din åtgärdskonsol och välj din lokala trafikplanerare.
- Under "Gör dig redo för distribution" klickar du på "Ange information som krävs för att visa din åtgärd i åtgärdskatalogen".
- Ange en kort beskrivning, en längre beskrivning, en liten logotyp, dina kontaktuppgifter, en länk till sekretesspolicy (om du inte vill dela detta offentligt lägger du bara en länk till din webbplats eller något) och en kategori.
- Rulla upp och klicka på "Spara".
- Klicka på "Släpp" -alternativet i den vänstra fältet.
- Här kan du välja i vilket tillstånd din åtgärd är. Om du inte vill höra svaret "Låt oss få testversionen av Min lokala trafikplanerare" måste du göra ett fullvärdigt offentligt meddelande. Men det kräver en granskning av Google och kommer inte att täckas i den här självstudien. Istället kan du fortfarande dela detta med upp till 20 personer genom att välja en Alpha -version och lägga till dem som Alpha -testare.
- Lägg till eventuella alfatestare genom att antingen skicka dem en länk eller lägga till deras e -postmeddelanden.
- Klicka på "SKICKA FÖR ALFA", kryssa i rutorna, klicka på "SKICKA" och du är klar!
Nu är din Action live och kan nås av dig och dina vänner. Ha så kul!
Om du är intresserad av koden jag använde, ta en titt på projektet på GitHub.
Rekommenderad:
Skapa anpassade kartor för din Garmin GPS: 8 steg (med bilder)
Skapa anpassade kartor för din Garmin GPS: Om du har en Garmin GPS avsedd för vandring och andra utomhusaktiviteter (inklusive GPSMAP, eTrex, Colorado, Dakota, Oregon och Montana -serien, bland några andra) behöver du inte nöja dig med bara benkartorna som kom förinstallerade på den. E
Återanvända en kylfläns för dator för att skapa en transistorkylare: 7 steg
Återanvända en kylfläns för dator för att skapa en transistorkylare: För ett tag sedan köpte jag några Raspberry Pi 3s att leka med. Eftersom de kommer utan kylfläns var jag på marknaden för några. Jag gjorde en snabb Google -sökning och stötte på denna Instructable (Raspberry Pi Heat Sink) - detta var efter att ha avvisat tanken på
Hur man utformar anpassade, 3D -utskrivbara hängslen för armskada: 8 steg (med bilder)
Hur man utformar anpassade, 3D-utskrivbara hängslen för armskador: Korsupplagd på min webbplats på piper3dp.com.Traditionellt är gjutningar för brutna ben gjorda av tunga, fasta, andningsbara gips. Detta kan skapa obehag och hudproblem för patienten under läkningsprocessen, som klåda, utslag och
Skapa en säker zon för Android/IOS/WIN10 -enheter för att förbli olåst: 6 steg
Skapa en säker zon för Android/IOS/WIN10 -enheter för att förbli olåsta: I den här artikeln vill vi göra en cool gadget som kan göra en säker zon för dina enheter att låsas upp. I slutet av detta projekt lär du dig: hur du använder en fingeravtryckssensor. Kommer att lära dig att para ihop dina enheter med din safe zone -gadget. Kommer att
Arduino IDE: Skapa anpassade kort: 10 steg
Arduino IDE: Creating Custom Boards: Under de senaste sex månaderna har jag ägnat mycket tid åt att porta olika bibliotek till Robo HAT MM1 -kortet utvecklat av Robotics Masters. Detta har lett till att upptäcka mycket om dessa bibliotek, hur de fungerar bakom kulisserna och viktigast av allt