La biblioteca de integración de SDK de terceros admite autorización/compartición/pago y otras funciones
En la actualidad, esta biblioteca no es estable. Algunos detalles no se han considerado cuidadosamente, algunas funciones no se han probado y no hay muchas plataformas compatibles. Todos pueden participar en star/issue/pr y trabajar juntos para mejorar esta biblioteca.
El resultado después del éxito tiene dos formas: "código|{código}" y "token|{openId}|{token}"
Pero en realidad el cliente no necesita preocuparse si se trata de un código o un token, simplemente puede enviar el resultado directamente al servidor.
Muchas bibliotecas de pago procesarán la información de pago del producto en el lado del cliente. De hecho, esto no es necesario. El servidor puede devolver los datos directamente y entregarlos al SDK de pago, y luego procesar los resultados del pago.
Admite tipos de intercambio como texto sin formato/imágenes puras/gráficos/páginas web/música/vídeos
plataforma | texto plano | Fotos puras | Gráficos y texto | Página web | música | video |
---|---|---|---|---|---|---|
incógnita | oh | incógnita | oh | oh | incógnita | |
Zona Q | oh | oh | oh | oh | incógnita | oh |
WXSesión | oh | oh | incógnita | oh | oh | oh |
Línea de tiempo WX | oh | oh | incógnita | oh | oh | oh |
oh | oh | oh | incógnita | incógnita | incógnita | |
Enviar a QQ | oh | oh | incógnita | incógnita | incógnita | incógnita |
Enviar a WXS | oh | oh | incógnita | incógnita | incógnita | incógnita |
Enviar a WXT | oh | oh | incógnita | incógnita | incógnita | incógnita |
Para ejecutar la demostración, debe modificar el nombre del paquete de la aplicación, la firma y el APPID aplicado para la aplicación en 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 ();
Establecer devolución de llamada de evento global (no es necesario)
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 );
}
});
Recibir resultados de autorización (Sina Weibo/QQ)
@ Override
protected void onActivityResult ( int requestCode , int resultCode , Intent data ) {
super . onActivityResult ( requestCode , resultCode , data );
AuthorizeSDK . onHandleResult ( this , requestCode , resultCode , data );
}
autorización de llamada
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 una plataforma personalizada, debe implementar IAuthorize y el IFactory correspondiente
AuthorizeSDK . register ( IFactory < IAuthorize > factory );
AuthorizeSDK . register ( String platformName , String appId , Class < IAuthorize > clazz );
La configuración de la devolución de llamada de evento global es similar al SDK de autorización.
pago de llamada
PaymentSDK . pay ( MainActivity . this , platform , paydata , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
// todo
}
});
Para registrar una plataforma personalizada, debe implementar IPayable y el IFactory correspondiente
PaymentSDK . register ( IFactory < IPayable > factory );
PaymentSDK . register ( String platformName , Class < IPayable > clazz );
La configuración de la devolución de llamada de evento global es similar al SDK de autorización.
...
Recibir resultados compartidos también es similar al SDK autorizado (QQ)
...
Para registrar una plataforma personalizada, debe implementar IShareable y el IFactory correspondiente
ShareSDK . register ( IFactory < IShareable > factory );
ShareSDK . register ( String platformName , Class < IShareable > clazz );
compartir
// 分享纯文本
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 );
Resumen del 90% de las preguntas frecuentes sobre los componentes compartidos de Umeng+ http://bbs.umeng.com/thread-17764-1-1.html
Vista previa del contenido que se puede compartir en cada plataforma Umeng http://dev.umeng.com/social/android/share-detail#5
Instrucciones detalladas para compartir contenido en diferentes plataformas Android http://wiki.mob.com/Instrucciones detalladas para compartir contenido en diferentes plataformas
Sina Weibo SDK 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.