Cómo integrar el acceso de TrueCaller en la aplicación Android

Truecaller SDK ofrece acceso a un toque sin la necesidad de ingresar el número de teléfono manual o la verificación OTP. Esto simplifica el proceso de incorporación, lo que permite a los usuarios acceder o registrarse de manera rápida y eficiente. El SDK poca automáticamente los detalles del usuario (como el nombre, el número de teléfono y el correo electrónico) de la base de datos TrueCaller, ahorrando a los usuarios el transporte de completar módulos largos y reducir las tasas de abandono durante el registro. También reduce los costos involucrados en el envío de SMS OTP.

En este artículo, veremos cómo TrueCaller SDK puede integrarse en el flujo de acceso de la aplicación Android.

1. ID Cliente Truecaller

Para comenzar, primero debe registrarse para la página de desarrolladores de TrueCaller y obtener la ID de cliente.

  1. Visita https://sdk-console-noneu.tuecaller.com/sign-p Y crear una nueva cuenta.
  2. Una vez que se crea la cuenta, haga clic Nuevo proyecto y llene los detalles.
  3. Después de crear el proyecto, expanda el Cartas credenciales sección y proporcionar detalles de la aplicación como Plataforma, nombre del paquete Y SHA1 Huella digital. Si su aplicación está en PlayStore, debe dar una impresión digital SHA1 de Play Console. Después de presentar los detalles requeridos, se generará la ID del cliente

  4. Expandir el Consentir Sección llenar los detalles
  5. Agregar Prueba los números móviles Para probar el flujo mientras el proyecto durante la prueba.
  6. Una vez que todo está lleno, puede enviar la aplicación de aprobación si cree que la aplicación está lista para publicarse en Play Store

2. Flujo de acceso de Android Truecaller

