首页游戏资讯ShareSDK iOS SDK 集成指南

ShareSDK iOS SDK 集成指南

misa2 04-11 5次浏览 0条评论

开发东西:Xcode

集成体例:手动导进SDK或者Pod集成

SDK版本撑持:SDK撑持Xcode 9.1.0, iOS8.0+及以上版本

集成前预备

注册账号

利用ShareSDK之前,需要先在MobTech官网注册开发者账号,并获取AppKey和AppSecret,详情能够点击查看创建利用流程

分享到第三方平台,需要如今对应第三方平台申请平台的AppKey,详情能够点击查看注册利用流程

ShareSDK流程图

ShareSDK iOS SDK 集成指南

ShareSDK集成

手动集成

获取ShareSDK

在 MobService下载中心 下载最新版本SDK

选中ShareSDK,抉择需要的平台,然后点击“保留设置装备摆设”:

ShareSDK iOS SDK 集成指南

展开全文

ShareSDK iOS SDK 集成指南

温馨提醒: 各平台的右边有个问号,将鼠标放置上往会弹出该平台的简单阐明

选中所需要的平台后,点击“下载”按钮,就会下载好SDK

ShareSDK iOS SDK 集成指南

下载下来的SDK构造

ShareSDK iOS SDK 集成指南

SDK目次构造阐明

SDK:

Required:

MOBFoundation.framework (根底东西库)

ShareSDK:

ShareSDK.framework (主营业实现)

Support:

Required:

ShareSDK.bundle (ShareSDK资本文件)

ShareSDKConnector.framework(v4.2.0版本后已烧毁)

PlatformConnector:

... (各个平台独立逻辑依靠库,只需要集成需要的平台即可)

PlatformSDK:

... (各个平台的SDK文件,不集成默认走往SDK营业逻辑,目前撑持大部门支流

平台,如QQ 微博 微信等)

Optional:(可选)

ShareSDKUI.bundle (分享UI的资本文件)

ShareSDKUI.framework (分享UI库)

ShareSDKConfigFile.framework(xml设置装备摆设文件形式分享依靠库)

ShareSDKConfigFile.bundle (xml设置装备摆设文件形式分享资本文件)

