Ce qui suit est une démonstration de la façon de générer un jeton en utilisant le SDK WeChat directement dans Android. Cela peut s'avérer une tâche étonnamment difficile car il existe très peu de documentation et d'exemples de code en ligne. Une grande partie de la documentation sur WeChat est en chinois, ce qui rend le débogage très difficile si vous rencontrez des problèmes. WeChat ne répond jamais non plus si vous avez une mauvaise configuration, laissant très peu de place à Google.
Il s'agit d'une démo simplifiée juste pour la connexion. Ce qui suit est une démo plus complète de la plupart (toutes) les fonctionnalités de WeChat qui m'ont vraiment aidé à comprendre la connexion : https://github.com/cihm/WeChatDemo
Lien vers un article que j'ai écrit sur l'expérience : http://aaronbruckner.com/article_weChat.html
Pour utiliser WeChat, vous devez être un développeur enregistré. Accédez à https://open.weixin.qq.com. Je ne documenterai pas cela car je n’ai pas personnellement suivi le processus. Vous devrez créer une application mobile qui vous demandera de remplir certains détails sur l'application que vous créez et qui interagira avec WeChat. D'après la lecture en ligne, il semble que vous puissiez être bloqué ici si vous n'avez pas de numéro de téléphone chinois auquel envoyer un code de vérification.
Une fois cette demande soumise et acceptée, vous disposerez d'une application mobile WeChat enregistrée avec un identifiant d'application WeChat. L'identifiant de l'application est important car c'est ainsi que WeChat identifie l'application demandant l'autorisation.
Je n'ai pas trouvé d'importation progressive pour le SDK WeChat. Leur site officiel donne des instructions sur la façon d'importer leur SDK dans le dossier libs de votre application. http://dev.wechat.com/wechatapi/installguide
Vous devez fournir à WeChat un nom de package et une signature valides pour l'application de développement que vous utiliserez pour appeler WeChat via le SDK. Cela peut être défini dans le portail de développement à l'adresse https://open.weixin.qq.com. Pour le nom du package, utilisez le nom du package de votre manifeste.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.company.your.package.name">
...
</manifest>
Pour la signature, utilisez le hachage MD5 de la clé utilisée pour signer votre APK publié. Le moyen le plus simple de procéder consiste à configurer une signature à toujours utiliser pour vos versions de débogage/version. Si vous disposez d'un magasin de clés Java contenant une clé de signature dans votre projet, vous pouvez ajouter ce qui suit au fichier de graduation de votre application pour signer votre version de débogage avec une signature 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 vous n'utilisez pas de clé définie pour signer les versions de débogage, Android Studio signe automatiquement votre APK de développement pour vous. Pour déterminer quelle signature MD5 fournir à WeChat, j'ai trouvé cet article utile : http://blog.sanuker.com/?p=691. Il contient un lien vers une application chinoise qui extrait votre hachage MD5 pour une application fournie : https://github.com/mike623/cordova-WeChat-meteor-sharing/blob/master/README.md
Attention Il s'agit d'un lien aléatoire que j'ai trouvé sur Internet, sans promesse car je n'ai aucune implication dans le logiciel.
Si vous utilisez l'application, lorsque vous l'exécutez, indiquez le nom de votre package dans le premier champ de texte. En cliquant sur le premier bouton, vous afficherez le MD5 de votre application dans le deuxième champ de texte. Collez ceci sur WeChat.
Lorsque vous obtenez enfin un jeton de WeChat, c'est un code que vous devez échanger contre un jeton d'accès en utilisant l'ID et le secret de votre application. Le secret peut être trouvé sur le portail des développeurs WeChat. Pour terminer l'échange, il suffit d'un simple appel à une API WeChat.
Appel API : https://api.wechat.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code Informations supplémentaires : http://admin.wechat.com/wiki/index.php?title=User_Profile_via_Web . Faites défiler jusqu'à "Obtenir un jeton d'accès par le code".
Une fois que tout est aligné, très peu de code est nécessaire pour générer un jeton. Cependant, si quelque chose est incorrect, vous ne verrez probablement jamais de transition vers WeChat, un échec de chargement de WeChat si une transition se produit ou aucune réponse de WeChat après avoir donné accès à votre application.
Vous êtes libre d'utiliser n'importe quel code de cet exemple, mais faites-le à vos propres risques ! WeChat est très difficile à naviguer.
Remarque : je ne peux répondre à aucune question sur WeChat. Cela fait trop longtemps et trop de cicatrices pour être revue à nouveau.
Bonne chance!