타사 SDK 통합 라이브러리는 승인/공유/결제 및 기타 기능을 지원합니다.
현재 이 라이브러리는 안정적이지 않습니다. 일부 세부 사항은 신중하게 고려되지 않았고 일부 기능은 테스트되지 않았으며 지원되는 플랫폼이 많지 않습니다. 모두가 이 라이브러리를 개선하기 위해 함께 작업할 수 있습니다.
성공 후 결과는 "code|{code}" 및 "token|{openId}|{token}"의 두 가지 형식입니다.
하지만 클라이언트는 실제로 코드인지 토큰인지 신경 쓸 필요가 없으며 결과를 서버에 직접 보낼 수 있습니다.
많은 결제 라이브러리가 클라이언트 측에서 제품 결제 정보를 처리하는 것은 사실 불필요합니다. 서버에서 직접 데이터를 반환하여 결제 SDK에 전달한 후 결제 결과를 처리할 수 있습니다.
일반 텍스트/순수 사진/그래픽/웹페이지/음악/비디오 등 공유 유형 지원
플랫폼 | 일반 텍스트 | 순수한 그림 | 그래픽 및 텍스트 | 웹페이지 | 음악 | 동영상 |
---|---|---|---|---|---|---|
엑스 | 영형 | 엑스 | 영형 | 영형 | 엑스 | |
Q존 | 영형 | 영형 | 영형 | 영형 | 엑스 | 영형 |
WX세션 | 영형 | 영형 | 엑스 | 영형 | 영형 | 영형 |
WX타임라인 | 영형 | 영형 | 엑스 | 영형 | 영형 | 영형 |
웨이보 | 영형 | 영형 | 영형 | 엑스 | 엑스 | 엑스 |
SendToQQ | 영형 | 영형 | 엑스 | 엑스 | 엑스 | 엑스 |
SendToWXS | 영형 | 영형 | 엑스 | 엑스 | 엑스 | 엑스 |
SendToWXT | 영형 | 영형 | 엑스 | 엑스 | 엑스 | 엑스 |
데모를 실행하려면 gradle.properties에서 앱에 적용된 앱의 패키지 이름, 서명 및 APPID를 수정해야 합니다 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 '
}
APPID 구성
PlatformConfig . useQQ ( BuildConfig . APPID_QQ );
PlatformConfig . useWeixin ( BuildConfig . APPID_WEIXIN );
PlatformConfig . useWeibo ( BuildConfig . APPID_WEIBO , "http://www.sina.com/" );
PlatformConfig . usePayments ();
전역 이벤트 콜백 설정(필요하지 않음)
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 );
}
});
인증 결과 수신 (Sina Weibo/QQ)
@ Override
protected void onActivityResult ( int requestCode , int resultCode , Intent data ) {
super . onActivityResult ( requestCode , resultCode , data );
AuthorizeSDK . onHandleResult ( this , requestCode , resultCode , data );
}
통화 승인
AuthorizeSDK . authorize ( MainActivity . this , platform , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
Toast . makeText ( MainActivity . this , "登陆成功 - " + result , Toast . LENGTH_LONG ). show ();
}
});
사용자 정의 플랫폼을 등록하려면 IAuthorize 및 해당 IFactory를 구현해야 합니다.
AuthorizeSDK . register ( IFactory < IAuthorize > factory );
AuthorizeSDK . register ( String platformName , String appId , Class < IAuthorize > clazz );
전역 이벤트 콜백 설정은 인증 SDK와 유사합니다.
통화결제
PaymentSDK . pay ( MainActivity . this , platform , paydata , new OnSucceed < String >() {
@ Override
public void onSucceed ( String result ) {
// todo
}
});
커스텀 플랫폼을 등록하려면 IPayable과 해당 IFactory를 구현해야 합니다.
PaymentSDK . register ( IFactory < IPayable > factory );
PaymentSDK . register ( String platformName , Class < IPayable > clazz );
전역 이벤트 콜백 설정은 인증 SDK와 유사합니다.
...
공유된 결과를 받는 것도 공인 SDK(QQ)와 유사합니다.
...
사용자 정의 플랫폼을 등록하려면 IShareable 및 해당 IFactory를 구현해야 합니다.
ShareSDK . register ( IFactory < IShareable > factory );
ShareSDK . register ( String platformName , Class < IShareable > clazz );
공유하다
// 分享纯文本
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 );
Umeng+ 공유 구성요소에 관해 자주 묻는 질문 90% 요약 http://bbs.umeng.com/thread-17764-1-1.html
Umeng 플랫폼별 공유 가능한 콘텐츠 미리보기 http://dev.umeng.com/social/android/share-detail#5
다양한 Android 플랫폼에서 콘텐츠를 공유하기 위한 자세한 지침 http://wiki.mob.com/다양한 플랫폼에서 콘텐츠를 공유하기 위한 자세한 지침
시나 웨이보 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.