Slide 1

Slide 1 text

4JSJ,JU QPUBUPUJQT .PUPLJ/BSJUB !NP@UP@

Slide 2

Slide 2 text

ࣗݾ঺հ w ੒ాݩًʢͳΓͨ΋ͱ͖ʣ w !NP@UP@ w J04ΤϯδχΞ w ݸਓͰ΋ΧϝϥΞϓϦΛ࡞ͬͨΓ w 88%$ߦ͚ͳ͔ͬͨͷͰDBUDI88%$ͱ͍͏ே͔࣌Β 88%$ͷ৘ใަ׵Λ͢ΔษڧձΛ88%$ͷؒຖே࣌ʹ ى͖ͯ։࠵ͯ͠·ͨ͠

Slide 3

Slide 3 text

4JSJ,JU

Slide 4

Slide 4 text

4JSJ,JU֓ཁ w 4JSJ,JUͱ͍͏ϑϨʔϜϫʔΫ͸ͳ͍ w *OUFOUTGSBNFXPSLͱ*OUFOUT6*GSBNFXPSLΛ࢖ͬ ࣮ͯ૷͢Δ w 4JSJ,JU͕αϙʔτ͢Δ*OUFOUT%PNBJOͷΈɺ
 ࣮૷͢Δ͜ͱ͕Ͱ͖Δʢछྨʣ

Slide 5

Slide 5 text

4JSJ͕΍ͬͯ͘ΕΔ͜ͱ

Slide 6

Slide 6 text

4JSJ͕΍ͬͯ͘ΕΔ͜ͱ w Ϣʔβʔͷݴ༿Λղऍͯ͠*OUFOUʢҙਤʣΦϒ δΣΫτʹม׵Λߦͬͯ͘ΕΔ w &YUFOTJPOͰ͸͜ͷ*OUFOUΦϒδΣΫτΛར༻ͯ͠ద ੾ͳॲཧΛߦ͏Α͏ʹ࣮૷Λߦ͏ w ྫ͑͹ϝοηʔδΛૹ৴͢Δ৔߹͸ड৴ऀͱจݴ ͕ඞཁʹͳΔͷͰɺड৴ऀͱจݴΛ*OUFOU͔Βऔ Γग़ͯ͠ΞϓϦ಺ͷॲཧΛ࣮ߦ

Slide 7

Slide 7 text

*OUFOUT%PNBJO

Slide 8

Slide 8 text

4JSJ,JU%PNBJOT w "VEJPPSWJEFPDBMMJOH w 4UBSUBOBVEJPDBMM w 4UBSUBWJEFPDBMM w 4FBSDIUIFVTFS`TDBMMIJTUPSZ w .FTTBHJOH w 4FOEBNFTTBHF w 4FBSDIGPSNFTTBHFT w 1IPUP4FBSDI w 4FBSDIGPSQIPUPT w 1MBZBQIPUPTMJEFTIPX w 1BZNFOUT w 4FOEBQBZNFOUUPBOPUIFSVTFS w 3FRVFTUBQBZNFOUGSPNBOPUIFS VTFS w 8PSLPVUT w 4UBSUBXPSLPVU w 1BVTFBXPSLPVU w 3FTVNFBXPSLPVU w &OEBXPSLPVU w $BODFMBXPSLPVU w 3JEFCPPLJOH w (FUBMJTUPGBWBJMBCMFSJEFT w #PPLBSJEF w (FUUIFTUBUVTPGBCPPLFESJEF

Slide 9

Slide 9 text

࣮૷ํ๏

Slide 10

Slide 10 text

4JSJ,JUαϙʔτͷͨΊʹ΍Δ͜ͱ *OUFOUT&YUFOTJPOλʔήοτΛΞϓϦʹ௥Ճ QMJTUʹඞཁͳ৘ใΛهࡌ͢Δ &YUFOTJPOΛ࣮૷͢Δ

Slide 11

Slide 11 text

*OUFOUT&YUFOTJPOλʔήοτ ΛΞϓϦʹ௥Ճ

Slide 12

Slide 12 text

w ΞϓϦʹλʔήοτͱͯ͠௥Ճ w J04Ͱ௥Ճ͞Εͨ&YUFOTJPOͱಉ͡

Slide 13

Slide 13 text

QMJTUʹඞཁͳ৘ใΛهࡌ͢Δ

Slide 14

Slide 14 text

