432
AWS Mobile Developer Guide AWS Mobile: Developer Guide Copyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

AWS Mobile - Developer Guide€¦ · Android e iOS ... AWS Mobile Developer Guide ... 3.Añada dependencias al archivo app/build.gradle y, a continuación, elija Sync Now (Sincronizar

  • Upload
    ngohanh

  • View
    278

  • Download
    0

Embed Size (px)

Citation preview

  • AWS MobileDeveloper Guide

    AWS Mobile: Developer GuideCopyright 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

  • AWS Mobile Developer Guide

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any mannerthat is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks notowned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored byAmazon.

  • AWS Mobile Developer Guide

    Table of ContentsQu es AWS Mobile? ........................................................................................................................ 1

    Habilite una aplicacin para la nube en cuestin de minutos ............................................................. 1Android e iOS .................................................................................................................................... 2

    Introduccin ............................................................................................................................... 2Informacin general ............................................................................................................ 2Configuracin del backend ................................................................................................... 2Conexin al backend .......................................................................................................... 7Pasos siguientes ............................................................................................................... 13Adicin de anlisis ............................................................................................................ 13Adicin de User Sign-in ..................................................................................................... 20Adicin de notificaciones de insercin .................................................................................. 45Adicin de NoSQL Database .............................................................................................. 56Aadir User File Storage .................................................................................................... 68Adicin de Cloud Logic ...................................................................................................... 78Adicin de mensajera ....................................................................................................... 86Aadir bots de conversacin .............................................................................................. 87

    Tutoriales ................................................................................................................................. 93Tutorial para aplicacin de notas ......................................................................................... 93Aplicacin de notas de Android ........................................................................................... 93Aplicacin de notas de iOS .............................................................................................. 118

    Procedimientos ....................................................................................................................... 136Configuracin manual del SDK .......................................................................................... 137Caracterstica User Sign-in (Amazon Cognito) ..................................................................... 151User File Storage (Amazon S3) ......................................................................................... 188Base de datos NoSQL (Amazon DynamoDB) ...................................................................... 239Cdigo sin servidor (AWS Lambda) ................................................................................... 269Lenguaje natural (Amazon Lex) ......................................................................................... 280Texto a voz (Amazon Polly) .............................................................................................. 289Streaming de datos (Amazon Kinesis) ................................................................................ 290Sincronizacin de datos (AWS Cognito Sync) ...................................................................... 300Aprendizaje automtico (Amazon Machine Learning) ............................................................ 304Miscelneo ..................................................................................................................... 310

    Referencia .............................................................................................................................. 320Referencias de las API para los SDK ................................................................................. 320Consideraciones de seguridad de Amazon S3 ..................................................................... 320Consideraciones de seguridad de Amazon CloudFront .......................................................... 321AWS Mobile Hub ............................................................................................................ 323

    Web .............................................................................................................................................. 380Introduccin ............................................................................................................................ 380

    Informacin general ......................................................................................................... 380Requisitos previos ........................................................................................................... 380Configuracin del backend ............................................................................................... 380Conexin al backend ....................................................................................................... 381Pasos siguientes ............................................................................................................. 382Aadir anlisis ................................................................................................................ 385Adicin de User Sign-in ................................................................................................... 386Adicin de NoSQL Database ............................................................................................ 387Aadir User File Storage .................................................................................................. 392Adicin de Cloud Logic .................................................................................................... 394Alojamiento de una aplicacin web .................................................................................... 398

    Referencia .............................................................................................................................. 401Referencia de la CLI de AWS Mobile ................................................................................. 401Credenciales de la CLI de AWS Mobile .............................................................................. 411

    React Native .................................................................................................................................. 414

    iii

  • AWS Mobile Developer Guide

    Introduccin ............................................................................................................................ 414Informacin general ......................................................................................................... 414Requisitos previos ........................................................................................................... 414Configuracin del backend ............................................................................................... 414Conexin al backend ....................................................................................................... 415Pasos siguientes ............................................................................................................. 416Aadir anlisis ................................................................................................................ 416Adicin de User Sign-in ................................................................................................... 418Adicin de NoSQL Database ............................................................................................ 419Aadir User File Storage .................................................................................................. 424Adicin de Cloud Logic .................................................................................................... 425

    Referencia .............................................................................................................................. 427

    iv

  • AWS Mobile Developer GuideHabilite una aplicacin para la nube en cuestin de minutos

    Qu es AWS Mobile?Habilite una aplicacin para la nube en cuestin deminutos

    AWS Mobile le ofrece las herramientas necesarias para configurar e integrar rpidamente el backend de lanube que necesita su aplicacin mvil.

    Android e iOS

    Comience a utilizar (p. 2) el AWS Mobile SDK.

    Incluye las siguientes caractersticas para aplicaciones mviles:

    Anlisis (p. 14) - Inicio de sesin de usuarios (p. 20) - Notificaciones push (p. 46) - Basede datos NoSQL (p. 57) - User File Storage (p. 69) - Cloud Logic - Mensajera - Bots deconversacin (p. 88) - Hosting and Streaming

    AWS Mobile Hub permite configurar potentes servicios de backend mediante una consola.

    Web y React Native

    Comience a usar Web (p. 380) o React Native (p. 414) con la CLI de AWS Mobile.

    Incluye las siguientes caractersticas para aplicaciones mviles:

    Web: Analytics (p. 385) - Inicio de sesin de usuarios (p. 386) - Base de datos NoSQL (p. 387) -User Data Storage (p. 392) - Cloud Logic (p. 394)

    React Native: Anlisis (p. 416) - Inicio de sesin de usuarios (p. 418) - Base de datosNoSQL (p. 419) - User File Storage (p. 424) - Cloud Logic (p. 425)

    En segundo plano, AWS Mobile Hub le permite configurar potentes servicios de backend desde la lneade comandos sin necesidad de tener conocimientos tcnicos de AWS.

    Descubra lo sencillo que resulta integrar sus servicios probando un tutorial de AWS Mobile (p. 93).

    1

    http://docs.aws.amazon.com/aws-mobile/latest/developerguide/add-aws-mobile-cloud-logic.html#connect-to-your-backendhttp://docs.aws.amazon.com/aws-mobile/latest/developerguide/add-aws-mobile-messaging.html#connect-to-your-backendhttps://console.aws.amazon.com/mobilehub/https://console.aws.amazon.com/mobilehub/

  • AWS Mobile Developer GuideIntroduccin

    AWS Mobile para Android e iOSLos SDK de AWS Mobile para Android e iOS, junto con AWS Mobile Hub, le permiten integrar deforma rpida y sencilla backends de nube robustos en aplicaciones mviles existentes. No se requiereexperiencia con AWS para configurar y empezar a utilizar caractersticas como el inicio de sesin deusuarios, bases de datos, notificaciones de insercin y muchas otras.

    Temas Introduccin (p. 2) Tutoriales (p. 93) Procedimientos de AWS Mobile para Android e iOS (p. 136) Referencia de AWS Mobile (p. 320)

    IntroduccinInformacin generalLos SDK para Android e iOS de AWS Mobile le ayudan a desarrollar aplicaciones mviles de alta calidadde manera rpida y sencilla. Proporcionan acceso sencillo a una gama de servicios de AWS, comoAmazon Cognito, AWS Lambda, Amazon S3, Amazon Kinesis, Amazon DynamoDB, Amazon Pinpoint ymuchos ms.

    Configuracin del backend1. Inscrbase en la capa gratuita de AWS.2. Cree un proyecto de Mobile Hub iniciando sesin en la consola. La consola de Mobile Hub ofrece una

    nica ubicacin para administrar y monitorizar los recursos de la nube de las aplicaciones.

    Para integrar recursos de AWS existentes utilizando directamente el SDK, sin Mobile Hub, consulteOpciones de configuracin para Android (p. 137) u Opciones de configuracin para iOS (p. 143).

    3. Asigne un nombre al proyecto, marque la casilla para permitir que Mobile Hub administre recursos en sunombre y, a continuacin, elija Add (Aadir).

    Android - Java

    1. Seleccione Android como plataforma y, a continuacin, elija Next (Siguiente).

    2

    https://console.aws.amazon.com/mobilehub/homehttps://aws.amazon.com/free/https://console.aws.amazon.com/mobilehub/

  • AWS Mobile Developer GuideConfiguracin del backend

    2. Elija Download Cloud Config (Descargar configuracin de nube) y, a continuacin, Next (Siguiente).

    El archivo awsconfiguration.json que se descarga contiene la configuracin de los recursosdel backend que Mobile Hub habilit en el proyecto. Los servicios de anlisis en la nube estnhabilitados para la aplicacin de forma predeterminada.

    3. Aada el archivo de configuracin del servicio de backend a la aplicacin.

    En el navegador del proyecto, haga clic derecho en la carpeta res de la aplicacin y, acontinuacin, elija New > Directory (Nuevo > Directorio). Escriba raw como nombre del directorio y,despus, seleccione OK (Aceptar).

    3

  • AWS Mobile Developer GuideConfiguracin del backend

    Desde la ubicacin donde se descarg anteriormente el archivo de configuracinawsconfiguration.json, arrstrelo a la carpeta res/raw. Android ofrece una ID de recurso acualquier archivo arbitrario ubicado en esta carpeta , lo que facilita hacer referencia al mismo en laaplicacin.

    Recuerde Cada vez que cree o actualice unacaracterstica en el proyecto de Mobile Hub,descargue e integre una nueva versin delarchivo awsconfiguration.json en cadauna de las aplicaciones del proyecto queutilizarn la actualizacin.

    Su backend ya est configurado. Realice los pasos siguientes de Conexin al backend (p. 7).Android - Kotlin

    1. Seleccione Android como plataforma y, a continuacin, elija Next (Siguiente).

    2. Elija Download Cloud Config (Descargar configuracin de nube) y, a continuacin, Next (Siguiente).

    4

  • AWS Mobile Developer GuideConfiguracin del backend

    El archivo awsconfiguration.json que se descarga contiene la configuracin de los recursosdel backend que Mobile Hub habilit en el proyecto. Los servicios de anlisis en la nube estnhabilitados para la aplicacin de forma predeterminada.

    3. Aada el archivo de configuracin del servicio de backend a la aplicacin.

    En el navegador del proyecto, haga clic derecho en la carpeta res de la aplicacin y, acontinuacin, elija New > Directory (Nuevo > Directorio). Escriba raw como nombre del directorio y,despus, seleccione OK (Aceptar).

    Desde la ubicacin donde se descarg anteriormente el archivo de configuracinawsconfiguration.json, arrstrelo a la carpeta res/raw. Android ofrece una ID de recurso acualquier archivo arbitrario ubicado en esta carpeta , lo que facilita hacer referencia al mismo en laaplicacin.

    Recuerde Cada vez que cree o actualice unacaracterstica en el proyecto de Mobile Hub,descargue e integre una nueva versin delarchivo awsconfiguration.json en cadauna de las aplicaciones del proyecto queutilizarn la actualizacin.

    5

  • AWS Mobile Developer GuideConfiguracin del backend

    Su backend ya est configurado. Realice los pasos siguientes de Conexin al backend (p. 7).iOS - Swift

    1. Seleccione iOS como plataforma y, a continuacin, elija Next (Siguiente).

    2. Elija Download Cloud Config (Descargar configuracin de nube) y, a continuacin, Next (Siguiente).

    El archivo awsconfiguration.json que se descarga contiene la configuracin de los recursosdel backend que Mobile Hub habilit en el proyecto. Los servicios de anlisis en la nube estnhabilitados para la aplicacin de forma predeterminada.

    3. Aada el archivo de configuracin del servicio de backend a la aplicacin.

    Desde la ubicacin de descarga, coloque awsconfiguration.json en la carpeta que contiene elarchivo info.plist en el proyecto de Xcode. Seleccione Copy items if needed y Create groups enel cuadro de dilogo de opciones. Seleccione Siguiente.

    Recuerde Cada vez que cree o actualice unacaracterstica en el proyecto de Mobile Hub,descargue e integre una nueva versin delarchivo awsconfiguration.json en cadauna de las aplicaciones del proyecto queutilizarn la actualizacin.

    6

  • AWS Mobile Developer GuideConexin al backend

    Su backend ya est configurado. Realice los pasos siguientes de Conexin al backend (p. 7).

    Conexin al backendAndroid - Java

    1. Requisitos previos Instale Android Studio versin 2.33 o superior. Instale Android SDK versin 7.11 (Nougat), nivel de API 25.

    2. El archivo AndroidManifest.xml debe contener:

    3. Aada dependencias al archivo app/build.gradle y, a continuacin, elija Sync Now (Sincronizarahora) en la parte superior derecha de Android Studio. Estas bibliotecas habilitan funciones bsicasde AWS, como credenciales y anlisis.

    dependencies { implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }}

    4. Aada el siguiente cdigo al mtodo onCreate de la actividad principal o de inicio.AWSMobileClient es un singleton que establece su conexin con|AWS|y acta como una interfaz para sus servicios.

    import com.amazonaws.mobile.client.AWSMobileClient;

    public class YourMainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

    AWSMobileClient.getInstance().initialize(this, new AWSStartupHandler() { @Override public void onComplete(AWSStartupResult awsStartupResult) { Log.d("YourMainActivity", "AWSMobileClient is instantiated and you are connected to AWS!"); } }).execute();

    // More onCreate code ... } }

    Para qu sirve esto? Cuando AWSMobileClient seinicializa, construye los objetosAWSCredentialsProvider yAWSConfiguration que, a su vez, seutilizan al crear otros clientes del SDK. Acontinuacin, el cliente realiza una llamadade red firmada Sigv4 para las identidadesfederadas de Amazon Cognito para recuperarlas credenciales de AWS que proporcionan

    7

    https://developer.android.com/studio/index.html#downloadshttp://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.htmlhttp://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.htmlhttp://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html

  • AWS Mobile Developer GuideConexin al backend

    el acceso del usuario a sus recursos en elbackend. Cuando la interaccin de red secompleta correctamente, se llama al mtodoonComplete de AWSStartUpHandler.

    La aplicacin ya est configurada para interactuar con los servicios de AWS que ha definido en elproyecto de Mobile Hub.

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Busque Welcome to AWS! en la salida del logcat de Android (elija View > ToolWindows > Logcat (Ver > Ventanas de herramientas > Logcat)).

    Opcional: en el siguiente ejemplo se muestra cmo recuperar la referencia a los objetosAWSCredentialsProvider y AWSConfiguration, que se pueden utilizar para crear instanciasde otros clientes del SDK. Puede utilizar IdentityManager para recuperar el ID de identidad deAWS del usuario ya sea directamente desde Amazon Cognito o desde el valor de ID de la identidadguardado en la memoria cach local.

    import com.amazonaws.auth.AWSCredentialsProvider;import com.amazonaws.mobile.auth.core.IdentityHandler;import com.amazonaws.mobile.auth.core.IdentityManager;import com.amazonaws.mobile.client.AWSMobileClient;import com.amazonaws.mobile.client.AWSStartupHandler;import com.amazonaws.mobile.client.AWSStartupResult;import com.amazonaws.mobile.config.AWSConfiguration;

    public class YourMainActivity extends Activity {

    private AWSCredentialsProvider credentialsProvider; private AWSConfiguration configuration;

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

    AWSMobileClient.getInstance().initialize(this, new AWSStartupHandler() { @Override public void onComplete(AWSStartupResult awsStartupResult) {

    // Obtain the reference to the AWSCredentialsProvider and AWSConfiguration objects credentialsProvider = AWSMobileClient.getInstance().getCredentialsProvider(); configuration = AWSMobileClient.getInstance().getConfiguration();

    // Use IdentityManager#getUserID to fetch the identity id. IdentityManager.getDefaultIdentityManager().getUserID(new IdentityHandler() { @Override public void onIdentityId(String identityId) { Log.d("YourMainActivity", "Identity ID = " + identityId);

    // Use IdentityManager#getCachedUserID to // fetch the locally cached identity id. final String cachedIdentityId = IdentityManager.getDefaultIdentityManager().getCachedUserID(); }

    8

  • AWS Mobile Developer GuideConexin al backend

    @Override public void handleError(Exception exception) { Log.d("YourMainActivity", "Error in retrieving the identity" + exception); } }); } }).execute();

    // .. more code }}

    Android - Kotlin

    1. Requisitos previos Instale Android Studio versin 2.33 o superior. Instale Android SDK versin 7.11 (Nougat), nivel de API 25.

    2. El archivo AndroidManifest.xml debe contener:

    3. Aada dependencias al archivo app/build.gradle y, a continuacin, elija Sync Now (Sincronizarahora) en la parte superior derecha de Android Studio. Estas bibliotecas habilitan funciones bsicasde AWS, como credenciales y anlisis.

    dependencies { implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }}

    4. Aada el siguiente cdigo al mtodo onCreate de la actividad principal o de inicio.AWSMobileClient es un singleton que establece su conexin con|AWS|y acta como una interfaz para sus servicios.

    import com.amazonaws.mobile.client.AWSMobileClient;

    class YourMainActivity : Activity() { companion object { private val TAG: String = this::class.java.simpleName }

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState);

    AWSMobileClient.getInstance().initialize(this) { Log.d(TAG, "AWSMobileClient is initialized") }.execute()

    // More onCreate code... }}

    Para qu sirve esto? Cuando AWSMobileClient seinicializa, construye los objetos

    9

    https://developer.android.com/studio/index.html#downloads

  • AWS Mobile Developer GuideConexin al backend

    AWSCredentialsProvider yAWSConfiguration que, a su vez, seutilizan al crear otros clientes del SDK. Acontinuacin, el cliente realiza una llamadade red firmada Sigv4 para las identidadesfederadas de Amazon Cognito para recuperarlas credenciales de AWS que proporcionanel acceso del usuario a sus recursos en elbackend. Cuando la interaccin de red serealiza correctamente, se llama a la devolucinde llamada (que es tcnicamente el mtodoonComplete de la AWSStartUpHandler).

    La aplicacin ya est configurada para interactuar con los servicios de AWS que ha definido en elproyecto de Mobile Hub.

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Busque Welcome to AWS! en la salida del logcat de Android (elija View > ToolWindows > Logcat (Ver > Ventanas de herramientas > Logcat)).

    Opcional: en el siguiente ejemplo se muestra cmo recuperar la referencia a los objetosAWSCredentialsProvider y AWSConfiguration, que se pueden utilizar para crear instanciasde otros clientes del SDK. Puede utilizar IdentityManager para recuperar el ID de identidad deAWS del usuario ya sea directamente desde Amazon Cognito o desde el valor de ID de la identidadguardado en la memoria cach local.

    import com.amazonaws.auth.AWSCredentialsProviderimport com.amazonaws.mobile.auth.core.IdentityHandlerimport com.amazonaws.mobile.auth.core.IdentityManagerimport com.amazonaws.mobile.client.AWSMobileClientimport com.amazonaws.mobile.config.AWSConfiguration

    class YourMainActivity : Activity() { companion object { private val TAG: String = this::class.java.simpleName }

    private var credentialsProvider: AWSCredentialsProvider? = null private var awsConfiguration: AWSConfiguration? = null

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState);

    AWSMobileClient.getInstance().initialize(this) { credentialsProvider = AWSMobileClient.getInstance().credentialsProvider awsConfiguration = AWSMobileClient.getInstance().configuration

    IdentityManager.getDefaultIdentityManager().getUserID(object : IdentityHandler { override fun handleError(exception: Exception?) { Log.e(TAG, "Retrieving identity: ${exception.message}") }

    override fun onIdentityId(identityId: String?) { Log.d(TAG, "Identity = $identityId") val cachedIdentityId = IdentityManager.getDefaultIdentityManager().cachedUserID

    10

    http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.htmlhttp://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.htmlhttp://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html

  • AWS Mobile Developer GuideConexin al backend

    // Do something with the identity here } }) }.execute()

    // More onCreate code... }}

    iOS - Swift

    1. Requisitos previos Instale Xcode versin 8.0 o posterior.

    2. Instale Cocoapods. En una ventana de terminal, ejecute:

    sudo gem install cocoapods

    3. Create Podfile. Desde una ventana de terminal, vaya al directorio que contiene el archivo.xcodeproj del proyecto y ejecute:

    pod init

    4. Aada los componentes bsicos de AWS Mobile SDK a la compilacin.

    platform :ios, '9.0'target :'YOUR-APP-NAME' do use_frameworks! pod 'AWSMobileClient', '~> 2.6.13' # other podsend

    5. Instale las dependencias ejecutando:

    pod install --repo-update

    Si le aparece un mensaje que comienza as: "[!] Failed to connect to GitHub toupdate the CocoaPods/Specs . . ." y tiene una conexin a Internet operativa, puede quetenga que actualizar openssl y Ruby.

    6. El comando pod install crea un nuevo archivo de espacio de trabajo. Cierre su proyecto Xcodey vuelva a abrirlo utilizando ./YOUR-PROJECT-NAME.xcworkspace.

    Utilice SOLO su .xcworkspace Recuerde utilizar siempre ./YOUR-PROJECT-NAME.xcworkspace para abrir su proyectoXcode a partir de ahora.

    7. Vuelva a compilar la aplicacin despus de volver a abrirla en el workspace para resolver las APIdesde las nuevas bibliotecas a las que se llama en el cdigo. Esta prctica se recomienda cada vezque aada instrucciones de importacin.

    8. Sustituya la instruccin return true en didFinishLaunching con el siguiente cdigo en suAppDelegate para establecer una conexin en el tiempo de ejecucin con AWS Mobile.

    import UIKitimport AWSMobileClient

    @UIApplicationMain

    11

    https://developer.apple.com/xcode/downloads/https://stackoverflow.com/questions/38993527/cocoapods-failed-to-connect-to-github-to-update-the-cocoapods-specs-specs-repo/48962041#48962041

  • AWS Mobile Developer GuideConexin al backend

    class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch.

    // Create AWSMobileClient to connect with AWS return AWSMobileClient.sharedInstance().interceptApplication( application, didFinishLaunchingWithOptions: launchOptions)

    }

    Para qu sirve esto? Cuando se inicializa AWSMobileClient,hace una llamada de red firmada Sigv4 aidentidades federadas de Amazon Cognitopara recuperar credenciales de AWS quefacilitan el acceso del usuario a sus recursosdel backend. Cuando la interaccin de red secompleta correctamente, se llama al mtodoonComplete de AWSStartUpHandler.

    La aplicacin ya est configurada para interactuar con los servicios de AWS que ha definido en elproyecto de Mobile Hub.

    Seleccione el icono de reproduccin (|jugar|) en la parte superior izquierda de la ventana de Xcode o escriba|Acommand|-R para compilar y ejecutar su aplicacin. Busque Welcome to AWS! en la salida del log.

    Opcional: si desea asegurarse de que est conectado con AWS, importe AWSCore y aada elsiguiente cdigo a didFinishLaunchingWithOptions antes de devolver AWSMobileClient.

    import AWSCore

    //. . .

    AWSDDLog.add(AWSDDTTYLogger.sharedInstance)AWSDDLog.sharedInstance.logLevel = .info

    Opcional: en el siguiente ejemplo se muestra cmo recuperar la referencia al objetoAWSCredentialsProvider, que se puede utilizar para crear instancias de otros clientes del SDK.Puede utilizar AWSIdentityManager para recuperar el ID de identidad de AWS del usuario deAmazon Cognito.

    import UIKitimport AWSMobileClientimport AWSAuthCore

    class ViewController: UIViewController {

    @IBOutlet weak var textfield: UITextField! override func viewDidLoad() { super.viewDidLoad() textfield.text = "View Controller Loaded"

    12

    http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.htmlhttp://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html

  • AWS Mobile Developer GuidePasos siguientes

    // Get the AWSCredentialsProvider from the AWSMobileClient let credentialsProvider = AWSMobileClient.sharedInstance().getCredentialsProvider()

    // Get the identity Id from the AWSIdentityManager let identityId = AWSIdentityManager.default().identityId }}

    Pasos siguientes Adicin de anlisis (p. 14) Adicin de User Sign-in (p. 20) Adicin de notificaciones de insercin (p. 45) Adicin de una base de datos NoSQL (p. 56) Aadir User File Storage (p. 68) Adicin de Cloud Logic (p. 78) Adicin de mensajera (p. 86) Adicin de bots de conversacin (p. 87) Aadir Hosting and Streaming

    Adicin de anlisis a una aplicacin mvil medianteAmazon PinpointInformacin generalRecopile datos que le ayudarn a mejorar el uso, la monetizacin y la interaccin con los usuarios de suaplicacin. Mobile Hub implementa el backend de anlisis cuando se habilita la caracterstica Messagingand Analytics (p. 352), que utiliza el servicio Amazon Pinpoint.

    Configuracin del backend1. Realice los pasos de la Introduccin (p. 2) antes de continuar.2. Al crear un proyecto, se habilita el anlisis de forma predeterminada en el backend. Debera verse

    una marca de verificacin verde en el mosaico Analytics (Anlisis) en el backend, lo que indica quela caracterstica est activada. Si no se ve la marca de verificacin, elija Analytics (Anlisis) y, acontinuacin, elija Enable (Habilitar).

    13

    http://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html

  • AWS Mobile Developer GuideAdicin de anlisis

    Conexin al backendRealice los pasos siguientes para aadir anlisis a una aplicacin mvil y supervisar los resultadosmediante Amazon Pinpoint.

    Aadir anlisis

    Android - Java

    1. Configure los componentes del AWS Mobile SDK siguiendo los siguientes pasos de Configuracinbsica del backend (p. 2). Entre ellas se incluyen:a. Incluya las siguientes bibliotecas en su lista de dependencias app/build.gradle.

    dependencies{ implementation 'com.amazonaws:aws-android-sdk-pinpoint:2.6.+' implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true } // other dependencies . . .}

    La biblioteca aws-android-sdk-pinpoint permite enviar datos de anlisis a AmazonPinpoint.

    La biblioteca aws-android-sdk-mobile-client da acceso al proveedor de credencialesde AWS y a sus configuraciones.

    b. Aadir los permisos necesarios al manifiesto de su aplicacin.

    El SDK para mviles de AWS requiere los permisos INTERNET y ACCESS_NETWORK_STATE. Sedefinen en el archivo AndroidManifest.xml.

    2. Aada llamadas para capturar los inicios y cierres de sesin.

    Tres lugares tpicos en los que instrumentalizar el inicio y el cierre de sesin en su aplicacin son: Iniciar una sesin en el mtodo Application.onCreate(). Iniciar una sesin en el mtodo onCreate() de la primera actividad de la aplicacin. Iniciar o detener una sesin en la clase ActivityLifecycleCallbacks.

    En el siguiente ejemplo se muestra cmo iniciar una sesin en el evento OnCreate deMainActivity.

    import android.support.v7.app.AppCompatActivity;

    14

    https://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks

  • AWS Mobile Developer GuideAdicin de anlisis

    import android.os.Bundle;

    import com.amazonaws.mobileconnectors.pinpoint.PinpointManager;import com.amazonaws.mobileconnectors.pinpoint.PinpointConfiguration;import com.amazonaws.mobile.client.AWSMobileClient;

    public class MainActivity extends AppCompatActivity {

    public static PinpointManager pinpointManager;

    @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

    // Initialize the AWS Mobile Client AWSMobileClient.getInstance().initialize(this).execute();

    PinpointConfiguration config = new PinpointConfiguration( MainActivity.this, AWSMobileClient.getInstance().getCredentialsProvider(), AWSMobileClient.getInstance().getConfiguration() ); pinpointManager = new PinpointManager(config); pinpointManager.getSessionClient().startSession(); pinpointManager.getAnalyticsClient().submitEvents(); }}

    Para detener la sesin, utilice stopSession() y submitEvents() en el ltimo punto en la sesinque desee capturar.

    // . . .

    pinpointManager.getSessionClient().stopSession();pinpointManager.getAnalyticsClient().submitEvents();

    // . . .

    Android - Kotlin

    1. Configure los componentes del AWS Mobile SDK siguiendo los siguientes pasos de Configuracinbsica del backend (p. 2). Entre ellas se incluyen:a. Incluya las siguientes bibliotecas en su lista de dependencias app/build.gradle.

    dependencies { implementation 'com.amazonaws:aws-android-sdk-pinpoint:2.6.+' implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true } // other dependencies . . .}

    La biblioteca aws-android-sdk-pinpoint permite enviar datos de anlisis a AmazonPinpoint.

    La biblioteca aws-android-sdk-mobile-client da acceso al proveedor de credencialesde AWS y a sus configuraciones.

    b. Aadir los permisos necesarios al manifiesto de su aplicacin.

    15

  • AWS Mobile Developer GuideAdicin de anlisis

    El SDK para mviles de AWS requiere los permisos INTERNET y ACCESS_NETWORK_STATE. Sedefinen en el archivo AndroidManifest.xml.

    2. Aada llamadas para capturar los inicios y cierres de sesin.

    Tres lugares tpicos en los que instrumentalizar el inicio y el cierre de sesin en su aplicacin son: Iniciar una sesin en el mtodo Application.onCreate(). Iniciar una sesin en el mtodo onCreate() de la primera actividad de la aplicacin. Iniciar o detener una sesin en la clase ActivityLifecycleCallbacks.

    En el siguiente ejemplo se muestra cmo iniciar una sesin en el evento OnCreate deMainActivity.

    import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.amazonaws.mobileconnectors.pinpoint.PinpointManager;import com.amazonaws.mobileconnectors.pinpoint.PinpointConfiguration;import com.amazonaws.mobile.client.AWSMobileClient;

    class MainActivity : AppCompatActivity() { companion object { var pinpointManager: PinpointManager? = null }

    override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)

    // Initialize the AWS Mobile client AWSMobileClient.getInstance().initialize(this).execute()

    with (AWSMobileClient.getInstance()) { val config = PinpointConfiguration(this, credentialsProvider, configuration) pinpointManager = PinpointManager(config) }

    pinpointManager?.sessionClient?.startSession() pinpointManager?.analyticsClient?.submitEvents() }}

    Para detener la sesin, utilice stopSession() y submitEvents() en el ltimo punto en la sesinque desee capturar.

    // . . .

    pinpointManager?.sessionClient?.stopSession();pinpointManager?.analyticsClient?.submitEvents();

    // . . .

    16

    https://developer.android.com/reference/android/app/Application.ActivityLifecycleCallbacks

  • AWS Mobile Developer GuideAdicin de anlisis

    iOS - Swift

    1. Configure los componentes del AWS Mobile SDK con los siguientes pasos de Configuracin bsicadel backend (p. 2).a. El Podfile que configure para instalar el AWS Mobile SDK debe contener:

    platform :ios, '9.0'target :'YourAppName' do use_frameworks!

    pod 'AWSPinpoint', '~> 2.6.13'

    # other pods

    end

    Ejecute pod install --repo-update antes de continuar.

    Si le aparece un mensaje que comienza as: "[!] Failed to connect to GitHub toupdate the CocoaPods/Specs . . ." y tiene una conexin a Internet operativa, puede quetenga que actualizar openssl y Ruby.

    b. Las clases que llaman a las API de Amazon Pinpoint deben utilizar las siguientes instruccionesimport:

    import AWSCoreimport AWSPinpoint

    c. Introduzca el siguiente cdigo en el mtodoapplication(_:didFinishLaunchingWithOptions:) de AppDelegate.swift de laaplicacin.

    class AppDelegate: UIResponder, UIApplicationDelegate {

    var pinpoint: AWSPinpoint?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    //. . .

    // Initialize Pinpoint pinpoint = AWSPinpoint(configuration: AWSPinpointConfiguration.defaultPinpointConfiguration(launchOptions: launchOptions))

    //. . . }}

    Monitorear anlisis

    Compile y ejecute la aplicacin para ver las mtricas de uso en Amazon Pinpoint.

    1. Para visualizar los anlisis procedentes de la aplicacin, abra el proyecto en la consola de Mobile Hub.2. Elija Analytics (Anlisis) en la esquina superior derecha para abrir la consola de Amazon Pinpoint.

    17

    https://stackoverflow.com/questions/38993527/cocoapods-failed-to-connect-to-github-to-update-the-cocoapods-specs-specs-repo/48962041#48962041https://console.aws.amazon.com/mobilehub/https://console.aws.amazon.com/pinpoint/

  • AWS Mobile Developer GuideAdicin de anlisis

    1. Elija Analytics (Anlisis) en los iconos de la izquierda de la consola y examine los grficos de uso de laaplicacin. Las mtricas pueden tardar hasta 15 minutos en aparecer.

    Obtenga ms informacin sobre Amazon Pinpoint.

    Como habilitar anlisis de aplicaciones personalizadosInstrumente el cdigo para capturar informacin de eventos de uso de la aplicacin, incluyendo losatributos que defina. Utilice grficos de los datos de eventos de uso personalizados en la consola deAmazon Pinpoint. Visualice la correspondencia del comportamiento de los usuarios con un modeloque haya diseado utilizando el anlisis de embudos de Amazon Pinpoint, o transmita los datos paraprofundizar en el anlisis.

    Utilice los pasos siguientes para implementar anlisis personalizados de Amazon Pinpoint en su aplicacin.

    Android - Java

    import com.amazonaws.mobileconnectors.pinpoint.analytics.AnalyticsEvent;

    18

    http://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.htmlhttp://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-funnels.htmlhttp://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-streaming.html

  • AWS Mobile Developer GuideAdicin de anlisis

    public void logEvent() { final AnalyticsEvent event = pinpointManager.getAnalyticsClient().createEvent("EventName") .withAttribute("DemoAttribute1", "DemoAttributeValue1") .withAttribute("DemoAttribute2", "DemoAttributeValue2") .withMetric("DemoMetric1", Math.random());

    pinpointManager.getAnalyticsClient().recordEvent(event); pinpointManager.getAnalyticsClient().submitEvents();}

    Android - Kotlin

    import com.amazonaws.mobileconnectors.pinpoint.analytics.AnalyticsEvent;

    fun logEvent() { pintpointManager?.analyticsClient?.let { val event = it.createEvent("EventName") .withAttribute("DemoAttribute1", "DemoAttributeValue1") .withAttribute("DemoAttribute2", "DemoAttributeValue2") .withMetric("DemoMetric1", Math.random()); it.recordEvent(event) it.submitEvents()}

    iOS - Swift

    func logEvent() {

    let pinpointAnalyticsClient = AWSPinpoint(configuration: AWSPinpointConfiguration.defaultPinpointConfiguration(launchOptions: nil)).analyticsClient

    let event = pinpointAnalyticsClient.createEvent(withEventType: "EventName") event.addAttribute("DemoAttributeValue1", forKey: "DemoAttribute1") event.addAttribute("DemoAttributeValue2", forKey: "DemoAttribute2") event.addMetric(NSNumber.init(value: arc4random() % 65535), forKey: "EventName") pinpointAnalyticsClient.record(event) pinpointAnalyticsClient.submitEvents()

    }

    Compile, ejecute y pruebe la aplicacin y, a continuacin, vea los eventos personalizados en la pestaaEvents (Eventos) de la consola de Amazon Pinpoint (utilice su proyecto de Mobile Hub / Analytics (Anlisis)> consola de Amazon Pinpoint / Analytics (Anlisis) > Events (Eventos)). Busque el nombre del evento enel men desplegable Events (Eventos).

    Cmo habilitar anlisis de ingresos

    Amazon Pinpoint permite recopilar datos de eventos de monetizacin. Realice los siguientes pasos paraincluir y disear anlisis relacionados con las compras realizadas a travs de su aplicacin.

    Android - Java

    import com.amazonaws.mobileconnectors.pinpoint.analytics.monetization.AmazonMonetizationEventBuilder;

    public void logMonetizationEvent() {

    19

  • AWS Mobile Developer GuideAdicin de User Sign-in

    final AnalyticsEvent event = AmazonMonetizationEventBuilder.create(pinpointManager.getAnalyticsClient()) .withFormattedItemPrice("$10.00") .withProductId("DEMO_PRODUCT_ID") .withQuantity(1.0) .withProductId("DEMO_TRANSACTION_ID").build();

    pinpointManager.getAnalyticsClient().recordEvent(event); pinpointManager.getAnalyticsClient().submitEvents();}

    Android - Kotlin

    import com.amazonaws.mobileconnectors.pinpoint.analytics.monetization.AmazonMonetizationEventBuilder;

    public void logMonetizationEvent() { pinpointManager?.analyticsClient?.let { val event = AmazonMonetizationEventBuilder.create(it) .withFormattedItemPrice("$10.00") .withProductId("DEMO_PRODUCT_ID") .withQuantity(1.0) .withProductId("DEMO_TRANSACTION_ID").build(); it.recordEvent(event) it.submitEvents() }}

    iOS - Swift

    func sendMonetizationEvent() { let pinpointClient = AWSPinpoint(configuration: AWSPinpointConfiguration.defaultPinpointConfiguration(launchOptions: nil))

    let pinpointAnalyticsClient = pinpointClient.analyticsClient

    let event = pinpointAnalyticsClient.createVirtualMonetizationEvent(withProductId: "DEMO_PRODUCT_ID", withItemPrice: 1.00, withQuantity: 1, withCurrency: "USD") pinpointAnalyticsClient.record(event) pinpointAnalyticsClient.submitEvents() }

    Adicin de la caracterstica User Sign-in a unaaplicacin mvil mediante Amazon CognitoPuede permitir que los usuarios inicien sesin con sus credenciales de Facebook, Google o de su propiodirectorio de usuarios personalizado. La caracterstica User Sign-in (p. 361) (Inicio de sesin de usuarios)de AWS Mobile Hub emplea tecnologa de Amazon Cognito, y el SDK proporciona una interfaz de usuariode inicio de sesin prediseada y configurable (p. 185), basada en los proveedores de identidad que seconfiguren.

    Configuracin del backendRequisitos previo Realice los pasos de la Introduccin (p. 2) antes de continuar.

    20

    http://docs.aws.amazon.com/cognito/latest/developerguide/

  • AWS Mobile Developer GuideAdicin de User Sign-in

    Correo electrnico y contrasea

    1. Habilite User Sign-in (Inicio de sesin de usuario): abra el proyecto en la consola de Mobile Hub yelija el mosaico User Sign-in (Inicio de sesin de usuario).

    2. Seleccione Email and Password sign-in (Inicio de sesin con correo electrnico y contrasea)

    Seleccione Create a new user pool (Crear un nuevo grupo de usuarios), la caracterstica y, acontinuacin, seleccione la configuracin de inicio de sesin: los mtodos de inicio de sesinpermitidos; la autenticacin multifactor y los requisitos de las contraseas. Despus, elija Createa user pool (Crear grupo de usuarios).

    O bien: Elija Import an existing user pool (Importar un grupo de usuarios existente) y seleccione un grupo

    de usuarios de la lista de grupos que estn disponibles en la cuenta. Elija si se requiere iniciode sesin y, a continuacin, seleccione Create user pool (Crear grupo de usuarios). Si importaun grupo de usuarios que est utilizando otra aplicacin, las dos aplicaciones compartirn eldirectorio de usuarios y el inicio de sesin autenticado por el mismo conjunto de usuarios.

    21

    https://console.aws.amazon.com/mobilehub

  • AWS Mobile Developer GuideAdicin de User Sign-in

    3. Cuando termine de configurar los proveedores, elija Click here to return to project details page(Haga clic aqu para volver a la pgina de detalles del proyecto) en el banner azul de la partesuperior.

    4. En la pgina de detalles del proyecto, seleccione el botn Integrate (Integrar) que parpadea y, acontinuacin, realice los pasos que le guiarn para conectar con el backend.

    Si su proyecto contiene aplicaciones para ms de una plataforma, las que requieran completaresos pasos tambin mostrarn un botn Integrate (Integrar) que parpadea. El banner recordatorioseguir en su posicin hasta que haya completado los pasos para actualizar la configuracin detodas las aplicaciones del proyecto.

    5. Siga los pasos de Configuracin del inicio de sesin mediante correo electrnico ycontrasea (p. 24) para conectarse al backend desde su aplicacin.

    Facebook

    1. Habilite User Sign-in (Inicio de sesin de usuario): abra el proyecto en la consola de Mobile Hub yelija el mosaico User Sign-in (Inicio de sesin de usuario).

    22

    https://console.aws.amazon.com/mobilehub

  • AWS Mobile Developer GuideAdicin de User Sign-in

    2. Configure el inicio de sesin de Facebook: elija la caracterstica y, a continuacin, introduzca su IDde aplicacin de Facebook y elija Enable Facebook login (Activar el inicio de sesin de Facebook).Para recuperar o crear su ID de aplicacin de Facebook, consulte Configuracin de la autenticacinde Facebook.

    3. Cuando termine de configurar los proveedores, elija Click here to return to project details page(Haga clic aqu para volver a la pgina de detalles del proyecto) en el banner azul de la partesuperior.

    4. En la pgina de detalles del proyecto, seleccione el botn Integrate (Integrar) que parpadea y, acontinuacin, realice los pasos que le guiarn para conectar con el backend.

    Si su proyecto contiene aplicaciones para ms de una plataforma, las que requieran completaresos pasos tambin mostrarn un botn Integrate (Integrar) que parpadea. El banner recordatorioseguir en su posicin hasta que haya completado los pasos para actualizar la configuracin detodas las aplicaciones del proyecto.

    5. Siga los pasos de Configuracin del inicio de sesin de Facebook (p. 30) para conectarse albackend desde su aplicacin.

    Google

    1. Habilite User Sign-in (Inicio de sesin de usuario): abra el proyecto en la consola de Mobile Hub yelija el mosaico User Sign-in (Inicio de sesin de usuario).

    23

    http://docs.aws.amazon.com/aws-mobile/latest/developerguide/auth-facebook-setup.htmlhttp://docs.aws.amazon.com/aws-mobile/latest/developerguide/auth-facebook-setup.htmlhttps://console.aws.amazon.com/mobilehub

  • AWS Mobile Developer GuideAdicin de User Sign-in

    2. Configure el inicio de sesin de Google: elija la caracterstica y, a continuacin, escriba el IDde cliente de Google Web App y el ID de cliente de Google Android o de iOS (o ambos) y, acontinuacin, elija Enable Google Sign-In (Habilitar el inicio de sesin de Google). Para recuperar ocrear sus ID de cliente de Google, consulte Configuracin de la autenticacin de Google.

    3. Cuando termine de configurar los proveedores, elija Click here to return to project details page(Haga clic aqu para volver a la pgina de detalles del proyecto) en el banner azul de la partesuperior.

    4. En la pgina de detalles del proyecto, seleccione el botn Integrate (Integrar) que parpadea y, acontinuacin, realice los pasos que le guiarn para conectar con el backend.

    Si su proyecto contiene aplicaciones para ms de una plataforma, las que requieran completaresos pasos tambin mostrarn un botn Integrate (Integrar) que parpadea. El banner recordatorioseguir en su posicin hasta que haya completado los pasos para actualizar la configuracin detodas las aplicaciones del proyecto.

    5. Siga los pasos de Configuracin del inicio de sesin de Google (p. 38) para conectarse albackend desde su aplicacin.

    Configuracin del inicio de sesin mediante correo electrnico ycontrasea en la aplicacin mvilElija su plataforma:

    Android - Java

    Use la API de Android de nivel 23 o superior La biblioteca del SDK para mviles de AWS parael inicio de sesin en Android (aws-android-

    24

    http://docs.aws.amazon.com/aws-mobile/latest/developerguide/auth-google-setup.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    sdk-auth-ui) proporciona la actividad y lavista para la presentacin de una SignInUIpara los proveedores de inicio de sesin queconfigure. Esta biblioteca depende de la API delSDK de Android de nivel 23 o superior.

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada estos permisions al archivo AndroidManifest.xml:

    3. Aada estas dependencias al archivo app/build.gradle:

    dependencies { // Mobile Client for initializing the SDK implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }

    // Cognito UserPools for SignIn implementation 'com.android.support:support-v4:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-userpools:2.6.+@aar') { transitive = true }

    // Sign in UI Library implementation 'com.android.support:appcompat-v7:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar') { transitive = true }}

    4. Cree una actividad que presentar su pantalla de inicio de sesin.

    En Android Studio, seleccione File > New > Activity > Basic Activity (Archivo > Nuevo > Actividad> Actividad bsica) y escriba un nombre para la actividad, como AuthenticatorActivity. Sidesea que esta sea su actividad inicial, mueva el bloque intent-filter que contiene .LAUNCHER a laactividad AuthenticatorActivity del archivo AndroidManifest.xml de la aplicacin.

    5. Actualice la funcin onCreate de su AuthenticatorActivity para llamar aAWSMobileClient. Este componente ofrece una funcionalidad para reanudar una sesin deautenticacin en la que se ha iniciado sesin. Realiza una llamada de red para recuperar lascredenciales de AWS que permiten a los usuarios obtener acceso a los recursos de AWS y registrauna devolucin de llamada cuando esa transaccin se completa.

    Si el usuario ha iniciado sesin, la aplicacin contina en NextActivity; de lo contrario, presentaal usuario la interfaz de usuario de inicio de sesin configurable y lista para utilizar de AWS Mobile.NextActivity Activity es la clase que ve el usuario tras iniciar sesin satisfactoriamente.

    import android.app.Activity;import android.os.Bundle;

    25

  • AWS Mobile Developer GuideAdicin de User Sign-in

    import com.amazonaws.mobile.auth.ui.SignInUI;import com.amazonaws.mobile.client.AWSMobileClient;import com.amazonaws.mobile.client.AWSStartupHandler;import com.amazonaws.mobile.client.AWSStartupResult;

    public class AuthenticatorActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_authenticator);

    // Add a call to initialize AWSMobileClient AWSMobileClient.getInstance().initialize(this, new AWSStartupHandler() { @Override public void onComplete(AWSStartupResult awsStartupResult) { SignInUI signin = (SignInUI) AWSMobileClient.getInstance().getClient(AuthenticatorActivity.this, SignInUI.class); signin.login(AuthenticatorActivity.this, NextActivity.class).execute(); } }).execute(); }}

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Debera ver la interfaz de usuario de inicio de sesin lista para utilizar enla aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfaz deusuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, construye los objetosCredentialsProvider y AWSConfiguration, recupera lascredenciales de AWS y crea una instancia de cliente deSignInUI en el SDK.

    Auth UserPoolsBiblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    Auth CoreBiblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, almacena las credencialesfederadas de AWS y se encarga del flujo de inicio de sesin.

    Android - Kotlin

    Use la API de Android de nivel 23 o superior La biblioteca del SDK para mviles de AWS parael inicio de sesin en Android (aws-android-sdk-auth-ui) proporciona la actividad y lavista para la presentacin de una SignInUIpara los proveedores de inicio de sesin que

    26

    http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/client/AWSMobileClient.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/userpools/CognitoUserPoolsSignInProvider.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/core/IdentityManager.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    configure. Esta biblioteca depende de la API delSDK de Android de nivel 23 o superior.

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada estos permisions al archivo AndroidManifest.xml:

    3. Aada estas dependencias al archivo app/build.gradle:

    dependencies { // Mobile Client for initializing the SDK implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }

    // Cognito UserPools for SignIn implementation 'com.android.support:support-v4:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-userpools:2.6.+@aar') { transitive = true }

    // Sign in UI Library implementation 'com.android.support:appcompat-v7:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar') { transitive = true }}

    4. Cree una actividad que presentar su pantalla de inicio de sesin.

    En Android Studio, seleccione File > New > Activity > Basic Activity (Archivo > Nuevo > Actividad> Actividad bsica) y escriba un nombre para la actividad, como AuthenticatorActivity. Sidesea que esta sea su actividad inicial, mueva el bloque intent-filter que contiene .LAUNCHER a laactividad AuthenticatorActivity del archivo AndroidManifest.xml de la aplicacin.

    5. Actualice la funcin onCreate de su AuthenticatorActivity para llamar aAWSMobileClient. Este componente ofrece una funcionalidad para reanudar una sesin deautenticacin en la que se ha iniciado sesin. Realiza una llamada de red para recuperar lascredenciales de AWS que permiten a los usuarios obtener acceso a los recursos de AWS y registrauna devolucin de llamada cuando esa transaccin se completa.

    Si el usuario ha iniciado sesin, la aplicacin contina en NextActivity; de lo contrario, presentaal usuario la interfaz de usuario de inicio de sesin configurable y lista para utilizar de AWS Mobile.NextActivity Activity es la clase que ve el usuario tras iniciar sesin satisfactoriamente.

    import android.app.Activity;import android.os.Bundle;

    import com.amazonaws.mobile.auth.ui.SignInUI;import com.amazonaws.mobile.client.AWSMobileClient;import com.amazonaws.mobile.client.AWSStartupHandler;

    27

  • AWS Mobile Developer GuideAdicin de User Sign-in

    import com.amazonaws.mobile.client.AWSStartupResult;

    class AuthenticatorActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)

    AWSMobileClient.getInstance().initialize(this) { val ui = AWSMobileClient.getInstance().getClient(this@AuthenticatorActivity, SignInUI::class.java) ui.login(this@AuthenticatorActivity, NextActivity::class.java).execute() }.execute() }}

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Debera ver la interfaz de usuario de inicio de sesin lista para utilizar enla aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfaz deusuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, construye los objetosCredentialsProvider y AWSConfiguration, recupera lascredenciales de AWS y crea una instancia de cliente deSignInUI en el SDK.

    Auth UserPoolsBiblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    Auth CoreBiblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, almacena las credencialesfederadas de AWS y se encarga del flujo de inicio de sesin.

    iOS - Swift

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada las siguientes dependencias al Podfile del proyecto.

    platform :ios, '9.0'target :'YOUR-APP-NAME' do use_frameworks! pod 'AWSUserPoolsSignIn', '~> 2.6.13' pod 'AWSAuthUI', '~> 2.6.13' pod 'AWSMobileClient', '~> 2.6.13' # other podsend

    3. Extraiga las bibliotecas del SDK en su repositorio local.

    28

    http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/client/AWSMobileClient.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/userpools/CognitoUserPoolsSignInProvider.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/core/IdentityManager.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    Si le aparece un mensaje que comienza as: "[!] Failed to connect to GitHub toupdate the CocoaPods/Specs . . ." y tiene una conexin a Internet operativa, puede quetenga que actualizar openssl y Ruby.

    4. Cree una instancia de AWSMobileClient e inicialice el SDK.

    Aada cdigo para crear una instancia de AWSMobileClient en la funcin application:openurl de su AppDelegate.swift para reanudar una sesin autenticada en la que haya iniciadosesin previamente.

    A continuacin, aada otra instancia de AWSMobileClient en la funcin didFinishLaunchingpara registrar los proveedores de inicio de sesin y recuperar unas credenciales de AmazonCognito, que utilizar AWS para autorizar el acceso cuando el usuario inicie sesin.

    import UIKit

    import AWSMobileClient

    @UIApplicationMain

    class AppDelegate: UIResponder, UIApplicationDelegate {

    // Add a AWSMobileClient call in application:open url func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

    return AWSMobileClient.sharedInstance().interceptApplication( application, open: url, sourceApplication: sourceApplication, annotation: annotation)

    }

    // Add a AWSMobileClient call in application:didFinishLaunching func application( _ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    return AWSMobileClient.sharedInstance().interceptApplication( application, didFinishLaunchingWithOptions: launchOptions) }

    // Other functions in AppDelegate . . .

    }

    5. Implemente la interfaz de usuario de inicio de sesin llamando a la biblioteca proporcionada en elSDK.

    import UIKitimport AWSAuthCoreimport AWSAuthUI

    class SampleViewController: UIViewController {

    override func viewDidLoad() {

    super.viewDidLoad()

    if !AWSSignInManager.sharedInstance().isLoggedIn { AWSAuthUIViewController

    29

    https://stackoverflow.com/questions/38993527/cocoapods-failed-to-connect-to-github-to-update-the-cocoapods-specs-specs-repo/48962041#48962041

  • AWS Mobile Developer GuideAdicin de User Sign-in

    .presentViewController(with: self.navigationController!, configuration: nil, completionHandler: { (provider: AWSSignInProvider, error: Error?) in if error != nil { print("Error occurred: \(String(describing: error))") } else { // Sign in successful. } }) } }}

    Seleccione el icono de reproduccin (|jugar|) en la parte superior izquierda de la ventana de Xcode o escriba|Acommand|-R para compilar y ejecutar su aplicacin. Debera ver la interfaz de usuario de inicio de sesinprediseada en la aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfazde usuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, recupera las credenciales deAWS y crea una instancia de cliente de SignInUI en el SDK.

    Auth UserPoolsBiblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    Auth CoreBiblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, almacena las credencialesfederadas de AWS y se encarga del flujo de inicio de sesin.

    Configuracin del inicio de sesin de Facebook en la aplicacinmvilAndroid - Java

    Use la API de Android de nivel 23 o superior La biblioteca del SDK para mviles de AWS parael inicio de sesin en Android (aws-android-sdk-auth-ui) proporciona la actividad y lavista para la presentacin de una SignInUIpara los proveedores de inicio de sesin queconfigure. Esta biblioteca depende de la API delSDK de Android de nivel 23 o superior.

    30

    http://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/AWSMobileClient.htmlhttp://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/AWSUserPoolsUIOperations.htmlhttp://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/AWSIdentityManager.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada la actividad y los permisos siguientes al archivo AndroidManifest.xml:

    3. Aada estas dependencias al archivo app/build.gradle:

    dependencies { // Mobile Client for initializing the SDK implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }

    // Facebook SignIn implementation 'com.android.support:support-v4:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-facebook:2.6.+@aar') { transitive = true }

    // Sign in UI implementation 'com.android.support:appcompat-v7:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar') { transitive = true }}

    4. En strings.xml, aada las definiciones de cadena del ID de aplicacin y del esquema delprotocolo de inicio de sesin de Facebook. El valor debe contener el AppIDde Facebook en amboscasos; el valor del protocolo de inicio de sesin siempre debe ir precedido de fb.

    1231231231232123123fb1231231231232123123

    5. Cree una actividad que presentar su pantalla de inicio de sesin.

    En Android Studio, seleccione File > New > Activity > Basic Activity (Archivo > Nuevo > Actividad> Actividad bsica) y escriba un nombre para la actividad, como AuthenticatorActivity. Sidesea que esta sea su actividad inicial, mueva el bloque intent-filter que contiene .LAUNCHER a laactividad AuthenticatorActivity del archivo AndroidManifest.xml de la aplicacin.

    31

  • AWS Mobile Developer GuideAdicin de User Sign-in

    6. Actualice la funcin onCreate de su AuthenticatorActivity para llamar aAWSMobileClient. Este componente ofrece una funcionalidad para reanudar una sesin deautenticacin en la que se ha iniciado sesin. Realiza una llamada de red para recuperar lascredenciales de AWS que permiten a los usuarios obtener acceso a los recursos de AWS y registrauna devolucin de llamada cuando esa transaccin se completa.

    Si el usuario ha iniciado sesin, la aplicacin contina en NextActivity; de lo contrario, presentaal usuario la interfaz de usuario de inicio de sesin configurable y lista para utilizar de AWS Mobile.NextActivity Activity es la clase que ve el usuario tras iniciar sesin satisfactoriamente.

    import android.app.Activity;import android.os.Bundle;

    import com.amazonaws.mobile.auth.ui.SignInUI;import com.amazonaws.mobile.client.AWSMobileClient;import com.amazonaws.mobile.client.AWSStartupHandler;import com.amazonaws.mobile.client.AWSStartupResult;

    public class AuthenticatorActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_authenticator);

    // Add a call to initialize AWSMobileClient AWSMobileClient.getInstance().initialize(this, new AWSStartupHandler() { @Override public void onComplete(AWSStartupResult awsStartupResult) { SignInUI signin = (SignInUI) AWSMobileClient.getInstance().getClient(AuthenticatorActivity.this, SignInUI.class); signin.login(AuthenticatorActivity.this, NextActivity.class).execute(); } }).execute(); }}

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Debera ver la interfaz de usuario de inicio de sesin lista para utilizar enla aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfaz deusuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, construye los objetosCredentialsProvider y AWSConfiguration, recupera lascredenciales de AWS y crea una instancia de cliente deSignInUI en el SDK.

    Auth UserPools

    32

    http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/client/AWSMobileClient.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/userpools/CognitoUserPoolsSignInProvider.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    Biblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    Auth CoreBiblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, almacena las credencialesfederadas de AWS y se encarga del flujo de inicio de sesin.

    Android - Kotlin

    Use la API de Android de nivel 23 o superior La biblioteca del SDK para mviles de AWS parael inicio de sesin en Android (aws-android-sdk-auth-ui) proporciona la actividad y lavista para la presentacin de una SignInUIpara los proveedores de inicio de sesin queconfigure. Esta biblioteca depende de la API delSDK de Android de nivel 23 o superior.

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada la actividad y los permisos siguientes al archivo AndroidManifest.xml:

    3. Aada estas dependencias al archivo app/build.gradle:

    dependencies { // Mobile Client for initializing the SDK implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }

    33

    http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/core/IdentityManager.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    // Facebook SignIn implementation 'com.android.support:support-v4:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-facebook:2.6.+@aar') { transitive = true }

    // Sign in UI implementation 'com.android.support:appcompat-v7:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar') { transitive = true }}

    4. En strings.xml, aada las definiciones de cadena del ID de aplicacin y del esquema delprotocolo de inicio de sesin de Facebook. El valor debe contener el AppIDde Facebook en amboscasos; el valor del protocolo de inicio de sesin siempre debe ir precedido de fb.

    1231231231232123123fb1231231231232123123

    5. Cree una actividad que presentar su pantalla de inicio de sesin.

    En Android Studio, seleccione File > New > Activity > Basic Activity (Archivo > Nuevo > Actividad> Actividad bsica) y escriba un nombre para la actividad, como AuthenticatorActivity. Sidesea que esta sea su actividad inicial, mueva el bloque intent-filter que contiene .LAUNCHER a laactividad AuthenticatorActivity del archivo AndroidManifest.xml de la aplicacin.

    6. Actualice la funcin onCreate de su AuthenticatorActivity para llamar aAWSMobileClient. Este componente ofrece una funcionalidad para reanudar una sesin deautenticacin en la que se ha iniciado sesin. Realiza una llamada de red para recuperar lascredenciales de AWS que permiten a los usuarios obtener acceso a los recursos de AWS y registrauna devolucin de llamada cuando esa transaccin se completa.

    Si el usuario ha iniciado sesin, la aplicacin contina en NextActivity; de lo contrario, presentaal usuario la interfaz de usuario de inicio de sesin configurable y lista para utilizar de AWS Mobile.NextActivity Activity es la clase que ve el usuario tras iniciar sesin satisfactoriamente.

    import android.app.Activity;import android.os.Bundle;

    import com.amazonaws.mobile.auth.ui.SignInUI;import com.amazonaws.mobile.client.AWSMobileClient;import com.amazonaws.mobile.client.AWSStartupHandler;import com.amazonaws.mobile.client.AWSStartupResult;

    class AuthenticatorActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)

    AWSMobileClient.getInstance().initialize(this) { val ui = AWSMobileClient.getInstance().getClient(this@AuthenticatorActivity, SignInUI::class.java) ui.login(this@AuthenticatorActivity, NextActivity::class.java).execute() }.execute() }

    34

  • AWS Mobile Developer GuideAdicin de User Sign-in

    }

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Debera ver la interfaz de usuario de inicio de sesin lista para utilizar enla aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfaz deusuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, construye los objetosCredentialsProvider y AWSConfiguration, recupera lascredenciales de AWS y crea una instancia de cliente deSignInUI en el SDK.

    Auth UserPoolsBiblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    Auth CoreBiblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, almacena las credencialesfederadas de AWS y se encarga del flujo de inicio de sesin.

    iOS - Swift

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada las siguientes dependencias al Podfile del proyecto.

    platform :ios, '9.0' target :'YOUR-APP-NAME' do use_frameworks! pod 'AWSMobileClient', '~> 2.6.13' pod 'AWSFacebookSignIn', '~> 2.6.13' pod 'AWSAuthUI', '~> 2.6.13' # other pods end

    Ejecute pod install --repo-update.

    Si le aparece un mensaje que comienza as: "[!] Failed to connect to GitHub toupdate the CocoaPods/Specs . . ." y tiene una conexin a Internet operativa, puede quetenga que actualizar openssl y Ruby.

    3. Aada los metadatos de Facebook a Info.plist.

    Para configurar el proyecto Xcode para que utilice el inicio de sesin de Facebook, haga clic conel botn derecho en Info.plist y, a continuacin, elija Open As > Source Code (Abrir como >Cdigo fuente).

    35

    http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/client/AWSMobileClient.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/userpools/CognitoUserPoolsSignInProvider.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/core/IdentityManager.htmlhttps://stackoverflow.com/questions/38993527/cocoapods-failed-to-connect-to-github-to-update-the-cocoapods-specs-specs-repo/48962041#48962041

  • AWS Mobile Developer GuideAdicin de User Sign-in

    Aada lo siguiente, utilizando su nombre de proyecto, su ID de Facebook y su ID de esquema deinicio de sesin.

    FacebookAppID0123456789012345FacebookDisplayNameYOUR-PROJECT-NAMELSApplicationQueriesSchemes

    fbapi fb-messenger-api fbauth2 fbshareextension

    CFBundleURLTypes

    CFBundleURLSchemes fb0123456789012345

    4. Cree una instancia de AWSMobileClient e inicialice el SDK.

    Aada cdigo para crear una instancia de AWSMobileClient en la funcin application:openurl de su AppDelegate.swift para reanudar una sesin autenticada en la que haya iniciadosesin previamente.

    A continuacin, aada otra instancia de AWSMobileClient en la funcin didFinishLaunchingpara registrar los proveedores de inicio de sesin y recuperar unas credenciales de AmazonCognito, que utilizar AWS para autorizar el acceso cuando el usuario inicie sesin.

    import UIKit

    //import AWSMobileClientimport AWSMobileClient

    @UIApplicationMain

    class AppDelegate: UIResponder, UIApplicationDelegate {

    // Add a AWSMobileClient call in application:open url func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

    return AWSMobileClient.sharedInstance().interceptApplication( application, open: url, sourceApplication: sourceApplication, annotation: annotation)

    }

    // Add a AWSMobileClient call in application:didFinishLaunching func application( _ application: UIApplication,

    36

  • AWS Mobile Developer GuideAdicin de User Sign-in

    didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    return AWSMobileClient.sharedInstance().interceptApplication( application, didFinishLaunchingWithOptions: launchOptions) }

    // Other functions in AppDelegate . . .

    }

    5. Implemente la interfaz de usuario de inicio de sesin llamando a la biblioteca proporcionada por elSDK.

    import UIKitimport AWSAuthCoreimport AWSAuthUI

    class SampleViewController: UIViewController {

    override func viewDidLoad() {

    super.viewDidLoad()

    if !AWSSignInManager.sharedInstance().isLoggedIn { AWSAuthUIViewController .presentViewController(with: self.navigationController!, configuration: nil, completionHandler: { (provider: AWSSignInProvider, error: Error?) in if error != nil { print("Error occurred: \(String(describing: error))") } else { // sign in successful. } }) } }}

    Seleccione el icono de reproduccin (|jugar|) en la parte superior izquierda de la ventana de Xcode o escriba|Acommand|-R para compilar y ejecutar su aplicacin. Debera ver la interfaz de usuario de inicio de sesinprediseada en la aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfazde usuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, recupera las credenciales deAWS y crea una instancia de cliente de SignInUI en el SDK.

    Auth UserPoolsBiblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    Auth Core

    37

    http://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/AWSMobileClient.htmlhttp://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/AWSUserPoolsUIOperations.htmlhttp://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/AWSIdentityManager.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    Biblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, almacena las credencialesfederadas de AWS y se encarga del flujo de inicio de sesin.

    Configuracin del inicio de sesin de Google en la aplicacinmvilAndroid - Java

    Use la API de Android de nivel 23 o superior La biblioteca del SDK para mviles de AWS parael inicio de sesin en Android (aws-android-sdk-auth-ui) proporciona la actividad y lavista para la presentacin de una SignInUIpara los proveedores de inicio de sesin queconfigure. Esta biblioteca depende de la API delSDK de Android de nivel 23 o superior.

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada estos permisos al archivo AndroidManifest.xml:

    3. Aada estas dependencias al archivo app/build.gradle:

    dependencies { // Mobile Client for initializing the SDK implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }

    // Google SignIn implementation 'com.android.support:support-v4:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-google:2.6.+@aar') { transitive = true }

    // Sign in UI Library implementation 'com.android.support:appcompat-v7:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar') { transitive = true }}

    4. Cree una actividad que presentar su pantalla de inicio de sesin.

    En Android Studio, seleccione File > New > Activity > Basic Activity (Archivo > Nuevo > Actividad> Actividad bsica) y escriba un nombre para la actividad, como AuthenticatorActivity. Sidesea que esta sea su actividad inicial, mueva el bloque intent-filter que contiene .LAUNCHER a laactividad AuthenticatorActivity del archivo AndroidManifest.xml de la aplicacin.

    38

  • AWS Mobile Developer GuideAdicin de User Sign-in

    5. Actualice la funcin onCreate de su AuthenticatorActivity para llamar aAWSMobileClient. Este componente ofrece una funcionalidad para reanudar una sesin deautenticacin en la que se ha iniciado sesin. Realiza una llamada de red para recuperar lascredenciales de AWS que permiten a los usuarios obtener acceso a los recursos de AWS y registrauna devolucin de llamada cuando esa transaccin se completa.

    Si el usuario ha iniciado sesin, la aplicacin contina en NextActivity; de lo contrario, presentaal usuario la interfaz de usuario de inicio de sesin configurable y lista para utilizar de AWS Mobile.NextActivity Activity es la clase que ve el usuario tras iniciar sesin satisfactoriamente.

    import android.app.Activity;import android.os.Bundle;

    import com.amazonaws.mobile.auth.ui.SignInUI;import com.amazonaws.mobile.client.AWSMobileClient;import com.amazonaws.mobile.client.AWSStartupHandler;import com.amazonaws.mobile.client.AWSStartupResult;

    public class AuthenticatorActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_authenticator);

    // Add a call to initialize AWSMobileClient AWSMobileClient.getInstance().initialize(this, new AWSStartupHandler() { @Override public void onComplete(AWSStartupResult awsStartupResult) { SignInUI signin = (SignInUI) AWSMobileClient.getInstance().getClient(AuthenticatorActivity.this, SignInUI.class); signin.login(AuthenticatorActivity.this, MainActivity.class).execute(); } }).execute(); }}

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Debera ver la interfaz de usuario de inicio de sesin lista para utilizar enla aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfaz deusuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, construye los objetosCredentialsProvider y AWSConfiguration, recupera lascredenciales de AWS y crea una instancia de cliente deSignInUI en el SDK.

    Auth UserPoolsBiblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    39

    http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/client/AWSMobileClient.htmlhttp://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/userpools/CognitoUserPoolsSignInProvider.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    Auth CoreBiblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, almacena las credencialesfederadas de AWS y se encarga del flujo de inicio de sesin.

    Android - Kotlin

    Use la API de Android de nivel 23 o superior La biblioteca del SDK para mviles de AWS parael inicio de sesin en Android (aws-android-sdk-auth-ui) proporciona la actividad y lavista para la presentacin de una SignInUIpara los proveedores de inicio de sesin queconfigure. Esta biblioteca depende de la API delSDK de Android de nivel 23 o superior.

    1. Aada o actualice el archivo de configuracin del backend de AWS para incorporar su nuevo iniciode sesin. Para obtener ms informacin, consulte los ltimos pasos en la seccin Primeros pasos:configurar el backend (p. 2).

    2. Aada estos permisos al archivo AndroidManifest.xml:

    3. Aada estas dependencias al archivo app/build.gradle:

    dependencies { // Mobile Client for initializing the SDK implementation ('com.amazonaws:aws-android-sdk-mobile-client:2.6.+@aar') { transitive = true }

    // Google SignIn implementation 'com.android.support:support-v4:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-google:2.6.+@aar') { transitive = true }

    // Sign in UI Library implementation 'com.android.support:appcompat-v7:24.+' implementation ('com.amazonaws:aws-android-sdk-auth-ui:2.6.+@aar') { transitive = true }}

    4. Cree una actividad que presentar su pantalla de inicio de sesin.

    En Android Studio, seleccione File > New > Activity > Basic Activity (Archivo > Nuevo > Actividad> Actividad bsica) y escriba un nombre para la actividad, como AuthenticatorActivity. Sidesea que esta sea su actividad inicial, mueva el bloque intent-filter que contiene .LAUNCHER a laactividad AuthenticatorActivity del archivo AndroidManifest.xml de la aplicacin.

    40

    http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/mobile/auth/core/IdentityManager.html

  • AWS Mobile Developer GuideAdicin de User Sign-in

    5. Actualice la funcin onCreate de su AuthenticatorActivity para llamar aAWSMobileClient. Este componente ofrece una funcionalidad para reanudar una sesin deautenticacin en la que se ha iniciado sesin. Realiza una llamada de red para recuperar lascredenciales de AWS que permiten a los usuarios obtener acceso a los recursos de AWS y registrauna devolucin de llamada cuando esa transaccin se completa.

    Si el usuario ha iniciado sesin, la aplicacin contina en NextActivity; de lo contrario, presentaal usuario la interfaz de usuario de inicio de sesin configurable y lista para utilizar de AWS Mobile.NextActivity Activity es la clase que ve el usuario tras iniciar sesin satisfactoriamente.

    import android.app.Activity;import android.os.Bundle;

    import com.amazonaws.mobile.auth.ui.SignInUI;import com.amazonaws.mobile.client.AWSMobileClient;import com.amazonaws.mobile.client.AWSStartupHandler;import com.amazonaws.mobile.client.AWSStartupResult;

    class AuthenticatorActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)

    AWSMobileClient.getInstance().initialize(this) { val ui = AWSMobileClient.getInstance().getClient(this@AuthenticatorActivity, SignInUI::class.java) ui.login(this@AuthenticatorActivity, NextActivity::class.java).execute() }.execute() }}

    Seleccione el icono de reproduccin (|jugar|) en Android Studio para compilar la aplicacin y ejecutarla en el dispositivo o emuladorcorrespondiente. Debera ver la interfaz de usuario de inicio de sesin lista para utilizar enla aplicacin. Examine los pasos siguientes para saber cmo personalizar la interfaz deusuario (p. 185).

    Referencias de API AWSMobileClientBiblioteca que inicializa el SDK, construye los objetosCredentialsProvider y AWSConfiguration, recupera lascredenciales de AWS y crea una instancia de cliente deSignInUI en el SDK.

    Auth UserPoolsBiblioteca de encapsulamiento para los UserPools de AmazonCognito que facilita una interfaz administrada de inicio desesin con correo electrnico y contrasea.

    Auth CoreBiblioteca que almacena y federa un token de autenticacinde un proveedor de inicio de sesin mediante identidadesfederadas de Amazon Cognito, a