All Projects → GagSquad → SocialSDK

GagSquad / SocialSDK

Licence: WTFPL license
iOS 实现sina(新浪)、wechat(微信)、qq(腾讯) 登录、分享功能,Share,ShareSDK,高仿友盟SocialSDK UI 实现,可自定义UI实现

Programming Languages

objective c
16641 projects - #2 most used programming language
ruby
36898 projects - #4 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to SocialSDK

Cordova qq
A Cordova wrapper around the Tencent QQ SDK for Android and iOS. Provides access to QQ ssoLogin, QQ Sharing, QQZone Sharing etc.
Stars: ✭ 294 (+359.38%)
Mutual labels:  share, qq
YHThirdManager
一个快速、简单、易集成、扩展性好的社交化组件。摒弃友盟等三方库,使用原生SDK。支持微信支付、微信分享、微信登录、微信授权、QQ授权、QQ分享、QQ登录、新浪授权、新浪登录、新浪分享、微博评论、微博获取、支付宝支付。极大的减小了包体积;同时加入了自动管理提示框的功能
Stars: ✭ 41 (-35.94%)
Mutual labels:  share, qq
tencent kit
flutter版QQ登录/分享
Stars: ✭ 201 (+214.06%)
Mutual labels:  share, qq
Sdk3rd
第三方SDK集成库,授权/分享/支付
Stars: ✭ 249 (+289.06%)
Mutual labels:  share, qq
React Native Qqsdk
A React Native wrapper around the Tencent QQ SDK for Android and iOS. Provides access to QQ ssoLogin, QQ Sharing, QQZone Sharing etc
Stars: ✭ 100 (+56.25%)
Mutual labels:  share, qq
Socialsdklibrary
提供微博、微信、QQ、Tim、QQ 轻聊版、钉钉的登陆分享功能支持;
Stars: ✭ 399 (+523.44%)
Mutual labels:  share, qq
Sns auth
通用第三方登录SDK,支持微信,微信扫码,QQ,微博登录,支付宝登录,Facebook,Line,Twitter,Google
Stars: ✭ 520 (+712.5%)
Mutual labels:  qq, sina
Overlaycontroller
OverlayController easily pop your custom view and provide optional transition animation. written in swift 5.0
Stars: ✭ 94 (+46.88%)
Mutual labels:  share, sina
Zhpopupcontroller
Help you pop up custom views easily. and support pop-up animation, layout position, mask effect and gesture interaction etc.
Stars: ✭ 1,481 (+2214.06%)
Mutual labels:  share, sina
uc-qq-share-to-wechat
触发手机UC、QQ浏览器的原生的微信分享功能
Stars: ✭ 70 (+9.38%)
Mutual labels:  share, qq
WMagicBotR
基于Mirai 使用 java开发的 bot框架,在消息事件下封装了指令/权限指令 方便调用,内置公主连接/公主连结工会战功能
Stars: ✭ 40 (-37.5%)
Mutual labels:  qq
Wifi-Connect
A library project to connect two devices using Wifi-Direct
Stars: ✭ 94 (+46.88%)
Mutual labels:  share
sagiri-bot
基于Graia Ariadne和Mirai的QQ机器人 SAGIRI-BOT
Stars: ✭ 557 (+770.31%)
Mutual labels:  qq
Mirai.Net
Mirai.Net是基于mirai-api-http实现的轻量级mirai社区sdk。
Stars: ✭ 132 (+106.25%)
Mutual labels:  qq
shared-react-components-example
An example of a mono-repository of shared React components libraries!
Stars: ✭ 85 (+32.81%)
Mutual labels:  share
deepin-wine-qq-arch
Tencent QQ on Deepin Wine5(com.qq.im.deepin) For Archlinux
Stars: ✭ 274 (+328.13%)
Mutual labels:  qq
umeng analytics push
Umeng Analytics&Push Flutter Plugins
Stars: ✭ 28 (-56.25%)
Mutual labels:  umeng
ZTVendorManager
基于友盟集成QQ,微信 ,微博 分享和登录功能,支付宝和微信支付功能。集成简单,使用方便。
Stars: ✭ 26 (-59.37%)
Mutual labels:  share
LeXun.Security.OAuth
用于 Asp.Net 和 Asp.Net Core 的OAuth2社交身份验证提供程序。支持支付宝,QQ,微信,百度等第三方登录
Stars: ✭ 19 (-70.31%)
Mutual labels:  qq
nonebot-plugin
一些 NoneBot 即开即用、良好兼容的插件——自定义表情包、早晚安、Vtuber今日运势等
Stars: ✭ 101 (+57.81%)
Mutual labels:  qq

SocialSDK

Version Platform Carthage Compatible build

简介: 实现 Sina WeChat QQ 登录和分享功能

所用第三方SDK版本

SocialSDK QQ(SDK) Sina(SDK) WeChat(SDK)
0.0.3 3.1.3 3.1.4 1.7.5
0.0.4 3.2.1 3.1.4 1.7.7
0.0.5 3.3.3 3.1.4 1.8.2

1. SDK功能

平台 分享 登录 支付
Sina ×
QQ ×
Wechat ×

2.分享渠道支持

渠道 纯文本 单图 普通链接 音频链接 视频链接
Sina
QQ
Qzone
WechatSession
WechatTimeLine

Renderings

纯文本、单图、URL、音频链接、视频链接分享

         

微博登录

 

平台集成

1. SocialSDK集成

