La bibliothèque d'intégration de SDK tiers prend en charge l'autorisation/le partage/le paiement et d'autres fonctions
À l'heure actuelle, cette bibliothèque n'est pas stable. Certains détails n'ont pas été soigneusement étudiés, certaines fonctions n'ont pas été testées et il n'y a pas beaucoup de plates-formes prises en charge. Tout le monde est invité à lancer/éditer/pr et à travailler ensemble pour améliorer cette bibliothèque.
Le résultat après succès se présente sous deux formes : "code|{code}" et "token|{openId}|{token}"
Mais le client n’a pas vraiment besoin de se soucier de savoir s’il s’agit d’un code ou d’un jeton, il peut simplement envoyer le résultat directement au serveur.
De nombreuses bibliothèques de paiement traiteront les informations de paiement des produits côté client. En fait, cela n'est pas nécessaire. Le serveur peut directement renvoyer les données et les transmettre au SDK de paiement, puis traiter les résultats du paiement.
Prend en charge les types de partage tels que le texte brut/les images pures/les graphiques/les pages Web/la musique/les vidéos
plate-forme | texte brut | Images pures | Graphiques et texte | page web | musique | vidéo |
---|---|---|---|---|---|---|
x | o | x | o | o | x | |
Zone Q | o | o | o | o | x | o |
Session WX | o | o | x | o | o | o |
Chronologie WX | o | o | x | o | o | o |
o | o | o | x | x | x | |
EnvoyerVersQQ | o | o | x | x | x | x |
EnvoyerVersWXS | o | o | x | x | x | x |
EnvoyerVersWXT | o | o | x | x | x | x |
Pour exécuter la démo, vous devez modifier le nom du package de l'application, la signature et l'APPID appliqué à l'application dans 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 '
}
Configurer l'APPID
PlatformConfig . useQQ ( BuildConfig . APPID_QQ );
PlatformConfig . useWeixin ( BuildConfig . APPID_WEIXIN );
PlatformConfig . useWeibo ( BuildConfig . APPID_WEIBO , "http://www.sina.com/" );
PlatformConfig . usePayments ();
Définir le rappel d'événement global (pas nécessaire)
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 );
}
});
Recevoir les résultats d'autorisation (Sina Weibo/QQ)
@ Override
protected void onActivityResult ( int requestCode , int resultCode , Intent data ) {
super . onActivityResult ( requestCode , resultCode , data );
AuthorizeSDK . onHandleResult ( this , requestCode , resultCode , data );
}
autorisation d'appel
AuthorizeSDK . authorize ( MainActivity . this , platform , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
Toast . makeText ( MainActivity . this , "登陆成功 - " + result , Toast . LENGTH_LONG ). show ();
}
});
Pour enregistrer une plateforme personnalisée, vous devez implémenter IAuthorize et l'IFactory correspondant
AuthorizeSDK . register ( IFactory < IAuthorize > factory );
AuthorizeSDK . register ( String platformName , String appId , Class < IAuthorize > clazz );
Le paramètre de rappel d'événement global est similaire à celui du SDK d'autorisation.
paiement par appel
PaymentSDK . pay ( MainActivity . this , platform , paydata , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
// todo
}
});
Pour enregistrer une plateforme personnalisée, vous devez implémenter IPayable et l'IFactory correspondant
PaymentSDK . register ( IFactory < IPayable > factory );
PaymentSDK . register ( String platformName , Class < IPayable > clazz );
Le paramètre de rappel d'événement global est similaire au SDK d'autorisation
...
La réception des résultats partagés est également similaire au SDK autorisé (QQ)
...
Pour enregistrer une plateforme personnalisée, vous devez implémenter IShareable et l'IFactory correspondant
ShareSDK . register ( IFactory < IShareable > factory );
ShareSDK . register ( String platformName , Class < IShareable > clazz );
partager
// 分享纯文本
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 );
Résumé de 90 % des questions fréquemment posées sur les composants de partage Umeng+ http://bbs.umeng.com/thread-17764-1-1.html
Aperçu du contenu pouvant être partagé sur chaque plateforme Umeng http://dev.umeng.com/social/android/share-detail#5
Instructions détaillées pour partager du contenu sur différentes plateformes Android http://wiki.mob.com/Instructions détaillées pour partager du contenu sur différentes plateformes
SDK 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.