İ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ı değildir. Bu sayede, Google Assistant'ün ne zaman istem göndereceğine karar verebilirsiniz. Örneğin, OnOff özelliği için bir sorgulama giriş sorgulaması veya OnOff bir ışık özelliğidir. Ayrıca, aynı işlem için belirli durumlarda Assistant itirazda bulunabilirsiniz. Ö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, istek isteğini işleminize geri gönderir. Bu istek, itiraz bloğundaki itiraz verileriyle birlikte gönderilir. Ardından, kullanıcının doğru güvenlik yanıtını verip vermediğini belirlemek için istem verilerini doğrulayabilirsiniz.
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ğrulaması 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ğrulama zorluğu kullanmayan bir istek ve yanıt.
- ackNeeded: Belirli bir onayı (evet veya hayır) gerektiren ve yanıt geri bildirimi olarak özellik durumlarını da kullanabilen ikincil kullanıcı doğrulaması. 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, ışıkları açma isteğinin olmadığı 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 için birden fazla durum kullanabilen veya basit bir onay kimlik doğrulaması olan ikincil kullanıcı onay kimlik doğrulaması.
Aşağıdaki ackNeeded
giriş sorgulaması türü vardır:
ackNeeded simple
Bu örnekte, ackNeeded
sorgulaması içeren basit bir istek ve yanıt gösterilmektedir
ışığı ve ışığı karartma onayını almak için.
Kullanıcı | Oturma odasının ışığı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 ackNeeded
Bir işlem için durumları kullanabilen ikincil kullanıcı onayı kimlik doğrulaması,
çok önemlidir.
Örneğin, TemperatureSetting özelliğiyle çalışıyorsanız ve hem thermostatMode
hem de thermostatTemperatureSetpoint
ayarlandıysa Assistant Klima sıcaklığını 28 dereceye ayarlamak istediğinizden emin misiniz? sorusunu sorabilir.
Ayrıca Assistant, belirtilen bir işleme dayalı olarak belirli bir işlem gerçekleştirir. isteği gönderin.
Aşağıdaki özellikler ve durumlar, özellik durumlarıyla ackNeeded
'ü 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, özellik durumunu kullanan bir ackNeeded
istemiyle birlikte bir istek ve yanıt gösterilmektedir. Klima modunu ısıtmaya değiştirir ve sıcaklığı 28 dereceye ayarlar. Ardından Assistant, yanıtta 28
değerinde bir thermostatTemperatureSetpoint
döndürüldüğünden kullanıcılardan ısıtmayı açmak ve sıcaklığı 28 dereceye ayarlamak için onay ister.
Kullanıcı | Klima modunu ısıtmaya ayarlayın. |
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
istem içeren ilk istek ve yanıt gösterilmektedir. Örnekte, pinNeeded
meydan okuması içeren bir yanıt döndürülür. Bu nedenle Assistant, PIN'i ister. 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
içeren istek ve yanıt gösterilmektedir
isteyebilirsiniz. Bu istem, ilk pinNeeded
isteği başarısız olduktan sonra kullanılmalıdır.
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ı | Oturma odasının ışığı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ı. Lütfen söz konusu işlemi tamamlamak için cihazınızın uygulamasına gidin.
- pinIncorrect: Maalesef güvenlik kodu yanlış.
- userCancelled - Tamam
Hataların ve istisnaların tam listesini inceleyin.