Una vez que se genera la identificación de Cliend, pasemos a la parte de la integración de Android.

  1. Abra la aplicación Build.gradle Archifique y agregue la dependencia de TrueCaller y sincronice el proyecto. Adicciones {… Implementación “com.truecaller.android.sdk: TrueCaller-SDK: 3.1.0”}
  2. Agregue su cliente de ID de TrueCaller a Cadenas.xml

    Truecaller-login mtavoladzibn-aburiz4up06-dix5kjg9jlfye2p0 trueCaller Access no es compatible con este dispositivo. ¡No se puede usar el inicio de sesión de TrueCaller!

  3. Abra AndroidManifest.xml y agregue Usi-sdkagregar INTERNET Autorización y agregar TrueCaller Meta-data.
  4. Crear una nueva actividad llamada Acceso y agregue el siguiente diseño. Aquí estamos creando una pantalla de acceso simple con un botón que desencadena el acceso de TrueCaller.
  5. Abierto Acceso Y hacer los cambios de Follwing. Aquí
    • Initruecaller () El método inicializa el SDK de TrueCaller proporcionando los parámetros necesarios.
    • Canuseruecaller () El método controla si TrueCaller se puede usar en este dispositivo o no. Si esto devuelve falso, debe caer en otras opciones de acceso.
    • Si el dispositivo admite el acceso a TrueCaller, llamando GetouthorizationCode () Comienza el flujo de acceso
    • Implementa acitivy de Tcoauthcallback que proporciona Onsucesss (), Onfailre () Métodos para conocer el estado de acceso.
    • Una vez que el acceso sea exitoso, recibirá el Auto -ZationCode & State En Onsuccesss ().

    Paquete info.androidhive.tuecaller_login import android.content.intents Import android.os.bundle importar android.util.log import android.widget.toast import androidx.activity.enableedgetedgegeDEDEMDEM androidx.appcompat.app. androidx.core.content.contextCompat import com.truecaller.android.sdk.oauthror. com.tuecaller.android.sdk.oauth.tcsdk import com.tuecaller.android.sdk.oauth.tcsdkopctions Import info.androidhive.truecaller_login.dataBinding.actityologinbinding import.math.bigintegmer javanandure.sicness. : AppCompAtactTivity (), tCOAuthCallback {private val Tag = “LoginActivity” Val Bink Private Bind of LazyThreedSafetyModo.none) {Activityologinbinding.inflate (LayoutInflater)} Var Staterequest privado: ¿Cadena? = Nulo private var codeVerifier: string? = NULL ENVRIVE FUN OnCreate (SaveDInStancestate: Bundle?) {Super.Create (SavedInsChancestate) SkilitetaEdgetOgedEded () setContentView (binding.root) binding.btnd.setonClickListent {loginwithruecaller ()} / ** * * TrigeCaller Fun * * LoginWithruecaller () {// Manteniéndolo en Try/ Catch mientras bloquea algunos dispositivos de prueba {// init TRUE SDK INITRATRUECALLER () VAL CANUSETUECALLER = CanusetueCaller () if (Canuseruecaller) {// Esto mostrará el verdadero fondo de la láminas de llamadas. StatterEquest = BigInteger (130, 130, 130, 130 SecureMerom ()). Tostring (32) ¿Estatequestado? .Let {tcsdk.getInstance (). StoAauthState (it)} // requiriendo perfil, los ámbitos del teléfono tcsdk.getInstance (). StoAauthScopes (ArrayOf (“perfil”, “teléfono”) CodViifier = CodeVitil.Generatance (). SetOouthScopes (ArrayOf (“Perfil”, “Telephone”) CodeVeifier = CodeVeifel.Generatance () Codesifier? Codeverifieril.getCodeChallenge (Verificador) CodeChallenge? Tcsdk.getInstance (). {E.Message} “, toast.length_long) .show ()} Fun sobrecarga oncetivityResult (requestCode: int, resultCode: int, data: intent?) {Super.onacutitàresult (requestCode, resultados, datos) if (requestCode == tcsdk.share_profile_code))) Tcsdk.getInstance (). TrueCaller SDK al completar las variables personalizadas * Más información sobre personalizado está aquí * https://docs.truecaller.com/truecaller-sdk/android/oauth-13.1.0/interationps/customization * */private funter () {val tcsdkopctions = Tcsdkopctions.builand (esto, esto) .buttoncolor (competircetcomat (thygetCool (esto. R.color.color_primary))) .ButTontextColor (contextompat.getColor (this, r.color.white))) .OgIntextPrefix (tcsdkopcions.gogin_text_prefix_to_get_started) .ctatext (tcsdkopcions.cta_text_continue) .ButtonShapeOptions (tcsdkopctions.button_shape_rounded). Tcsdk.init (tcsdkopctions)} /** * En el momento del acceso correctamente, envíe token, estado y amp a su retroceso y valida los datos * Más información está aquí * https://docs.truecaller.com/truecaller-sdk/android/oauth-13.1.0/interation-pesps/intestrring-with-wath-waccend/fetching-user-tken */everride diversh onsuces Function Tcoauthdata.state val token = tcoauthdata.authorizationCode val scopes = tcoauthdata.scopesgranced toast.maketext (this “, trueCaller login ha sucedido! ()} Anular la diversión de Funny Onfailre (TCOAUTHEROR: TCOAUTHEROR) {log.e (etiqueta “, errores de inicio de sesión de TrueCaller. Code: $ {tcoaouheror.erroccode}, message: $ {tcoautheror.errormassage} “) toast.maketext (this”, truecaller access error. Code: $ {tcoaouherror.erroccode}, message: $ {tcoautherror.errramessage} “,” Toast.length_long) .show ()} Fun Eroride OverificationRetersRard (TCOAUTHEROR: TCOAUTHEROR?) {Log {Tcoautherror? el flujo.

3. Relación de los detalles del usuario en el backndend

Una vez que fluye el acceso del usuario, las acciones de TrueCaller estado, Autorización de código En el método OnSucesss (). Debe enviar estos detalles junto con cola a su retroceso para verificar / recuperar los detalles del usuario del servidor TrueCaller. Hay más información sobre este tema disponible Aquí

Referencias

  • Generación del cliente de ayuda Truecaller – conexión
  • Más información sobre la personalización del cuadro de diálogo TrueCaller – conexión
  • Vector imagen Usado en este ejemplo

Avíseme si tiene preguntas en la sección de comentarios a continuación.

¡Saludos!
Código feliz 🤗

Compruebe también

Celebrando un año más de #WeArePlay

Publicado por Robbie McLachlan – Marketing para desarrolladores Este año #WeArePlay nos llevó en un …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *