Alexa, Swiftで スマートスピーカーは実装できる?

4239ea2bf38d7178476faa8787683105?s=47 Motoki Narita
September 02, 2018

Alexa, Swiftで スマートスピーカーは実装できる?

#iosdc #a

スマートスピーカーが大流行ですが、Swiftで実装できることに気が付いていますか?このトークではスマートスピーカーのアプリケーションを、iOSエンジニアの大好きなSwiftで実装できるように、ライブデモを交えながら解説を行います。

https://fortee.jp/iosdc-japan-2018/proposal/6c2b198f-3337-446d-aa24-9a192fa9d076

4239ea2bf38d7178476faa8787683105?s=128

Motoki Narita

September 02, 2018
Tweet

Transcript

  1. OK Google, SwiftͰ εϚʔτεϐʔΧʔ͸࣮૷Ͱ͖Δʁ iOSDC Japan 2018 / day3 /

    LT / Track A
  2. OK Google, SwiftͰ εϚʔτεϐʔΧʔ͸࣮૷Ͱ͖Δʁ iOSDC Japan 2018 / day3 /

    LT / Track A
  3. Alexa, SwiftͰ εϚʔτεϐʔΧʔ͸࣮૷Ͱ͖Δʁ iOSDC Japan 2018 / day3 / LT

    / Track A
  4. ࣗݾ঺հ • GitHub/twitter: motokiee • Mercari: iOS ιϑτ΢ΣΞΤϯδχΞ • iOSDC

    Japan 2016 / 2017 / 2018 ίΞελοϑ
  5. WEB+DB PRESS Vol.106ͷ Android/iOSΞϓϦઃܭಛूΛ ϝϧΧϦͷΤϯδχΞਞͰ ࣥච͠·ͨ͠ʢಡΜͰωʣ

  6. Alexaͷ࢓૊Έ

  7. AlexaͰ։ൃՄೳͳεΩϧ • ΧελϜεΩϧ • εϚʔτϗʔϜεΩϧ • ϑϥογϡϒϦʔϑΟϯάεΩϧ • ϏσΦεΩϧ

  8. AlexaͰ։ൃՄೳͳεΩϧ • ΧελϜεΩϧ • εϚʔτϗʔϜεΩϧ • ϑϥογϡϒϦʔϑΟϯάεΩϧ • ϏσΦεΩϧ

  9. ΧελϜεΩϧͷߏ੒ཁૉ • ݺͼग़໊͠ • Πϯςϯτ • αϯϓϧ • εϩοτ •

    Ξηοτ(Optional) • ը૾ • Ի੠ϑΝΠϧ • ಈըϑΝΠϧ • ΠϯςϯτΛॲཧ͢ΔαʔϏεͷ
 ΤϯυϙΠϯτ
  10. Ϗʔϧത࢜ɺϐϧεφʔʹ͍ͭͯڭ͑ͯ ݺͼग़໊͠ Slot αϯϓϧൃ࿩: {slot}ʹ͍ͭͯڭ͑ͯ Πϯςϯτ: doctorBeer

  11. ΧελϜεΩϧͷߏ੒ཁૉ • ݺͼग़໊͠ • Πϯςϯτ • αϯϓϧ • εϩοτ •

    Ξηοτ(Optional) • ը૾ • Ի੠ϑΝΠϧ • ಈըϑΝΠϧ • ΠϯςϯτΛॲཧ͢ΔαʔϏεͷ
 ΤϯυϙΠϯτ
  12. Voice Intent Alexa Service Alexa Device AWS Lambda Response Response

  13. AWS Lambdaͷઃఆ: τϦΨʔͷઃఆ

  14. Alexa Developer Consoleͷઃఆ

  15. ࢓૊Έ͕Θ͔ͬͨͱ͜ΖͰ

  16. Α͏΍͘ຊ୊

  17. Voice Intent Alexa Service Alexa Device AWS Lambda Response Response

  18. ͜Ε(Lambda) ΛSwiftͰॻ͚͹͍͍!!

  19. Ի੠ Intent Alexa Skills Kit Alexa σόΠε AWS Lambda

  20. ͔͠͠!!

  21. Q: AWS Lambda ͕αϙʔτ͢Δݴޠ͸ԿͰ͔͢? AWS Lambda Ͱ͸ɺNode.js (JavaScript)ɺPythonɺJava (Java 8

    ޓ׵)ɺC# (.NET Core)ɺ͓Αͼ Go Ͱهड़͞Εͨίʔυ͕αϙʔτ͞Ε͍ͯ·͢ɻωΠςΟ ϒϥΠϒϥϦ΋ؚΊɺίʔυʹ͸طଘͷϥΠϒϥϦΛؚΊΔ͜ͱ͕Ͱ͖·͢ɻৄ ͘͠͸ɺNode.jsɺPythonɺJavaɺC#ɺ͓Αͼ Go ͷ࢖༻ʹؔ͢ΔυΩϡϝϯτ Λ͝ཡ͍ͩ͘͞ɻ https://aws.amazon.com/jp/lambda/faqs/
  22. Swiftαϙʔτ͞Εͯͳ͍ʙ

  23. Ͱ΋ͳΜͱ͔͢Δํ๏͸͋Δʂ

  24. LambdaͰSwiftΛ࢖͏

  25. Node.js͔ΒSwiftΛݺͼग़͢

  26. choefele/swift-lambda-appΛ࢖͏ • LambdaͰ࣮ߦՄೳͳϑΝΠϧ(zip)Λੜ੒ • AlexaSkillʹඞཁͳػೳΛ࣮૷ͨ͠SwiftϥΠϒϥϦ choefele/AlexaSkillsKit Λ࢖࣮ͬͯ૷ • Alexaͷؔ਺ͷαϯϓϧ͕ఏڙ͞Ε͍ͯΔ •

    ੜ੒͞Εͨ.zipϑΝΠϧΛS3ʹΞοϓϩʔυ͠ɺؔ਺ͱඥ෇͚ $ ./run-integration-tests.sh
  27. ͋ͱ͸׳Ε਌͠ΜͩSwiftͰॻ͚͹OK

  28. Demo

  29. ੜ੒͞ΕͨzipΛS3ʹΞοϓϩʔυ͠ɺؔ਺ίʔυʹઃఆ

  30. Alexa Developer Console͔Β γϛϡϨʔλͰςετՄೳ

  31. None
  32. SwiftͰAlexa Skill࡞Ζ͏ͥ!!

  33. ͓ΘΓ

  34. ࢀߟࢿྉ • https://github.com/choefele/swift-lambda-app • https://github.com/choefele/AlexaSkillsKit • https://medium.freecodecamp.org/building-alexa-skills-in- swift-3d596aa0ee95