*OUFOUT4VQQPSUFEʹରԠ͢Δ*OUFOUTΛهࡌ͢Δ
 هࡌ͢Δͷ͸*/4UBSU8PSLPVU*OUFOUͳͲͷΫϥε໊ *OUFOUT4VQQPSUFE *OUFOUT3FTUSJDUFE8IJMF-PDLFE /4&YUFOTJPO"UUSJCVUFT /4&YUFOTJPO *OGPQMJTU

Slide 15

Slide 15 text

ϓϥΠόγʔʹ഑ྀ͢Δඞཁ͕͋Δ৔߹ *OUFOUT3FTUSJDUFE8IJMF-PDLFEʹهࡌ͢Δ *OUFOUT4VQQPSUFE *OUFOUT3FTUSJDUFE8IJMF-PDLFE /4&YUFOTJPO"UUSJCVUFT /4&YUFOTJPO *OGPQMJTU

Slide 16

Slide 16 text

w ΞϓϦ಺ʹݻ༗ͷݴ༿ʢ6CFS9ͱ͔ʣ͕͋Δ৔߹ ͸"QQ*OUFOU7PDBCVMBSZQMJTUʹొ࿥Λ͢Δͱ4JSJ͕ ͦͷϫʔυΛղऍͰ͖ΔΑ͏ʹͳΔ

Slide 17

Slide 17 text

&YUFOTJPOΛ࣮૷͢Δ

Slide 18

Slide 18 text

3FTPMWFˠ$POpSNˠ)BOEMF

Slide 19

Slide 19 text

ॲཧͷྲྀΕ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZQSFSFMFBTFDPOUFOUEPDVNFOUBUJPO*OUFOUT$PODFQUVBM4JSJ*OUFHSBUJPO(VJEF $SFBUJOHUIF*OUFOUT&YUFOTJPOIUNMBQQMF@SFGEPDVJE51$)48

Slide 20

Slide 20 text

ॲཧͷྲྀΕ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZQSFSFMFBTFDPOUFOUEPDVNFOUBUJPO*OUFOUT$PODFQUVBM4JSJ*OUFHSBUJPO(VJEF $SFBUJOHUIF*OUFOUT&YUFOTJPOIUNMBQQMF@SFGEPDVJE51$)48 *OUFOUͷύϥϝʔλͷόϦσʔγϣϯΛߦ͏

Slide 21

Slide 21 text

ॲཧͷྲྀΕ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZQSFSFMFBTFDPOUFOUEPDVNFOUBUJPO*OUFOUT$PODFQUVBM4JSJ*OUFHSBUJPO(VJEF $SFBUJOHUIF*OUFOUT&YUFOTJPOIUNMBQQMF@SFGEPDVJE51$)48 *OUFOUʹର͢ΔϨεϙϯεΛੜ੒ λεΫ࣮ߦͷͨΊͷ࠷ऴతͳ֬ೝΛߦ͏

Slide 22

Slide 22 text

ॲཧͷྲྀΕ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZQSFSFMFBTFDPOUFOUEPDVNFOUBUJPO*OUFOUT$PODFQUVBM4JSJ*OUFHSBUJPO(VJEF $SFBUJOHUIF*OUFOUT&YUFOTJPOIUNMBQQMF@SFGEPDVJE51$)48 *OUFOUʹର͢ΔϨεϙϯεͷੜ੒ λεΫͷ࣮ߦ

Slide 23

Slide 23 text

4JSJ,JUॲཧͷྲྀΕ w 3FTPMWFͰύϥϝʔλͷղܾΛ ߦ͏ w $POpSNͰλεΫ࣮ߦલͷ࠷ऴ తͳ֬ೝΛߦ͏ w )BOEMFͰλεΫΛ࣮ߦ͢Δ 3FTPMWF $POpSN )BOEMF

Slide 24

Slide 24 text

UJQT

Slide 25

Slide 25 text

UJQT w γϛϡϨʔλͰςετͰ͖ͳ͍ʢ࣮ػͷΈʣ w 4JSJ͸௚ͪʹΞϓϦͷ&YUFOTJPOΛೝࣝͯ͘͠Εͳ͍ w 4JSJ͸ΞϓϦͷ&YUFOTJPOΛ͙͢ʹೝࣝͯ͘͠Εͳ ͍ʢ਺෼͔͔Δ͔΋ʣ w *OGPQMJTUΛमਖ਼ͨ͠Γ͢Δࡍ΋ಉ༷ w ઃఆΞϓϦ͔Β4JSJରԠΞϓϦ͕4JSJΛ࢖༻͢Δ͜ͱ ΛڐՄ͢Δඞཁ͕͋Δ

Slide 26

Slide 26 text

