İkincil kullanıcı doğrulaması, sesli komutlara ikinci düzey güvenlik eklemenize olanak tanır. Bu sayede güvenlik kamerasını kapatma veya kapı açma gibi belirli işlemler için ek güvenlik sağlayabilirsiniz. İkincil kullanıcı doğrulaması belirli bir cihaz özelliğine bağlı değildir. Bu sayede Google Assistant için ne zaman bir sorgulama yapacağınıza karar verebilirsiniz. Örneğin, güvenlik kamerası için OnOff özelliği için meydan okuma yapmayı, ancak bir ışık için OnOff özelliği için sorgulama yapmayı seçebilirsiniz. Belirli durumlarda aynı işlem için Assistant sorun meydan okuması da yapabilirsiniz. Örneğin, NFC anahtarlık bir kapının yakınında değilse Assistant tarafından bir kapının açılması için meydan okuma isteği göndermesini isteyebilir, ancak uzaktan kumandalı klavye varsa sorgu göndermemeyi isteyebilirsiniz.
Assistant, iki tür giriş sorgulaması gönderebilir:
açık onay veya kişisel kimlik numarası (PIN). Bu, Assistant tarafından eyleminize geri gönderilen QUERY
ve EXECUTE
amaçlarına meydan okuma bloku ekler ve challengeNeeded
hata yanıtını kabul eder. Assistant, daha sonra amaç isteğini meydan okuma bloğundaki meydan okuma verileriyle birlikte işleminize gönderir. Ardından, kullanıcının doğru güvenlik yanıtını verip vermediğini belirlemek için sorgulama verilerini doğrulayabilirsiniz.
Assistant, sorgulamayı yapmak için iletişim kutusunu kullanır. Ancak ses harici yüzeylerde Assistant kullanırsanız PIN ve onaylar ekranda gösterilir.
Desteklenen cihaz türleri
İkincil kullanıcı doğrulaması tüm cihaz türlerinde desteklenir.
Desteklenen cihaz özellikleri
İkincil kullanıcı doğrulama, tüm cihaz özellikleri için desteklenir.
Desteklenen sorgulama türleri
Desteklenen ikincil kullanıcı doğrulaması sorgulama türleri şunlardır:
- Zorluk yok: İkincil kullanıcı doğrulaması sorgulaması kullanmayan bir istek ve yanıt.
- ackNeeded - Açık onay gerektiren (evet veya hayır) ve özellik durumlarını yanıt geri bildirimi olarak kullanabilen ikincil bir kullanıcı doğrulamasıdır. Bu giriş sorgulaması türü, güvenlik cihazları ve özellikleri için önerilmez.
- pinNeeded: Kişisel kimlik numarası (PIN) gerektiren ikincil kullanıcı doğrulaması, güvenlik cihazları ve özellikleri için idealdir.
Meydan okuma yok
Bu örnekte, ışıkları yakma zorluğu içermeyen başarılı bir EXECUTE
isteği ve yanıtı gösterilmektedir.
Kullanıcı | Işıkları aç. |
Google Assistant | Tamam, 3 ışığı açıyorum. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.OnOff", "params": { "on": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "on": true, "online": true } }] } }
ackNeeded
Bir özellik veya basit onay kimlik doğrulaması için birden fazla durum kullanabilen ikincil kullanıcı onayı kimlik doğrulaması.
Aşağıdaki ackNeeded
giriş sorgulaması türü vardır:
ackgerekiyor basit
Bu örnekte, ışığın karartılması için ackNeeded
meydan okumasının ve ışığın karartma onayının yer aldığı basit bir istek ve yanıt gösterilmektedir.
Kullanıcı | Salonun ışığını kıs. |
Google Assistant | Salonun ışığı kısılıyor. Emin misiniz? |
Kullanıcı | Evet. |
Google Assistant | Salonun ışığı kısılıyor. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "ackNeeded" } }] } }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 }, "challenge": { "ack": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS" }] } }
özellik durumlarıyla birlikte ackİhtiyaç duyuldu
Bir özellik için durumları kullanabilen ikincil bir kullanıcı onayı kimlik doğrulaması.
Örneğin, TemperatureSetting özelliğiyle çalışıyorsanız ve hem thermostatMode
hem de thermostatTemperatureSetpoint
ayarlanmışsa
Assistant, Klimanın ısısını 28 dereceye ayarlamak istediğinizden emin misiniz? sorusunu sorabilir.
Ayrıca, Assistant ürününün belirli bir isteğe göre belirli bir işlem gerçekleştirmesini sağlamak için yanıta bir durum ekleyebilirsiniz.
Aşağıdaki özellikler ve eyaletler, özellik durumlarıyla birlikte ackNeeded
öğesini destekler. Belirli bir özelliğin listesi, bu özelliğin tüm durumlarının desteklendiğini gösterir.
- ArmDisarm
currentArmLevel
currentStatusReport
- Fill
- LockUnlock
- OnOff
on
- OpenClose
- Scene
- TemperatureSetting
thermostatMode
thermostatTemperatureSetpoint
thermostatTemperatureSetpointHigh
thermostatTemperatureSetpointLow
Bu örnekte, özellik durumu kullanan ackNeeded
sorgulaması içeren bir istek ve yanıt gösterilmektedir. Klima modunu ısıtma olarak değiştirir ve sıcaklığı 28 dereceye ayarlar. Ardından Assistant, kullanıcılardan ısıtmayı açmalarını ve sıcaklığı 28 dereceye ayarlamasını ister. Yanıtta thermostatTemperatureSetpoint
değeri 28
döndürülür.
Kullanıcı | Klima modunu ısıtmaya ayarla. |
Google Assistant | Klimanın ısısını 28 dereceye ayarlamak istediğinizden emin misiniz? |
Kullanıcı | Evet. |
Google Assistantnt | Klimanın ısısı 28 dereceye ayarlanıyor. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.TemperatureSetting", "params": { "thermostatMode": "heat" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "states": { "thermostatMode": "heat", "thermostatTemperatureSetpoint": 28 }, "errorCode": "challengeNeeded", "challengeNeeded": { "type": "ackNeeded" } }] } }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.TemperatureSetting", "params": { "thermostatMode": "heat" }, "challenge": { "ack": true } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "thermostatMode": "heat", "thermostatTemperatureSetpoint": 28 } }] } }
pinNeeded
pinNeeded
sorgulaması, güvenlik cihazları için önerilir.
Bu örnekte, pinNeeded
sorgulama içeren ilk istek ve yanıt gösterilmektedir. Örnek, pinNeeded
sorgulaması içeren bir yanıt döndürüyor. Bu nedenle Assistant, PIN'i istiyor. Bu noktada kullanıcı yanlış veya geçerli bir PIN sağlayabilir.
Yanlış veya geçerli PIN için örnek istek ve yanıt:
Kullanıcı | Kapının kilidini açın. |
Google Assistant | Güvenlik kodunu alabilir miyim? |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "pinNeeded" } }] } }
Yanlış PIN
Bu örnekte, challengeFailedPinNeeded
meydan okumasıyla istek ve yanıt gösterilmektedir. Bu giriş, ilk pinNeeded
sorgulaması başarısız olduktan sonra kullanılmalıdır.
Bir challengeFailedPinNeeded
türü döndürüldüğünde
Assistant, güvenlik kodunu tekrar ister. Kullanıcı çok fazla başarısız deneme yaparsa tooManyFailedAttempts
hata yanıtı döndürebilirsiniz. Hata yanıtları başlıklı makaleye göz atın.
Kullanıcı | 333222 |
Google Assistant | Maalesef güvenlik kodu yanlış. Güvenlik kodunu alabilir miyim? |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false }, "challenge": { "pin": "333222" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "challengeFailedPinNeeded" } }] } }
Geçerli PIN
Bu örnekte, geçerli bir PIN isteği ve yanıtı gösterilmektedir.
Kullanıcı | 333444 |
Google Assistant | Kapının kilidi açılıyor. |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.LockUnlock", "params": { "lock": false }, "challenge": { "pin": "333444" } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "SUCCESS", "states": { "isLocked": false, "isJammed": false } }] } }
Kullanıcı | Salonun ışığını kıs. |
Google Assistant | Güvenlik kodunu alabilir miyim? |
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "inputs": [{ "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "id": "123" }], "execution": [{ "command": "action.devices.commands.BrightnessAbsolute", "params": { "brightness": 12 } }] }] } }] }
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [{ "ids": ["123"], "status": "ERROR", "errorCode": "challengeNeeded", "challengeNeeded": { "type": "pinNeeded" } }] } }
Hata yanıtları
Yanıtlarınızla birlikte döndürülebilecek bazı hata kodları şunlardır:
- tooManyFailedAttempts - Maalesef çok fazla başarısız deneme yapıldı. Bu işlemi tamamlamak için lütfen cihazınızın uygulamasına gidin.
- pinIncorrect - Maalesef güvenlik kodu yanlış.
- userCancelled - Tamam
Hataların ve istisnaların tam listesini inceleyin.