ShareSDKExtension.framework(功用的扩展框架插件。(第三方平台检测、

一键分享、截屏分享、摇一摇分享等相关功用)

ShareSDKLink.framework(闭环分享库)

重视:导进的时候,需要将整个SDK资本文件导进到项目里

手动导进SDK

将上面获取到的SDK,间接将整个SDK资本文件挈进项目里,如下图:

ShareSDK iOS SDK 集成指南

而且勾选以下3个选项

ShareSDK iOS SDK 集成指南

在点击Finish,完成导进。

添加依靠库

ShareSDK iOS SDK 集成指南

ShareSDK iOS SDK 集成指南

点击“+”号,并在弹框里输进以下依靠库,停止添加

需要依靠库:

libc++.tbd

libz.tbd

libsqlite3.tbd

社交平台依靠库(根据本身需求添加):

苹果登录依靠库:

AuthenticationServices.framework

Facebook依靠库:

AuthenticationServices.framework

SafariServices.framework

Accelerate.framework

新浪微博

ImageIO.framework

Photos.framework

Instagram

AssetsLibrary.framework

Photos.framework

美拍

AssetsLibrary.framework

Xcode设置装备摆设

(1)在项目标Build Settings中的Other Linker Flags双击添加”-ObjC” ,重视大小写

ShareSDK iOS SDK 集成指南

CocoaPods集成

请参考 Pod集成

设置装备摆设MobTech的appkey和serect

设置装备摆设ShareSDK的AppKey和AppSecret,键别离为 MOBAppKey 和 MOBAppSecret ,值为之前在MobTech官网开发者后台申请的appkey和appSecret(重视: 设置装备摆设之后保留好,设置装备摆设好后看项目标Info选项里有没)

ShareSDK iOS SDK 集成指南

API接口

回传用户隐私受权成果(uploadPrivacyPermissionStatus)

为包管您的App在集成MobSDK之后可以称心工信部相关合规要求,您应确保App安拆初次冷启动且获得用户阅读您《隐私政策》受权之后,挪用Mob提交到的隐私协议回传函数uploadPrivacyPermissionStatus回传隐私协议受权成果。

反之,假设用户不附和您App《隐私政策》受权,则不克不及挪用uploadPrivacyPermissionStatus回传隐私协议受权成果。

相关隐私声明请参考链接合规指南

上传隐私协议受权形态

@param isAgree 能否附和(用户受权后的成果)

@param OnResult 施行回调成果,可为nil (重视营业逻辑不要依靠于那个success成果,定见营业逻辑在挪用那个接口之后来写)

+ (void)uploadPrivacyPermissionStatus:(BOOL)isAgree

onResult:(void (^_Nullable)(BOOL success))handler;

示例代码

挪用位置开发者能够本身指定,只需在利用SDK功用之前挪用即可。

ocswift

#import MOBFoundation/MobSDK+Privacy.h

[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {

导进头文件并停止第三方平台初始化(registPlatforms)

凡是都是启动的时候在 application:didFinishLaunchingWithOptions:中添加初始化办法,也可包管注册在ShareSDK的营业施行之前即可。 那里供给几个主平台的初始化,其他平台能够参考demo里的MOBShareSDKHelper.m文件挪用 点击那里

ShareSDK 平台注册办法

@param importHandler 用于设置各平台注册信息,也可在mob治理后台停止注册

+ (void)registPlatforms:(void(^)(SSDKRegister *platformsRegister))importHandler;

示例代码

ocswift

#import ShareSDK/ShareSDK.h

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {

//QQ

[platformsRegister setupQQWithAppId:@"100371282" appkey:@"aed9b0303e3ed1e27bae87c33761161d" enableUniversalLink:YES universalLink:@""];

//更新到4.3.3或者以上版本,微信初始化需要利用以下初始化

[platformsRegister setupWeChatWithAppId:@"wx617c77c82218ea2c" appSecret:@"c7253e5289986cf4c4c74d1ccc185fb1" universalLink:@"/"];

//新浪

[platformsRegister setupSinaWeiboWithAppkey:@"568898243" appSecret:@"38a4f8204cc784f81f9f0daaf31e02e3" redirectUrl: @"/"];

return YES;

分享(showShareActionSheet)

在项目需要分享的按钮事务里加以下接口:

重视:根据本身的需求挪用接口

弹出菜单分享

* 设置分享参数

* @param text 文本

* @param images 图片聚集,传进参数能够为单张图片信息,也能够为一个NSArray,数组元素能够为UIImage、NSString(图片途径)、NSURL(图片途径)、SSDKImage。如: @""]

* @param url 网页途径/利用途径

* @param title 题目

* @param type 分享类型

- (void)SSDKSetupShareParamsByText:(NSString *)text

images:(id)images

url:(NSURL *)url

title:(NSString *)title

type:(SSDKContentType)type;

展现分享菜单

@param view 要展现菜单的视图, iPad版中此参数做为弹出菜单的参照视图

@param items 菜单项,假设传进nil,则展现已集成的平台列表

@param shareParams 分享内容参数

@param configuration 分享菜单的设置

@param stateChangedHandler 分享形态变动事务

@return 分享菜单掌握器

+ (id)showShareActionSheet:(UIView *)view

customItems:(NSArray *)items

shareParams:(NSMutableDictionary *)shareParams

sheetConfiguration:(SSUIShareSheetConfiguration *)configuration

onStateChanged:(SSUIShareStateChangedHandler)stateChangedHandler;

示例代码

ocswift

#import ShareSDK/ShareSDK.h

#import ShareSDKUI/ShareSDK+SSUI.h

NSMutableDictionary * params = [NSMutableDictionary dictionary];

[params SSDKSetupShareParamsByText:@"test"

images:@""

url:[NSURL URLWithString:@"/"]

title:@"title"

type:SSDKContentTypeAuto];

[ShareSDK showShareActionSheet:nil //(第一个参数要展现菜单的视图, iPad版中此参数做为弹出菜单的参照视图,在ipad中要想弹出我们的分享菜单,那个参数必需要传值,能够传本身分享按钮的对象,或者能够创建一个小的view对象往传,传值与否不影响iphone展现)

customItems:nil

shareParams:params

sheetConfiguration:nil

onStateChanged:^(SSDKResponseState state, SSDKPlatformType platformType,NSDictionary *userData,SSDKContentEntity *contentEntity,NSError *error,BOOL end)

switch (state) {

case SSDKResponseStateSuccess:

NSLog(@"胜利");//胜利

break;

case SSDKResponseStateFail:

NSLog(@"--%@",error.description);//失败

break;

case SSDKResponseStateCancel:

break;

default:

break;

间接分享

分享内容

@param platformType 平台类型

@param parameters 分享参数

@param stateChangedHandler 形态变动回调处置

@return 会话

+ (SSDKSession *)share:(SSDKPlatformType)platformType

parameters:(NSMutableDictionary *)parameters

onStateChanged:(SSDKShareStateChangedHandler)stateChangedHandler;

示例代码

ocswift

#import ShareSDK/ShareSDK.h

NSMutableDictionary *params = [NSMutableDictionary dictionary];

[params SSDKSetupShareParamsByText:@"test"

images:[UIImage imageNamed:@"shareImg.png"]

url:[NSURL URLWithString:@"/"]

title:@"title"

type:SSDKContentTypeAuto];

[ShareSDK share:SSDKPlatformTypeWechat

parameters:params

onStateChanged:^(SSDKResponseState state, NSDictionary *userData,

SSDKContentEntity *contentEntity, NSError *error) {

switch (state) {

case SSDKResponseStateSuccess:

NSLog(@"胜利");//胜利

break;

case SSDKResponseStateFail:

NSLog(@"--%@",error.description);

//失败

break;

case SSDKResponseStateCancel:

//取缔

break;

default:

break;

登录(authorize)

每次城市向第三方平台恳求受权

受权

@param platformType 平台类型

@param settings 受权设置,承受scopes属性设置,如新浪微博存眷官方微博:@{@"scopes" : @[@"follow_app_official_microblog"]},类似“follow_app_official_microblog”那些字段是各个社交平台供给的。QQ平台如设置二维码受权,添加字段为QQAuthType:@{@"QQAuthType":@1}, 0为网页账号密码登录受权

@param stateChangedHandler 受权形态变动回调处置

@return 会话id

+ (SSDKSession *)authorize:(SSDKPlatformType)platformType

settings:(NSDictionary *)settings

onStateChanged:(SSDKAuthorizeStateChangedHandler)stateChangedHandler;

示例代码

ocswift

#import ShareSDK/ShareSDK.h

[ShareSDK authorize:SSDKPlatformTypeWechat

settings:nil

onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {

switch (state) {

case SSDKResponseStateSuccess:

NSLog(@"%@",[user.credential rawData]);

break;

case SSDKResponseStateFail:

NSLog(@"--%@",error.description);

//失败

break;

case SSDKResponseStateCancel:

//用户取缔受权

break;

default:

break;

第三方平台的相关设置装备摆设

设置装备摆设URL Scheme

翻开项目标Info选项,然后抉择URL Types,添加对应平台的URL Scheme设置装备摆设,如下图:

ShareSDK iOS SDK 集成指南

以下是次要平台URL Scheme设置装备摆设参考,需要看其他的平台请参考全平台设置装备摆设阐明

平台设置装备摆设URL Scheme 格局举例备注新浪微博wb+微博初始化的appKey如AppKey:568898243 最初设置装备摆设:wb568898243QQ/Qzonetencent+appID ,QQ+APPID的十六进造如appID:100371282 最初设置装备摆设:tencent100371282,QQ05FB8B52 重视appid十进造转十六进造,能够在[那里] 转换,假设appId转换的16进造数不敷8位则在前面补0,如转换的是:5FB8B52,则最末填进为:QQ05FB8B52 重视:转换后的字母要大写微信微信的appid如appID:wx617c77c82218ea2c,最初设置装备摆设:wx617c77c82218ea2cFacebookfb+在facebook注册得到的ApiKey如ApiKey:107704292745179 最初设置装备摆设:fb107704292745179Twittertwitterkit-在twitter注册得到的ConsumerKey如ConsumerKey:viOnkeLpHBKs6KXV7MPpeGyzE 最初设置装备摆设:twitterkit-viOnkeLpHBKs6KXV7MPpeGyzE

设置装备摆设白名单

1.在项目标info.plist中添加LSApplicationQueriesSchemes,类型为Array

2.然后给它添加一个需要撑持的项目,类型为字符串类型:

ShareSDK iOS SDK 集成指南

以下是次要平台白名单设置装备摆设参考,需要看其他的平台请参考 白名单全平台设置装备摆设阐明

平台名称OpenURL白名单阐明新浪微博sinaweibosinaweibohdsinaweibossosinaweibohdssoweibosdkweibosdk2.5weibosdk3.3微信wechatweixinweixinULAPIQQm电话OpensdkSSoLoginm电话opensdkapiV2m电话opensdkapiV3wtloginm电话2m电话m电话apitimapim电话opensdkminiappm电话opensdknopasteboardm电话opensdkapiV4QZONEmqzoneopensdkmqzoneopensdkapimqzoneopensdkapi19mqzoneopensdkapiV2m电话OpensdkSSoLoginm电话opensdkapiV2m电话opensdkapiV3wtloginm电话2m电话apim电话wpamqzonem电话m电话opensdkapiV4[注:若同时利用QQ和QZONE,则间接添加本格即可]Facebookfbauth2fbauthfbapi20130214fbapifbshareextensionfbapi20160328fbapi20150629Twittertwitterauth

设置装备摆设ATS

微博平台还需要加上ATS设置装备摆设:

1.在项目标info.plist中添加 App Transport Security Settings,类型为字典类型

2.给它添加一个Key:Allow Arbitrary Loads,类型为Boolean类型,值为YES;

ShareSDK iOS SDK 集成指南

Twitter 添加V2接口设置装备摆设

twitter 需要在infoplist加进V2设置装备摆设,设置装备摆设MOBTwitterVer

ShareSDK iOS SDK 集成指南

设置装备摆设Universal Link

新浪微博,微信,QQ,Line特殊设置装备摆设

新浪微博,微信,QQ,line平台在iOS13上需要校验Universal Link,之前在微信,QQ,新浪微博,line上注册利用需要在设置装备摆设上Universal Link,别的项目里也要设置装备摆设上,能够根据我们后台生成的Universal Link往设置装备摆设:

ShareSDK iOS SDK 集成指南

重视: Team id,Bundle id那些必需要填写的和本身项目里利用的证书的Team id和Bundle id一致,QQ AppID是填写电话初始化的appid,假设需要QQ平台,那么需要填写上,把信息都填写之后保留了才能够利用我们生成的Univesal link

在项目里设置装备摆设,如下图:

ShareSDK iOS SDK 集成指南

点击Capability,抉择Associated Domains,并双击添加,如下图:

ShareSDK iOS SDK 集成指南

填写上Universal Link设置装备摆设,填写的格局是applinks:xxxx

ShareSDK iOS SDK 集成指南

至此根本的集成流程完成了,能够测试看效果啦!

重视:那个Universal Link也能够本身生成,能够参考那个 苹果官方文档,但是为了便利用户,节约用户的时间和精神,定见间接拷贝我们生成的设置装备摆设。

字典 下载
JeecgBoot 3.5.0 版本发布,开源的企业级低代码平台 不晓得往哪学 Power BI?那5个进修网站收躲好!
相关内容
发表评论

游客 回复需填写必要信息