UJQT w 4JSJ͔ΒͷೖྗΛॲཧ͢ΔͨΊͷ&NCFEEFE GSBNFXPSLTΛ࡞੒͢Δ w ௨৴ॲཧɺσʔλϞσϧԽɺϩδοΫͷ࣮૷͸ &NCFEEFEGSBNFXPSLT಺Ͱߦ͏ w &YUFOTJPOλʔήοτͷ໾ׂ͸ΤϯτϦϙΠϯτ ͚ͩʹ͢Δ

Slide 27

Slide 27 text

UJQT w 6OJU5FTUΛॻ͜͏ w *OUFOUͷϞοΫΛ࡞ͬͯ6OJU5FTUΛॻ͘͜ͱ͕Մ ೳʹͳΔ w ϢʔβʔͷೖྗΛ*OUFOUԽ͢Δͷ͸4JSJʹҕͶΒ Ε͍ͯΔͷͰɺ*OUFOUΛϞοΫʹͯ͠ϩδοΫͷ ςετΛߦ͏ w ԿΑΓ΋஻ͬͯσόοά͢Δ΍ΓͮΒ͞ʢஏ͔ͣ ͠͞ʣΛײ͡Δػձ͕ݮΔʢ͸ͣʣ

Slide 28

Slide 28 text

$PEF

Slide 29

Slide 29 text

import Intents import IntentsExampleKit class IntentHandler: INExtension { override func handler(for intent: INIntent) -> AnyObject { return IntentExampleHandler() } }

Slide 30

Slide 30 text

import Foundation import Intents public final class IntentExampleHandler: NSObject, INStartWorkoutIntentHandling, INEndWorkoutIntentHandling { public func resolveWorkoutName(forStartWorkout intent: INStartWorkoutIntent, with completion: (INStringResolutionResult) -> Void) { let resolutionResult = INStringResolutionResult.success(with: "Running") completion(resolutionResult) } public func confirm(startWorkout startWorkoutIntent: INStartWorkoutIntent, completion: (INStartWorkoutIntentResponse) -> Void) { let userActivity = NSUserActivity(activityType: NSStringFromClass(INStartWorkoutIntent)) let response = INStartWorkoutIntentResponse(code: .success, userActivity: userActivity) completion(response) } public func handle(startWorkout startWorkoutIntent: INStartWorkoutIntent, completion: (INStartWorkoutIntentResponse) -> Void) { let userActivity = NSUserActivity(activityType: NSStringFromClass(INStartWorkoutIntent)) let response = INStartWorkoutIntentResponse(code: .success, userActivity: userActivity) completion(response) } }

Slide 31

Slide 31 text

·ͱΊ

Slide 32

Slide 32 text

·ͱΊ w छྨͷ*OUFOUT%PNBJOΛαϙʔτ w 4JSJ͕*OUFOUΦϒδΣΫτʹม׵ͯ͘͠ΕΔ w *OGPQMJTUʹαϙʔτ͢Δ*OUFOUΛهࡌ w 3FTPMWFͰύϥϝʔλͷόϦσʔγϣϯ $POpSNͰ֬ೝɺ )BOEMFͰλεΫͷ࣮ߦ w *OUFOUΛϋϯυϦϯά͢ΔϩδοΫपΓ͸&NCFEEFE 'SBNFXPSLʹ࣮૷ w ͠Ό΂Βͳ͍ͱߦ͚ͳ͍ͷͰσόοά͕΍ΓͮΒ͍
 ʢஏ͔͍ͣ͠ʣ w 65Λॻ͜͏

Slide 33

Slide 33 text

References • https://developer.apple.com/library/prerelease/content/documentation/Intents/Conceptual/ SiriIntegrationGuide/index.html • https://developer.apple.com/library/prerelease/content/samplecode/UnicornChat/ Introduction/Intro.html#//apple_ref/doc/uid/TP40017332 • https://developer.apple.com/library/prerelease/content/documentation/Intents/Conceptual/ SiriIntegrationGuide/SiriDomains.html#//apple_ref/doc/uid/TP40016875-CH9-SW2 • https://developer.apple.com/reference/intents • https://developer.apple.com/reference/intentsui • https://developer.apple.com/library/prerelease/content/documentation/Intents/Conceptual/ SiriIntegrationGuide/SpecifyingCustomVocabulary.html#//apple_ref/doc/uid/TP40016875- CH6-SW1 • https://developer.apple.com/videos/play/wwdc2016/217/ • https://developer.apple.com/videos/play/wwdc2016/225/

Slide 34

Slide 34 text

͓ΘΓ