2. SocialSDK各平台配置

3. 调用SocialSDK


Installation

CocoaPods

编写podfile分为是否使用了use_frameworks!两种情况

1.如果没使用use_frameworks!

pod 'SocialSDK'

2.使用了use_frameworks!

pod 'SocialSDK_UF'
pod 'SocialSDK_R'

手动集成介绍

直接拖动Classes文件到自己的项目中,添加Resources中的资源文件(推荐使用CocoaPods)。

SocialSDK各平台配置

Sina平台配置

WeChat平台配置

QQ平台配置

  • 1、 添加URL Schemes
  • 格式"tencent"+QQ的appID + "QQ"+QQ的appID转换成十六进制(不足8位前面补0) 在线转换十六进制
  • 例如: appID:100424468 --> tencent100424468 QQ05fc5b14
  • 2、适配iOS9+系统

iOS9+适配

1. HTTPS传输 在info.plist中加入安全域名白名单(右键info.plist用source code打开)

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>sina.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
        </dict>
        <key>weibo.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
        </dict>
        <key>weibo.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sinaimg.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
   			  <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sinajs.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
        <key>sina.com.cn</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

2.配置ApplicationQueriesSchemes(应用间跳转)

<key>LSApplicationQueriesSchemes</key>
<array>
    <!-- 微信 URL Scheme 白名单-->
    <string>wechat</string>
    <string>weixin</string>

    <!-- 新浪微博 URL Scheme 白名单-->
    <string>sinaweibohd</string>
    <string>sinaweibo</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>

    <!-- QQ、Qzone URL Scheme 白名单-->
    <string>mqqapi</string>
    <string>mqq</string>
    <string>mqqOpensdkSSoLogin</string>
    <string>mqqconnect</string>
    <string>mqqopensdkdataline</string>
    <string>mqqopensdkgrouptribeshare</string>
    <string>mqqopensdkfriend</string>
    <string>mqqopensdkapi</string>
    <string>mqqopensdkapiV2</string>
    <string>mqqopensdkapiV3</string>
    <string>mqqopensdkapiV4</string>
    <string>mqzoneopensdk</string>
    <string>wtloginmqq</string>
    <string>wtloginmqq2</string>
    <string>mqqwpa</string>
    <string>mqzone</string>
    <string>mqzonev2</string>
    <string>mqzoneshare</string>
    <string>wtloginqzone</string>
    <string>mqzonewx</string>
    <string>mqzoneopensdkapiV2</string>
    <string>mqzoneopensdkapi19</string>
    <string>mqzoneopensdkapi</string>
    <string>mqqbrowser</string>
    <string>mttbrowser</string>
</array>

初始化配置

AppDelegate.m 中做如下配置

   #import "GSPlatformParamConfigManager.h"
   #import "GSSocialManager.h"
   
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    [[GSPlatformParamConfigManager share] addSinaPlatformConfigAppKey:@"" redirectURI:@""];
    [[GSPlatformParamConfigManager share] addQQPlatformConfigAppID:@""];
    [[GSPlatformParamConfigManager share] addWeChatPlatformConfigAppID:@"" secret:@""];
    return YES;
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    BOOL res = [[GSSocialManager share] handleOpenURL:url];
    if (!res) {
        //做其他SDK回调处理
    }
    return res;
}

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    BOOL res = [[GSSocialManager share] handleOpenURL:url];
    if (!res) {
        //做其他SDK回调处理
    }
    return res;
}

第三方平台登录

#import "GSSelectView.h"
#import "GSShareChannelType.h"
#import "GSLoginManager.h"
    [GSSelectView showShareViewWithChannels:@[
                                            @(GSShareChannelTypeSina),
                                            @(GSShareChannelTypeQQ),
                                            @(GSShareChannelTypeQzone),
                                            @(GSShareChannelTypeWechatSession)
                                            ] completionBlock:^(BOOL isCancel, GSLogoReourcesType reourcesType) {
                                                if (isCancel) {
                                                    
                                                } else {
                                                    id<GSLoginProtocol> login = [[GSLoginManager share] getShareProtocolWithChannelType:[GSLoginManager getShareChannelTypeWithLogoReourcesType:reourcesType]];
                                                    [login setLoginCompletionBlock:^(id<GSLoginResultProtocol> result) {
                                                        
                                                    }];
                                                    [login doLogin];
                                                }
  }];

第三方平台分享

#import "GSSelectView.h"
#import "GSShareChannelType.h"
#import "GSShareManager.h"
    [GSSelectView showShareViewWithChannels:@[
                                              @(GSShareChannelTypeSina),
                                              @(GSShareChannelTypeQQ),
                                              @(GSShareChannelTypeQzone),
                                              @(GSShareChannelTypeWechatSession)
                                              ] completionBlock:^(BOOL isCancel, GSLogoReourcesType reourcesType) {
                                                  if (isCancel) {
                                                      
                                                  } else {
                                                      id<GSShareProtocol> share = [[GSShareManager share] getShareProtocolWithChannelType:[GSShareManager getShareChannelTypeWithLogoReourcesType:reourcesType]];
                                                      [share shareSimpleText:@"good day"];
                                                      [share setShareCompletionBlock:^(id<GSShareResultProtocol> result) {
                                                          
                                                      }];
                                                  }
    }];

联系方式

QQ:470058952
我的微信:

License

SocialSDK is under WTFPL. You can do what the fuck you want with SocialSDK. See LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].