Blog oficial para desenvolvedores que falam português
Disponibilidade geral do Login do Google para o Assistente
01/10/2018
Postado por Silvano Luciani, engenheiro de programas para desenvolvedores do Google Assistente
O Login do Google para o Assistente passou da prévia do desenvolvedor para a disponibilidade geral. Isso significa que você já pode oferecer uma experiência de login integrada aos usuários das ações. Esse é um novo tipo de vinculação de conta que é fácil de implementar e cria uma ótima experiência para os usuários.
Na postagem de hoje, falarei sobre as diversas opções de vinculação de conta oferecidas pelo Actions on Google e farei algumas recomendações para cada uma delas. Se quiser saber mais sobre cada um dos fluxos, dê uma olhada nos documentos de vinculação de conta renovados em
developers.google.com/actions/identity
.
Antes de entrarmos nos detalhes, recomendo que você assista à palestra que eu e o Adam Dawes (gerente de produtos do Google Identity) apresentamos na Google I/O 2018:
Personalize ações para o Google Assistente
. É uma boa introdução sobre por que é importante personalizar ações, quais opções existem no Actions on Google e qual o papel da vinculação de conta na personalização.
O que é vinculação de conta?
Com a vinculação de conta, a ação consegue receber os usuários de volta pelo nome e compartilha as identidades com as versões do aplicativo em outras plataformas.
Você pode usar a vinculação de conta para solicitar que o usuário permita que a ação acesse os dados de perfil, como e-mail e Google ID exclusivo do usuário. O e-mail ou o Google ID podem ser usados para associar dados específicos da ação ao usuário. Por exemplo, se a ação oferece um catálogo de podcasts, você pode usar a vinculação de conta para salvar os gêneros ou as estações de rádio favoritas do usuário no banco de dados usando o e-mail da conta como uma chave.
Há dois casos principais a se considerar ao escolher o tipo de vinculação de conta mais indicado:
Se a ação só está disponível no Assistente e não tem complementos em outras plataformas (por exemplo, um site ou aplicativo Android que o usuário também pode acessar).
Se a ação tem complementos em outras plataformas e você quer manter um estado associado ao usuário nessas outras plataformas.
No primeiro caso de uso, o Login do Google é a melhor opção de vinculação de conta. No segundo, o ideal é usar o OAuth e o Login do Google juntos. Vamos detalhar os motivos.
Vinculação de conta com o Login do Google
Com o
Login do Google
, depois que o usuário autorizar o compartilhamento do perfil com a ação, o Google enviará a você um token de ID com os dados da conta Google do usuário em cada solicitação subsequente. O token de ID é um
token web JSON
assinado pelo Google. Após verificar e decodificar o token, seu conteúdo será parecido com:
https://medium.com/media/526177e63215aa508ae2f3b576ed412e/href
Na primeira vez em que o usuário passar pelo fluxo de vinculação de conta, você poderá usar o endereço de e-mail ou o ID exclusivo da conta Google do usuário para:
Encontrar uma correspondência no banco de dados de usuários, se ele já tiver usado a ação e vinculado a conta.
Criar uma nova conta usando informações de perfil do Google.
De modo geral, esse fluxo é o meu favorito pelos seguintes motivos:
É muito fácil de implementar
. Basta adicionar o código para começar o fluxo e verificar e decodificar o token do ID. Veja instruções sobre como verificar e decodificar um token de ID usando nossas bibliotecas de cliente
aqui
.
Garante
a conclusão do fluxo por voz
. Todas as etapas do fluxo podem ser executadas por voz, sem necessidade de interação do usuário com a tela (por exemplo, o usuário não precisa fazer login no site de autenticação). Isso reduz muito a dificuldade do processo e pode aumentar a taxa de conversão de logins das ações.
Você pode estar se perguntando: "Se é tão fácil e tão bom assim, por que não usar isso o tempo todo?" Imagine o seguinte: a ação permite que os usuários façam pedidos na cafeteria dizendo "pedir meu favorito", por exemplo. Você também tem um programa de fidelidade que permite que os usuários acumulem pontos a cada pedido e ganhem bebidas quando alcançarem uma determinada quantidade de pontos.
Se eu sou um usuário e acessei minha conta no seu aplicativo para Android usando um e-mail pessoal, como "
silvano@luciani.com
", e não minha conta Google, e depois usei o Login do Google na sua ação, não conseguirei vincular minha conta. Isso significa que não poderei acessar minhas preferências, como todas as minhas bebidas favoritas, nem os pontos de fidelidade que ganhei. O OAuth e Login do Google resolvem esse problema.
Vinculação de conta com OAuth e Login do Google
Com o
OAuth e o Login do Google
, você adiciona a vinculação de conta por OAuth como um fallback para os casos em que é preciso vincular uma conta que não seja do Google. O OAuth é o padrão de autorização do setor e permite redirecionar o usuário do Assistente para o seu site de autorização, onde ele pode fazer login usando uma conta que não é do Google.
Usando esse tipo de vinculação de conta, depois que o usuário conceder acesso ao seu perfil do Google, o Google enviará uma solicitação a um dos seus pontos de extremidade (o ponto de extremidade de troca de token) para verificar se o usuário Google já existe no sistema de autenticação. Se não, você pode redirecioná-lo ao site de autorização e executar o fluxo padrão do OAuth.
Embora isso resolva o problema da vinculação de uma conta não Google, há algumas desvantagens.
Você precisa ter uma implementação de um servidor OAuth em operação que também ofereça suporte a extensões do protocolo disponibilizadas pelo Google
. E isso, com certeza, é mais trabalhoso que o fluxo do Login do Google.
O fluxo padrão do OAuth exige uma tela
. Isso significa que um usuário que iniciou a interação com a ação por voz
precisa ser transferido para um telefone
, o que aumenta a dificuldade e pode reduzir a taxa de conversão de logins.
Vinculação de conta com o OAuth
Por fim, você pode usar a
vinculação de conta tradicional do OAuth2
. No entanto, essa opção não apresenta vantagens em relação ao uso do Login do Google isoladamente ou com o OAuth. Esse fluxo
exige o trabalho adicional de configurar uma implementação de um servidor do OAuth2
e
transferir a interação com o usuário para uma tela
. Mas isso, como já vimos, aumenta a dificuldade do processo e reduz a taxa de conversão de logins.
Você poderá considerar esse fluxo se já tiver uma implementação de um servidor do OAuth em operação e não conseguir alterá-la para incorporar o suporte às extensões proprietárias do Google necessárias para a vinculação que usa OAuth e Login do Google.
É isso! Que tal adicionar a vinculação de conta às suas ações?
Para resumir, a vinculação de conta é um meio excelente de oferecer ações personalizadas que proporcionam uma experiência muito melhor para o usuário. O novo fluxo do Login do Google reduz drasticamente a complexidade da vinculação de conta para as ações. Além disso, você agora pode aproveitar os benefícios desse recurso com o mínimo de esforço.
Confira os nossos
novos documentos de vinculação de conta
e teste o
exemplo do Login do Google
.
Compartilhe a sua opinião sobre essa nova solução e os novos documentos na nossa
comunidade no G+
. Se tiver algum dúvida técnica sobre como implementar a vinculação de contas, fique à vontade para postá-la no
Stack Overflow
.
Divirta-se personalizando ações com a vinculação de conta!
Nenhum comentário :
Postar um comentário
Labels
+page
1
20th Century Fox
1
A/B
1
Action
1
Action Console
1
Actions
3
Actions Console
1
Actions on Google
1
ActiveQA
1
Adaptive Battery
1
AddThis
1
ADK
1
ADL
1
Admin do Firebase
1
AdMob
6
Ads
2
AdWords
1
AdX
1
AI
4
algoritmo
1
AMP
6
AMP Linker
1
AMP Project
1
Analytics API
1
Android
58
Android 8.0 Oreo
1
Android 8.1
1
Android ADK
2
Android API
2
Android App Bundle
1
Android Dev Summit
1
Android Developers
23
Android Marshmallow
1
Android N
3
Android Nougat
2
Android P
3
Android P Beta 2
1
Android Preview
1
Android SDK
1
android studio
8
Android Studio 3.2
1
android wear
2
AndroidDev
6
AndroidX
1
Announcement
2
AoG
1
AoGDevs
1
api
15
API 25
1
API 28
1
APIs
4
Aplicativos
4
app
1
App Engine
1
Apple
1
apply
1
Apps
9
AR
1
ARCore
3
artificial intelligence
1
AsyncTask
1
AUC
1
AutoAugment
1
Avro
1
Awareness API
1
Biblioteca do Google
1
Big Data
1
BigQuery
1
BiometricPrompt
1
bitcode
1
Borg
1
Bot
1
bytecode Dalvik
1
C++
1
câmera
1
CameraDevice
1
Canal Beta
1
canary
1
câncer de próstata
1
Capital One
1
Cast
1
CFI
1
Chrome
8
Chrome 68
1
Chrome Dev Summit
1
Chrome DevTools
1
Chrome OS
2
Chromecast
1
Chromium
2
CI
1
CLI
1
Cloud
6
Cloud Computing
1
Cloud Console
1
Cloud Dataflow
1
Cloud Developers
2
Cloud DLP
1
Cloud Firestore
1
Cloud Messaging
1
Cloud ML Engine
1
Cloud Scheduler
1
Cloud Shell
1
Cloud Source Repositories
1
Cloud Spanner
2
CodeSchool
1
código aberto
2
Compute Engine
1
ConfigMap
1
Container Builder
1
CPU
2
Crash Reporting
2
Crashlytics
3
credential api
1
criptografia
1
CSS
3
CSS Grid Layout
1
CSV
1
CTA
1
Curitiba
1
Dart API
1
Data Validation
1
DBAs
1
DCGAN
1
Desenvolvedores Google
11
Desenvolvimento
3
DevBusBrasil
1
DevBytes
2
Developer Bus
1
Developer Preview
1
developer quiz
1
DevFest
3
DevFest16
1
DevFest18
1
DevFestW
1
DFP
2
Dialogflow
1
DLP
1
DLS
1
documentação
1
Dragon Ball Legends
1
E2E
1
eclipse
1
end-to-end-encryption
1
Estimator
1
Estimators API
1
estudantes
1
Eventos
15
Famílias multilíngue
1
FCM
2
Featured
1
Firebase
24
Firebase Analytics
6
Firebase App Indexing
2
Firebase Cloud Messaging
5
Firebase Crashlytics
2
Firebase Dynamic Links
3
Firebase In-App Messaging
1
Firebase Invites
2
Firebase Lab
1
Firebase Links Dinamicos
1
Firebase Notifications
3
Firebase Remote Config
1
Flutter
3
FRR
1
G+
1
game
1
game dev
3
Games
2
games services
1
GCloud
3
GCM
1
GCP
7
GDD
7
GDE
1
GDEs
1
GDG
12
GDG Curitiba
1
GDG Floripa
1
GDG OpenSampa
1
GDG Porto Alegre
1
GDG Recife
1
GDG SP
3
GDGs
1
GDL
1
Git
1
GitHub
1
GNMT
1
Google
3
Google Ad Manager
1
Google AI
1
Google Analytics
1
Google Assistant
1
Google Assistente
3
Google Brain
2
Google Cast SDK
1
google clou
1
Google Cloud
17
Google Cloud Certified
1
Google Cloud Healthcare API
1
Google Cloud Platform
3
google code-in
1
Google Developer Advocate
1
Google Developer Expert
1
Google Developers
11
Google Fotos
1
Google I/O
6
Google Play
16
Google Play Games services
1
Google Play Protect
1
Google Play Services
4
Google Slides
1
Google Speech
1
google summer of code
1
Google+
2
Google+ sign-in
1
Googlers
1
GPU
2
GSuites
1
GUI
1
Hackathon
1
Hangouts
1
Hangouts Chat
1
HDR
1
High Quality Apps
2
HTML5
6
HTTP
3
HTTPS
2
HttpURLConnection
2
I/O
1
IA
2
Illusive Images
1
ImageReader
1
In-App Messaging
1
Inglês
1
Instant Apps
1
inteligencia artificial
1
IntelliJ REPL
1
IntentService
1
Interoperabilidade
1
IO Extended
1
IO13
1
iOS
9
IU
2
Java
1
Java 8
1
javascript
2
JPEG
1
JSON
2
Kaggle
1
kernel
1
Keyboard Map API
1
Knowledge Connectors
1
Kotlin
6
Kotlin da Udacity
1
Kubernetes
5
LangID
1
Launchpad
1
launchpad accelerator
2
Learning Augmentation
1
LEGO
1
Listas
1
ListFragment
1
LLVM
1
LTO
1
Machine Learning
2
Meetup
2
mensagens
1
Mentoria
1
Messaging
2
microsserviços
1
ML
2
ML Kit
1
Mobile
3
Mobile Ads SDK
1
Monetização
3
Monetize
3
MySQL
1
Native
1
Navigation Architecture Component
1
NES
1
Neto Marin
2
Next Level Apps
2
Next Level Tips
2
NNLM
1
Node.js
2
Notificações
1
novembro azul
1
Number Genie
1
Nuvem Profissional
1
OAuth
2
OAuth2
1
Open Images Extended
1
open source
3
Options Menu
1
Options Menu virtual
1
Orkut
2
Payment Request
1
pesquisa
1
PHA
1
Phone Gateway
1
PII
1
pixel
1
Play Academy
1
Play Console
1
Play Services
1
Playtime 2018
1
plug-in AMP
1
Porto Alegre
1
Preact
1
PRIV
1
program
1
progressive web apps
2
Push Notification
2
Python
1
QA
1
RA
2
Raspberry Pi
1
RBDMS
1
React
1
recording apis
1
remarketing
1
Remote Config
2
research
4
ResultReceiver
1
reward
1
RNN
2
Robolectric 4.0
1
RV
1
Sceneform
1
SDK
4
SDK Manager
3
Security
2
Server
1
service worker
1
sign-in
1
Sliding Tabs
1
Smartronix
1
social
6
Spark
1
SRE
1
Stack
1
Stack Overflow
1
Startups
2
Storage
2
story
1
Support Library
1
SurfaceView
1
Svelte
1
switch
1
Tag Manager
1
Tag Manager 360
1
tensorflow
5
TensorFlow Hub
2
TensorFlow Lite
1
TensorFlow Transform
1
Test Lab
2
Testes
1
TF Hub
2
tf.keras
1
TFDV
1
TFX
1
TI essencial
1
toolkit
1
tradução
1
TTS
1
Udacity
1
Universal Apps
1
Universal Sentence Encoder
1
user experience
1
ux
1
VectorDrawable
1
Velostrata
1
Volley
1
vr
2
vulnerabilidades
1
vulnerabilidades do Google
1
vulnerability
1
web
2
web dev
2
WebKit
1
webservice
3
when
1
WordPress
1
WorkerDOM
1
YouTube
4
YouTube API
1
YUV
1
Zomato
1
Archive
2022
nov.
out.
jul.
jun.
mai.
abr.
mar.
fev.
jan.
2021
dez.
nov.
out.
set.
ago.
jul.
jun.
mai.
abr.
mar.
fev.
jan.
2020
dez.
nov.
out.
set.
ago.
jul.
jun.
mai.
abr.
mar.
fev.
jan.
2019
dez.
nov.
out.
set.
ago.
jul.
jun.
mai.
abr.
2018
dez.
nov.
out.
set.
ago.
jul.
jun.
mai.
abr.
mar.
fev.
2017
ago.
jul.
jun.
mai.
abr.
mar.
jan.
2016
dez.
nov.
out.
set.
ago.
jul.
mai.
mar.
2014
jul.
jun.
abr.
mar.
fev.
2013
dez.
nov.
out.
set.
ago.
jul.
jun.
mai.
mar.
fev.
jan.
2012
nov.
jul.
jun.
mai.
abr.
mar.
2011
nov.
set.
ago.
jul.
jun.
Feed
Follow @googledevbr
Nenhum comentário :
Postar um comentário