İkincil kullanıcı doğrulaması, sese ikinci düzey güvenlik eklemenize olanak tanır komutlarının ikisine katlanır. Bu sayede, güvenlik kamerasını kapatma veya kapı açma gibi işlemlerde işe yarar. İkincil kullanıcı doğrulaması: belirli bir cihaz özelliğine bağlı olmadığından emin olun. Google Assistant bir sorgulama yaptı. Örneğin, OnOff özelliği için bir sorgulama giriş sorgulaması veya OnOff bir ışık özelliğidir. Dilerseniz Assistant aynı eylem için belirli durumlarda zorluklar bildirebilirsiniz. Örneğin, Assistant tarafından şunun için bir itiraz isteği gönderilmesini isteyebilirsiniz: NFC uzaktan kumandalı anahtar, ilgili kapının yakınında değilse ancak yakınınızda değilse tuş seti varsa meydan okuma yapın.
Assistant iki tür meydan okuma gönderebilir:
açıkça onay veya kişisel kimlik numarası (PIN) sağlamanız gerekir. Bu işlem,
Assistant uygulamasından işleminize geri gönderilen ve challengeNeeded
hatasını kabul eden QUERY
ve EXECUTE
amaca yönelik meydan okuma bloğu
tıklayın. Assistant, amaç isteğini kullanıcıya geri gönderir.
sorgulama bloğundaki meydan okuma verileriyle işleminizi tamamlayın. Ardından
Kullanıcının doğru güvenlik düzeyini verip vermediğini belirlemek için sorgulama verilerini doğrulamalıdır
tıklayın.
Assistant, sorgulamayı yapmak için iletişim kutusunu kullanır. Ancak ses harici yüzeylerde Assistant kullanın, PIN ve ve doğrulamalar ekranda yapılır.
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ı.
- ackNeeded: İkincil kullanıcı doğrulaması onay verebilir (evet veya hayır) ve özellik durumlarını yanıt geri bildirimi ekleyin. Bu giriş sorgulaması türü, güvenlik için önerilmez cihazlar ve özellikler.
- pinNeeded - Bir ikincil kullanıcı doğrulaması güvenlik cihazları için ideal olan kişisel tanımlama numarası (PIN) çok önemli.
Meydan okuma yok
Bu örnekte,EXECUTE
biraz zorlandık.
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
Birden fazla durum kullanabilen ikincil bir kullanıcı onayı kimlik doğrulaması özellik veya basit onay kimlik doğrulaması için yapılıyor.
Aşağıdaki ackNeeded
giriş sorgulaması türü vardır:
ackgerekiyor basit
Bu örnekte, ackNeeded
sorgulaması içeren basit bir istek ve yanıt gösterilmektedir
ışığı ve ışığı karartmayı onaylamalarını istiyoruz.
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 işlem için durumları kullanabilen ikincil kullanıcı onayı kimlik doğrulaması,
çok önemlidir.
Örneğin, menü tableti
TemperatureSetting özelliği ve her ikisi
thermostatMode
ve thermostatTemperatureSetpoint
ayarlandı,
Assistant, Isıtmayı ayarlamak istediğinizden emin misiniz?" diye sorabilir.
sıcaklık 28 dereceye kadar çıkıyor mu?
Ayrıca Assistant, belirtilen bir işleme dayalı olarak belirli bir işlem gerçekleştirir. isteğinde bulunabilirsiniz.
Aşağıdaki özellikler ve eyaletler, özellik durumlarıyla birlikte ackNeeded
öğesini destekler. CEVAP
özel bir özelliğin listelenmesi, 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, şunu içeren bir ackNeeded
sorgulaması içeren istek ve yanıt gösterilmektedir:
özellik durumu kullanır. Klima modunu ısıtma olarak değiştirir ve
28 dereceye. Ardından Assistant, kullanıcılara sorar
ısıtmayı açma ve sıcaklığı 28 dereceye ayarlama onayı için
28
öğesinin thermostatTemperatureSetpoint
değeri, durum olarak döndürüldüğünden dolayı derece
kullanıcı olabilir.
Kullanıcı | Klima modunu ısıtmaya ayarla. |
Google Assistant | Klimanın ısısını 28 dereceye ayarlamak istediğinden emin misin derece mi? |
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
içeren bir ilk istek ve yanıt gösterilmektedir
isteyebilirsiniz. Örnek, pinNeeded
sınaması içeren bir yanıt döndürür.
Assistant, PIN'i istiyor. Bu noktada, kullanıcı
yanlış veya geçerli bir PIN girin.
Yanlış veya geçerli PIN için örnek istek ve yanıt:
ziyaret edin.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
içeren istek ve yanıt gösterilmektedir
isteyebilirsiniz. Bu soru, ilk pinNeeded
sorgulamasından sonra kullanılmalıdır
başarısız oldu.
Bir challengeFailedPinNeeded
türü döndürüldüğünde,
Assistant, güvenlik kodunu tekrar istiyor. Kullanıcı
çok fazla başarısız denemede bulunursa tooManyFailedAttempts
döndürebilirsiniz.
hata yanıtı. 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
Tam listeye göz atın: hataları ve istisnaları ortadan kaldırın.