Сторонняя библиотека интеграции SDK поддерживает авторизацию/совместное использование/оплату и другие функции.
В настоящее время эта библиотека не стабильна. Некоторые детали не были тщательно продуманы, некоторые функции не протестированы, и существует не так много поддерживаемых платформ. Каждый может начать/выпустить/pr и работать вместе над улучшением этой библиотеки.
Результат после успеха имеет две формы: «код|{код}» и «токен|{openId}|{токен}».
Но клиенту на самом деле не важно, код это или токен, он может просто отправить результат непосредственно на сервер.
Многие платежные библиотеки обрабатывают информацию об оплате продукта на стороне клиента. На самом деле в этом нет необходимости. Сервер может напрямую возвращать данные и передавать их платежному SDK, а затем обрабатывать результаты платежа.
Поддерживает такие типы обмена, как обычный текст/простые изображения/графика/веб-страницы/музыка/видео.
платформа | простой текст | Чистые картинки | Графика и текст | веб-страница | музыка | видео |
---|---|---|---|---|---|---|
х | о | х | о | о | х | |
QZone | о | о | о | о | х | о |
WXSession | о | о | х | о | о | о |
WXTimeline | о | о | х | о | о | о |
Вейбо | о | о | о | х | х | х |
ОтправитьToQQ | о | о | х | х | х | х |
ОтправитьToWXS | о | о | х | х | х | х |
ОтправитьToWXT | о | о | х | х | х | х |
Чтобы запустить демо-версию, вам необходимо изменить имя пакета приложения, подпись и 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 '
}
Настроить АППИД
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 );
Краткое изложение 90 % часто задаваемых вопросов о компонентах общего доступа Umeng+ http://bbs.umeng.com/thread-17764-1-1.html.
Предварительный просмотр контента, которым можно поделиться на каждой платформе Umeng http://dev.umeng.com/social/android/share-detail#5
Подробные инструкции по обмену контентом на разных платформах Android http://wiki.mob.com/Подробные инструкции по обмену контентом на разных платформах
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.