A biblioteca de integração SDK de terceiros suporta autorização/compartilhamento/pagamento e outras funções
No momento, esta biblioteca não é estável. Alguns detalhes não foram cuidadosamente considerados, algumas funções não foram testadas e não há muitas plataformas suportadas. Todos são bem-vindos para estrelar/issue/pr e trabalhar juntos para melhorar esta biblioteca.
O resultado após o sucesso está em duas formas: "code|{code}" e "token|{openId}|{token}"
Mas o cliente realmente não precisa se preocupar se é um código ou um token, ele pode apenas enviar o resultado diretamente para o servidor.
Muitas bibliotecas de pagamento processarão informações de pagamento de produtos no lado do cliente. Na verdade, isso é desnecessário. O servidor pode retornar os dados diretamente e entregá-los ao SDK de pagamento e, em seguida, processar os resultados do pagamento.
Suporta tipos de compartilhamento como texto simples/imagens puras/gráficos/páginas da web/música/vídeos
plataforma | texto simples | Imagens puras | Gráficos e texto | página da Internet | música | vídeo |
---|---|---|---|---|---|---|
x | ó | x | ó | ó | x | |
Zona Q | ó | ó | ó | ó | x | ó |
Sessão WX | ó | ó | x | ó | ó | ó |
Linha do tempo WX | ó | ó | x | ó | ó | ó |
ó | ó | ó | x | x | x | |
EnviarParaQQ | ó | ó | x | x | x | x |
Enviar para WXS | ó | ó | x | x | x | x |
Enviar para WXT | ó | ó | x | x | x | x |
Para executar a demonstração, você precisa modificar o nome do pacote do aplicativo, a assinatura e o APPID aplicado ao aplicativo em gradle.properties
APPLICATION_ID=ezy.demo.sdk3rd
APPID_QQ=YOUR_APPID
APPID_WEIXIN=YOUR_APPID
APPID_WEIBO=YOUR_APPID
SINGING_ALIAS=androiddebugkey
SINGING_PASSWORD=android
SINGING_FILE=debug.keystore
repositories {
maven { url " https://jitpack.io " }
}
dependencies {
compile ' com.github.czy1121.sdk3rd:sdk3rd:0.1.2 '
compile ' com.github.czy1121.sdk3rd:sdk3rd-alipay:0.1.1 '
compile ' com.github.czy1121.sdk3rd:sdk3rd-qq:0.1.0 '
compile ' com.sina.weibo.sdk:core:1.0.0:openDefaultRelease@aar '
compile ' com.tencent.mm.opensdk:wechat-sdk-android-without-mta:1.0.2 '
}
Configurar APPID
PlatformConfig . useQQ ( BuildConfig . APPID_QQ );
PlatformConfig . useWeixin ( BuildConfig . APPID_WEIXIN );
PlatformConfig . useWeibo ( BuildConfig . APPID_WEIBO , "http://www.sina.com/" );
PlatformConfig . usePayments ();
Definir retorno de chamada de evento global (não necessário)
AuthorizeSDK . setDefaultCallback ( new OnCallback () {
@ Override
public void onStarted ( Activity activity ) {
Log . e ( "ezy" , "authorize started" );
}
@ Override
public void onCompleted ( Activity activity ) {
Log . e ( "ezy" , "authorize completed" );
}
@ Override
public void onSucceed ( Activity activity , Object result ) {
Log . e ( "ezy" , "authorize succeed" );
}
@ Override
public void onFailed ( Activity activity , int code , String message ) {
Log . e ( "ezy" , "authorize failed [" + code + "]" + message );
}
});
Receber resultados de autorização (Sina Weibo/QQ)
@ Override
protected void onActivityResult ( int requestCode , int resultCode , Intent data ) {
super . onActivityResult ( requestCode , resultCode , data );
AuthorizeSDK . onHandleResult ( this , requestCode , resultCode , data );
}
autorização de chamada
AuthorizeSDK . authorize ( MainActivity . this , platform , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
Toast . makeText ( MainActivity . this , "登陆成功 - " + result , Toast . LENGTH_LONG ). show ();
}
});
Para registrar uma plataforma customizada, você precisa implementar IAutorize e o IFactory correspondente
AuthorizeSDK . register ( IFactory < IAuthorize > factory );
AuthorizeSDK . register ( String platformName , String appId , Class < IAuthorize > clazz );
A configuração do retorno de chamada de evento global é semelhante ao SDK de autorização
chamada de pagamento
PaymentSDK . pay ( MainActivity . this , platform , paydata , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
// todo
}
});
Para registrar uma plataforma customizada, você precisa implementar o IPayable e o IFactory correspondente
PaymentSDK . register ( IFactory < IPayable > factory );
PaymentSDK . register ( String platformName , Class < IPayable > clazz );
A configuração do retorno de chamada de evento global é semelhante ao SDK de autorização
...
Receber resultados compartilhados também é semelhante ao SDK autorizado (QQ)
...
Para registrar uma plataforma customizada, você precisa implementar IShareable e o IFactory correspondente
ShareSDK . register ( IFactory < IShareable > factory );
ShareSDK . register ( String platformName , Class < IShareable > clazz );
compartilhar
// 分享纯文本
ShareSDK . make ( this , text ). share ( platform );
// 分享纯图片
ShareSDK . make ( this , new MoImage ( image )). share ( platform );
// 分享图文
ShareSDK . make ( this , text , new MoImage ( image )). share ( platform );
// 分享网页链接
ShareSDK . make ( this , new MoWeb ( url ))
. withTitle ( "这是标题" )
. withDescription ( "这是摘要" )
. withThumb ( thumb )
. share ( platform , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
Toast . makeText ( MainActivity . this , "分享成功" , Toast . LENGTH_LONG ). show ();
}
});
// 分享音乐
ShareSDK . make ( this , new MoMusic ( url ))
. withTitle ( "这是标题" )
. withDescription ( "这是摘要" )
. withThumb ( thumb )
. share ( platform );
Resumo de 90% das perguntas frequentes sobre componentes de compartilhamento do Umeng+ http://bbs.umeng.com/thread-17764-1-1.html
Prévia do conteúdo que pode ser compartilhado em cada plataforma Umeng http://dev.umeng.com/social/android/share-detail#5
Instruções detalhadas para compartilhar conteúdo em diferentes plataformas Android http://wiki.mob.com/Instruções detalhadas para compartilhar conteúdo em diferentes plataformas
SDK do Sina Weibo https://github.com/sinaweibosdk/weibo_android_sdk
Copyright 2017 czy1121
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.