$30 off During Our Annual Pro Sale. View Details »

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

Motoki Narita
September 02, 2018

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

#iosdc #a

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

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

Motoki Narita

September 02, 2018
Tweet

More Decks by Motoki Narita

Other Decks in Programming

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

  4. ࣗݾ঺հ
    • GitHub/twitter: motokiee
    • Mercari: iOS ιϑτ΢ΣΞΤϯδχΞ
    • iOSDC Japan 2016 / 2017 / 2018 ίΞελοϑ

    View Slide

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

    View Slide

  6. Alexaͷ࢓૊Έ

    View Slide

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

    View Slide

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

    View Slide

  9. ΧελϜεΩϧͷߏ੒ཁૉ
    ● ݺͼग़໊͠
    ● Πϯςϯτ
    ● αϯϓϧ
    ● εϩοτ
    ● Ξηοτ(Optional)
    ● ը૾
    ● Ի੠ϑΝΠϧ
    ● ಈըϑΝΠϧ
    ● ΠϯςϯτΛॲཧ͢ΔαʔϏεͷ

    ΤϯυϙΠϯτ

    View Slide

  10. Ϗʔϧത࢜ɺϐϧεφʔʹ͍ͭͯڭ͑ͯ
    ݺͼग़໊͠ Slot
    αϯϓϧൃ࿩: {slot}ʹ͍ͭͯڭ͑ͯ
    Πϯςϯτ: doctorBeer

    View Slide

  11. ΧελϜεΩϧͷߏ੒ཁૉ
    ● ݺͼग़໊͠
    ● Πϯςϯτ
    ● αϯϓϧ
    ● εϩοτ
    ● Ξηοτ(Optional)
    ● ը૾
    ● Ի੠ϑΝΠϧ
    ● ಈըϑΝΠϧ
    ● ΠϯςϯτΛॲཧ͢ΔαʔϏεͷ

    ΤϯυϙΠϯτ

    View Slide

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

    View Slide

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

    View Slide

  14. Alexa Developer Consoleͷઃఆ

    View Slide

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

    View Slide

  16. Α͏΍͘ຊ୊

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. ͔͠͠!!

    View Slide

  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/

    View Slide

  22. Swiftαϙʔτ͞Εͯͳ͍ʙ

    View Slide

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

    View Slide

  24. LambdaͰSwiftΛ࢖͏

    View Slide

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

    View Slide

  26. choefele/swift-lambda-appΛ࢖͏
    ● LambdaͰ࣮ߦՄೳͳϑΝΠϧ(zip)Λੜ੒
    ● AlexaSkillʹඞཁͳػೳΛ࣮૷ͨ͠SwiftϥΠϒϥϦ choefele/AlexaSkillsKit
    Λ࢖࣮ͬͯ૷
    ● Alexaͷؔ਺ͷαϯϓϧ͕ఏڙ͞Ε͍ͯΔ
    ● ੜ੒͞Εͨ.zipϑΝΠϧΛS3ʹΞοϓϩʔυ͠ɺؔ਺ͱඥ෇͚
    $ ./run-integration-tests.sh

    View Slide

  27. ͋ͱ͸׳Ε਌͠ΜͩSwiftͰॻ͚͹OK

    View Slide

  28. Demo

    View Slide

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

    View Slide

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

    View Slide

  31. View Slide

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

    View Slide

  33. ͓ΘΓ

    View Slide

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

    View Slide