A seguir está uma demonstração de como gerar um token usando o WeChat SDK diretamente no Android. Esta pode ser uma tarefa surpreendentemente difícil, pois há muito pouca documentação e exemplos de código online. Grande parte da documentação do WeChat está em chinês, o que torna a depuração muito difícil se você tiver algum problema. O WeChat também nunca responde se você tiver uma configuração incorreta, deixando muito pouco para o Google.
Esta é uma demonstração simplificada apenas para login. A seguir está uma demonstração mais abrangente da maioria (todos) os recursos do WeChat que realmente me ajudaram a descobrir o login: https://github.com/cihm/WeChatDemo
Link para um artigo que escrevi sobre a experiência: http://aaronbruckner.com/article_weChat.html
Para usar o WeChat você deve ser um desenvolvedor registrado. Acesse https://open.weixin.qq.com. Não documentarei isso porque não passei pessoalmente pelo processo. Você terá que criar um aplicativo móvel que exigirá o preenchimento de alguns detalhes sobre o aplicativo que você está criando e que irá interagir com o WeChat. Pela leitura on-line, parece que você pode ser bloqueado aqui se não tiver um número de telefone chinês para o qual enviar um código de verificação.
Assim que for enviado e aceito, você terá um aplicativo móvel WeChat registrado com um ID de aplicativo WeChat. O ID do aplicativo é importante porque é como o WeChat identifica o aplicativo que solicita autorização.
Não consegui encontrar uma importação gradle para o SDK do WeChat. O site oficial fornece instruções sobre como importar o SDK para a pasta libs do seu aplicativo. http://dev.wechat.com/wechatapi/installguide
Você deve fornecer ao WeChat um nome de pacote válido e uma assinatura para o aplicativo de desenvolvimento que usará para invocar o WeChat por meio do SDK. Isso pode ser definido no portal de desenvolvimento em https://open.weixin.qq.com. Para o nome do pacote, use o nome do pacote do seu manifesto.
<?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 a assinatura, use o hash MD5 da chave usada para assinar o APK publicado. A maneira mais fácil de fazer isso é configurar uma assinatura para sempre usar em suas compilações de depuração/lançamento. Se você tiver um keystore java contendo uma chave de assinatura em seu projeto, poderá adicionar o seguinte ao arquivo gradle do seu aplicativo para assinar sua versão de depuração com uma assinatura 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'
}
}
...
}
Se você não usar uma chave definida para assinar compilações de depuração, o Android Studio assinará automaticamente seu APK de desenvolvimento para você. Para determinar qual assinatura MD5 fornecer ao WeChat, achei este artigo útil: http://blog.sanuker.com/?p=691. Ele contém um link para um aplicativo chinês que extrai seu hash MD5 para um aplicativo fornecido: https://github.com/mike623/cordova-WeChat-meteor-sharing/blob/master/README.md
Atenção Este é um link aleatório que encontrei na internet, sem promessas pois não tenho envolvimento com o software.
Se você usar o aplicativo, ao executá-lo, forneça o nome do seu pacote no primeiro campo de texto. Clicar no primeiro botão mostrará o MD5 do seu aplicativo no segundo campo de texto. Cole isto no WeChat.
Quando você finalmente obtém um token do WeChat, é um código que você deve trocar por um token de acesso usando o ID e o segredo do seu aplicativo. O segredo pode ser encontrado no portal do desenvolvedor WeChat. Para completar a troca, basta uma simples chamada para uma API do WeChat.
Chamada de API: https://api.wechat.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code Informações adicionais: http://admin.wechat.com/wiki/index.php?title=User_Profile_via_Web . Role para baixo até “Obter token de acesso pelo código”.
Depois que tudo estiver alinhado, será necessário muito pouco código para gerar um token. No entanto, se algo estiver incorreto, você provavelmente nunca verá qualquer transição para o WeChat, uma falha ao carregar o WeChat se ocorrer uma transição ou nenhuma resposta do WeChat depois de conceder acesso ao seu aplicativo.
Você é livre para usar qualquer código deste exemplo, mas faça isso por sua própria conta e risco! O WeChat é muito difícil de navegar.
Observação: não posso responder a nenhuma pergunta sobre o WeChat. Já faz muito tempo e deixa cicatrizes para olhar novamente.
Boa sorte!