La siguiente es una demostración de cómo generar un token utilizando el SDK de WeChat directamente en Android. Esta puede ser una tarea sorprendentemente difícil ya que hay muy poca documentación y ejemplos de código en línea. Gran parte de la documentación sobre WeChat está en chino, lo que dificulta la depuración si surge algún problema. WeChat tampoco responde nunca si tienes una mala configuración, dejando muy poco a Google.
Esta es una demostración simplificada solo para iniciar sesión. La siguiente es una demostración más completa de la mayoría (todas) las funciones de weChat que realmente me ayudaron a iniciar sesión: https://github.com/cihm/WeChatDemo
Enlace a un artículo que escribí sobre la experiencia: http://aaronbruckner.com/article_weChat.html
Para utilizar WeChat debes ser un desarrollador registrado. Vaya a https://open.weixin.qq.com. No documentaré esto porque no pasé personalmente por el proceso. Tendrás que crear una aplicación móvil que requiere que completes algunos detalles sobre la aplicación que estás creando y que interactuará con WeChat. Al leer en línea, parece que te pueden bloquear aquí si no tienes un número de teléfono chino al que enviar un código de verificación.
Una vez enviado y aceptado, tendrá una aplicación móvil WeChat registrada con un ID de aplicación WeChat. La identificación de la aplicación es importante ya que es la forma en que WeChat identifica la aplicación que solicita autorización.
No pude encontrar una importación de Gradle para el SDK de WeChat. Su sitio oficial brinda instrucciones sobre cómo importar su SDK a la carpeta libs de su aplicación. http://dev.wechat.com/wechatapi/installguide
Debe proporcionar a WeChat un nombre de paquete válido y una firma para la aplicación de desarrollo que utilizará para invocar WeChat a través del SDK. Esto se puede configurar en el portal de desarrollo en https://open.weixin.qq.com. Para el nombre del paquete, utilice el nombre del paquete de su manifiesto.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company.your.package.name">
...
</manifest>
Para la firma, utilice el hash MD5 de la clave utilizada para firmar el APK publicado. La forma más sencilla de hacer esto es configurar una firma para usar siempre en sus compilaciones de depuración/lanzamiento. Si tiene un almacén de claves de Java que contiene una clave de firma dentro de su proyecto, puede agregar lo siguiente al archivo gradle de su aplicación para firmar su versión de depuración con una firma constante:
android {
...
// Keystore located in root project folder. Google can show many examples on how to generate keystores with signatures
signingConfigs {
debug {
storeFile file('keystore.jks')
storePassword 'password'
keyAlias 'weChatDebug'
keyPassword 'password'
}
}
...
}
Si no utiliza una clave establecida para firmar compilaciones de depuración, Android Studio firma automáticamente su APK de desarrollo por usted. Para determinar qué firma MD5 proporcionar a WeChat, encontré útil este artículo: http://blog.sanuker.com/?p=691. Contiene un enlace a una aplicación china que extrae su hash MD5 para una aplicación proporcionada: https://github.com/mike623/cordova-WeChat-meteor-sharing/blob/master/README.md
Advertencia Este es un enlace aleatorio que encontré en Internet, no hago promesas ya que no tengo ninguna relación con el software.
Si utiliza la aplicación, cuando la ejecute, proporcione el nombre de su paquete en el primer campo de texto. Al hacer clic en el primer botón, se mostrará el MD5 de su aplicación en el segundo campo de texto. Pega esto en WeChat.
Cuando finalmente obtienes un token de WeChat, es un código que debes intercambiar por un token de acceso utilizando el ID y el secreto de tu aplicación. El secreto se puede encontrar en el portal para desarrolladores de WeChat. Para completar el intercambio, es simplemente una simple llamada de descanso a una API de WeChat.
Llamada API: https://api.wechat.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code Información adicional: http://admin.wechat.com/wiki/index.php?title=User_Profile_via_Web . Desplácese hacia abajo hasta "Obtener token de acceso mediante el código".
Una vez que todo está alineado, se necesita muy poco código para generar un token. Sin embargo, si algo es incorrecto, probablemente nunca verá ninguna transición a WeChat, una falla al cargar WeChat si ocurre una transición o ninguna respuesta de WeChat después de darle acceso a su aplicación.
¡Eres libre de utilizar cualquier código de este ejemplo, pero hazlo bajo tu propia responsabilidad! WeChat es muy difícil de navegar.
Nota: No puedo responder ninguna pregunta sobre WeChat. Ha sido demasiado largo y ha dejado demasiadas cicatrices para volver a mirarlo.
¡Buena suerte!