Kits SDK para Android / Inicio de sesión mediante redes sociales
  Volver a Documentos

Kits SDK para Android

Inicio de sesión mediante redes sociales

En su aplicación, puede implementar la autenticación de usuarios utilizando su cuenta en redes sociales. Si el primer inicio de sesión del usuario es a través de una red social, se crea automáticamente una nueva cuenta. El usuario no necesita introducir un nombre de usuario, dirección de correo electrónico u otros datos.

Existen dos formas de implementar la autenticación a través de redes sociales:

  • Autenticación basada en web. En este caso, la aplicación abre un formulario en el navegador para completar la autenticación a través de la red social seleccionada. Esta opción es adecuada para aplicaciones móviles y de escritorio.
  • Autenticación nativa. En este caso, la autenticación se realiza a través de la aplicación de la red social en el dispositivo del usuario. Esta opción solo es adecuada para aplicaciones móviles.

El inicio de sesión mediante redes sociales puede ser el método de autenticación principal o el alternativo para su aplicación.

Si usa el inicio de sesión mediante redes sociales como método de autenticación alternativo, la cuenta de la red social se vinculará automáticamente a una cuenta de usuario existente si se cumplen las siguientes condiciones:

  • Un usuario que se registró con un nombre de usuario/dirección de correo electrónico y contraseña inició sesión en su aplicación mediante una cuenta de red social.
  • Una red social devuelve una dirección de correo electrónico.
  • La dirección de correo electrónico del usuario en una red social es la misma que la dirección de correo electrónico utilizada para registrarse en su aplicación.

También puede implementar la vinculación manual de una cuenta de red social.

Instrucciones

Conozca más sobre las configuraciones avanzadas en nuestros procedimientos.

Cómo establecer la autenticación basada en web a través de redes sociales

SDK admite los siguientes proveedores para el inicio de sesión mediante redes sociales:

  • Amazon
  • Apple
  • Baidu
  • Battle.net
  • Discord
  • Facebook
  • GitHub
  • Google
  • Kakao
  • LinkedIn
  • MSN
  • Mail.ru
  • Microsoft
  • Naver
  • Odnoklassniki
  • PayPal
  • QQ
  • Reddit
  • Steam
  • Twitch.tv
  • Twitter
  • VK
  • Vimeo
  • WeChat
  • Weibo
  • Xbox Live
  • Yahoo
  • Yandex
  • YouTube

Para establecer la autenticación a través de servicios web:

  1. En la interfaz de la aplicación, añada botones para la autenticación a través de redes sociales.
  2. Establezca conexiones de redes sociales para un proyecto de Login en Cuenta del editor.
  3. Implemente la lógica de autenticación en el lado de la aplicación.

Establecer las conexiones de redes sociales para el proyecto de Login en Cuenta del editor de Xsolla

Aviso
En Cuenta del editor, asegúrese de que las opciones Passwordless login y Social login estén seleccionadas para el proyecto de Login que utilice en su aplicación. Puede cambiar el método de inicio de sesión más adelante haciendo clic en el enlace Change Login method. Los ajustes guardados previamente no se perderán.
  1. Abra su proyecto en Cuenta del editor.
  2. En el menú lateral, haga clic en Login.
  3. Haga clic en Configure en el panel de un proyecto de Login.
  4. Vaya al bloque Authentication y seleccione la sección Social login.

  1. Conecte redes sociales que los usuarios puedan utilizar para registrarse e iniciar sesión en la aplicación:

    • Para conectar la red social deseada, haga clic en el icono ⚙ y seleccione Connect.
    • Para conectar varias redes sociales a la vez, seleccione los paneles necesarios (sus bordes se volverán verdes). A continuación, en el menú desplegable Manage, seleccione Connect.
    • Para conectar todas las redes sociales disponibles a la vez, haga clic en Select all. A continuación, en el menú desplegable Manage, seleccione Connect.
Nota
El ID de aplicación y la clave secreta de Xsolla se utilizan por defecto para la autenticación. Si su aplicación se configura usando una cuenta de desarrollador del proveedor de red social, puede especificar sus propios ID de aplicación y clave secreta. Las instrucciones detalladas para localizar el ID de aplicación y el secreto están disponibles en la configuración de la tarjeta de red social en Cuenta del editor.

Integración en el lado de la aplicación

Implemente la siguiente lógica al pulsar el botón de inicio de sesión mediante red social:
  1. Llame al método startSocialAuth de la biblioteca de Login.
  2. Dentro del método onActivityResult, llame al método finishSocialAuth de la biblioteca de Login.
Documentación de referencia del SDK
Obtenga más información sobre los métodos del SDK y sus parámetros.
¿Te ha resultado útil este artículo?
¡Gracias!
¿Hay algo en lo que podamos mejorar? Mensaje
Lo sentimos
Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
¡Gracias por tu mensaje!
Nos ayudará a mejorar tu experiencia.
Ocultar

Cómo establecer la autenticación nativa a través de redes sociales

Aviso
Utilice este procedimiento cuando trabaje con la biblioteca de Login.

La autenticación nativa permite a los usuarios iniciar sesión en su aplicación a través de una cuenta de red social configurada en un dispositivo móvil.

La primera vez que un usuario se conecta, la aplicación de la red social se inicia y pide permiso para autenticar al usuario. Después, la autenticación se ejecuta automáticamente sin que el usuario tenga que hacer nada.

Actualmente, el SDK ha implementado la autenticación nativa por medio de las siguientes redes sociales:

  • Google
  • Facebook
  • WeChat
  • QQ

Para configurar la autenticación nativa:

  1. En la interfaz de la aplicación, agregue botones para la autenticación a través de redes sociales.
  2. Configure la aplicación en la cuenta de desarrollador para la red social.
    1. Para la autenticación a través de Facebook:
      1. Regístrese y cree una nueva aplicación.
      2. Establezca la página de la aplicación en su cuenta de desarrollador de Facebook.
    2. Para la autenticación a través de Google, configure el proyecto en Google API Console.
    3. Para la autenticación a través de WeChat:
      1. Regístrese y cree una nueva aplicación.
      2. Envíe la aplicación para su revisión.
    4. Para la autenticación a través de QQ:
      1. Regístrese y cree una nueva aplicación.
      2. Envíe la solicitud para su revisión.

  1. Establezca la autenticación a través de redes sociales en el lado de Xsolla:
    1. Para Facebook y Google, Establezca conexiones para redes sociales en Cuenta del editor.
    2. Para WeChat y QQ, contacte con su gestor del éxito del cliente o envíe un correo electrónico a csm@xsolla.com.

  1. Instale las bibliotecas para autenticarse a través de red social. Para ello, abra el archivo build.gradle de su aplicación y en la sección de dependencias añada las siguientes líneas, en la que <version_number> es la versión requerida de la biblioteca:
    • Para la autenticación a través de Facebook:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-facebook:<version_number>'
    • Para la autenticación a través de Google:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-google:<version_number>'
    • Para la autenticación a través de WeChat:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-wechat:<version_number>'
    • Para la autenticación a través de QQ:
Copy
Full screen
Small screen
implementation 'com.xsolla.android:login-qq:<version_number>'

  1. Inicializa la biblioteca de Login con los siguientes parámetros:
    • facebook_id: ID de aplicación de la cuenta de desarrollador de Facebook
    • google_id: ID de cliente para la aplicación web desde Google API Console
    • wechat_id: ID de aplicación de la cuenta de desarrollador de WeChat
    • qq_id: ID de aplicación de la cuenta de desarrollador de QQ

Un ejemplo de inicialización de la biblioteca cuando se autentica mediante OAuth 2.0:

Copy
Full screen
Small screen
val loginConfig = LoginConfig.OauthBuilder()
                .setProjectId("login-project-id")
                .setOauthClientId("oauth2-client-id")
                .setSocialConfig(XLogin.SocialConfig(
                     facebookAppId = "facebook_id",
                     googleServerId = "google_id",
                     wechatAppId = "wechat_id",
                     qqAppId = "qq_id"
                ))

                .build()

XLogin.init(applicationContext, loginConfig)
  1. Para la autenticación a través de WeChat, modifique el código de la aplicación:
    • Añada la clase WXEntryActivity al paquete <your_package_name>.wxapi, en el cual <your_package_name> es el nombre del paquete de la aplicación:
Copy
Full screen
Small screen
package <your_package_name>.wxapi

import android.app.Activity
import android.os.Bundle
import com.tencent.mm.opensdk.modelbase.BaseReq
import com.tencent.mm.opensdk.modelbase.BaseResp
import com.tencent.mm.opensdk.openapi.IWXAPI
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
import com.tencent.mm.opensdk.openapi.WXAPIFactory
import com.xsolla.android.login.util.WechatUtils

class WXEntryActivity : Activity(), IWXAPIEventHandler {

    private lateinit var iwxapi: IWXAPI

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

        iwxapi = WXAPIFactory.createWXAPI(this, WechatUtils.wechatAppId, false)
        iwxapi.handleIntent(intent, this)
        finish()
    }

    override fun onReq(req: BaseReq?) {
    }

    override fun onResp(resp: BaseResp) {
        WechatUtils.wechatResult = resp
    }
}
    • Añada el siguiente elemento a su archivo AndroidManifest.xml:
Copy
Full screen
Small screen
<activity
        android:name="<your_package_name>.wxapi.WXEntryActivity"
        android:exported="true"
        android:launchMode="singleTask" />

Establezca la página de la aplicación en su cuenta de desarrollador de Facebook

  1. Vaya a la configuración del proyecto en la cuenta de desarrollador de Facebook.
  2. Vaya a Settings > Basic.
  3. Haga clic en Add Platform y seleccione Android.
  4. Especifique el nombre del paquete de su aplicación Android en el campo Google Play Package Name.
  5. Especifique un nombre de clase completamente cualificado de la Actividad en el campo Class Name (el valor por defecto es com.epicgames.ue4.GameActivity).
  6. Genere una clave hash y especifíquela en el campo Key Hashes.
  7. Haga clic en Save Changes.

Para realizar una configuración más avanzada de la autenticación nativa, necesitará la App ID y el App Secret que se encuentran en la configuración del proyecto en la sección Settings > Basic.

Configurar un proyecto en Google API Console

  1. Vaya a Google API Console.
  2. Haga clic en New Project.
  3. Especifique Project name y Location y haga clic en Save.
  4. Vaya al proyecto creado y haga clic en OAuth consent screen en el menú lateral.
  5. Seleccione la opción External y haga clic en Crear.
  6. Especifique los parámetros necesarios y haga clic en Save.
  7. Haga clic en Credentials en el menú lateral.
  8. Cree un cliente de OAuth 2.0 para su aplicación Android:

    1. Haga clic en Crear credenciales y seleccione ID de cliente OAuth.
    2. Especifique Android en el campo Tipo de aplicación.
    3. Especifique Nombre.
    4. Especifique el nombre del paquete de su aplicación Android en el campo Nombre del paquete.
    5. Obtenga la clave SHA.
    6. Especifique la clave SHA generada en el paso anterior clave SHA en el campo huella digital del certificado SHA-1.
    7. Haga clic en Crear.
    8. Haga clic en Aceptar.

  1. Cree un cliente de OAuth 2.0 para la aplicación web:
    1. Haga clic en Create credentials y seleccione OAuth client ID.
    2. Especifique Web application en el campo Application type.
    3. Especifique Name.
    4. Haga clic en Add URL en la sección Authorized redirect URIs y especifique la URL https://login.xsolla.com/api/social/oauth2/callback.
    5. Haga clic en Create.
    6. Haga clic en OK.

Para seguir configurando la autenticación nativa, necesitará el Client ID y Client Secret que se encuentran en la configuración del ID de cliente para la aplicación web.

Establecer las conexiones de redes sociales para el proyecto de Login en Cuenta del editor de Xsolla

Aviso
En Cuenta del editor, asegúrese de que las opciones Passwordless login y Social login estén seleccionadas para el proyecto de Login que utilice en su aplicación. Puede cambiar el método de inicio de sesión más adelante haciendo clic en el enlace Change Login method. Los ajustes guardados previamente no se perderán.
  1. Abra su proyecto en Cuenta del editor.
  2. En el menú lateral, haga clic en Login.
  3. Haga clic en Configure en el panel de un proyecto de Login.
  4. Vaya al bloque Authentication y seleccione la sección Social login.
  1. Para establecer una red social, vaya a la tarjeta de la red social, haga clic en el icono ⚙ situado a la derecha del título y seleccione Connect.
Nota
Para utilizar la autorización de red social, en la configuración de la tarjeta de red social, especifique el ID de aplicación y el secreto de la aplicación en su proyecto. El ID de aplicación y el secreto están disponibles en la cuenta de desarrollador del proveedor de red social. Las instrucciones detalladas para localizar el ID de aplicación y el secreto están disponibles en la configuración de la tarjeta de red social en Cuenta del editor.

Integración en el lado de la aplicación

Implemente la siguiente lógica al pulsar el botón de inicio de sesión mediante red social:
  1. Llame al método startSocialAuth de la biblioteca de Login.
  2. Dentro del método onActivityResult, llame al método finishSocialAuth de la biblioteca de Login.
Documentación de referencia del SDK
Obtenga más información sobre los métodos del SDK y sus parámetros.
¿Te ha resultado útil este artículo?
¡Gracias!
¿Hay algo en lo que podamos mejorar? Mensaje
Lo sentimos
Por favor, cuéntanos por qué no te ha resultado útil este artículo. Mensaje
¡Gracias por tu mensaje!
Nos ayudará a mejorar tu experiencia.
Ocultar

Enlaces útiles

Última actualización: 31 de Julio de 2024

¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.

Informar de un problema
Nos esforzamos por ofrecer contenido de calidad. Tus comentarios nos ayudan a mejorar.
Déjanos tu correo electrónico para que te podamos responder
¡Gracias por tu mensaje!