OasisSDK 1.0.4

OasisSDK 1.0.4

jianchengpan维护。



OasisSDK 1.0.4

  • jianchengpan

OasisSDK

CI Status Version License Platform

OasisSDK 为第三方应用提供了简单易用的绿洲API调用服务,令第三方客户端能通过绿洲官方客户端分享动态。

安装

  • 通过Cocoapods安装
  1. 在Podfile对应的target中,添加pod 'OasisSDK'。
  2. 运行pod install 或者pod update
  3. 引入头文件 #import <OasisSDK/OasisSDK.h>。
  • 手动导入
  1. 下载文件夹 OasisSDK/Classes/frameworks 下的 OasisSDK.framework 文件。
  2. 将 OasisSDK.framework 添加到你的工程中。
  3. 在Build Settings->Other Linker Flags 中添加 -ObjC-all_load
  4. 引入头文件 #import <OasisSDK/OasisSDK.h>。

使用

设置app

  • 为了使绿洲客户端在处理请求后返回你的app,你需要在Scheme列表中添加一个scheme,scheme的格式为 "oasis"+"你的appKey",例如appkey为"123456",则scheme为"oasis123456"。appKey为你在微博开放平台注册app时,为你分配的AppKey。

  • 为了检测绿洲app是否已经安装,你需要在info.plist中添加以下设置:

key>LSApplicationQueriesSchemes</key>
<array>
    <string>oasis</string>
</array>

启动SDK

在使用SDK功能之前,首先需要注册你的app信息,app信息主要由配置类(OasisConfig)进行收集。收集的app信息主要包括appKey(你在微博开发平台注册app时为你分配的AppKey)。


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.

    OasisConfig *config = [OasisConfig configWith:@"你的appID"];
    config.debug = YES;
    [OasisSDK registerAPP:config];    
    return YES;
}

在正式上线之前,可以将OasisConfig的debug属性设置为true,以便在控制台中查看错误信息。

分享动态

发送请求

在分享动态时,首先实例化分享请求(OasisShareRequest),并添加需要分享的信息:

//实例化
OasisShareRequest *req = [OasisShareRequest new];
//设置分享标题(可选)
req.title = @"分享标题";
//设置分享文字内容
req.content = @"分享内容";

//添加媒体信息
OasisImageObject *image = [OasisImageObject new];
image.imagaData = data;
if(![req append:image]){
    //添加媒体失败
}


if(![OasisSDK sendReq:req])
{
    //发送请求失败
}

分享动态时必须提供媒体信息,现在支持的媒体信息有图片和视频两种,一个动态只能包含其中一种媒体信息,并且动态可添加的媒体有数量上限。媒体的数据提供方式有NSData和相册(PHAsset)两种方式,通过data交换数据时,data有大小限制。

添加图片

图片媒体信息由OasisImageObject类表示。


OasisImageObject *image = [OasisImageObject new];

//通过 data交换媒体数据
image.imagaData = data;

//或通过PHAsset 交换数据
//image.asset = asset;

[req append:image]

添加视频

视频媒体信息由OasisVideoObject类表示。


OasisImageObject *image = [OasisVideoObject new];

//通过 data交换媒体数据
video.videoData = data;
video.fileExtension = "mov"; //视频data需要提供正确的文件扩展名

//或通过PHAsset 交换数据
//video.asset = asset;

[req append:image]

处理响应

在绿洲处理完请求过后,会通过注册的scheme("oasis"+appkey)回传数据,你需要在以下方法中处理响应信息


//iOS9以前
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    id<OasisSDKDelegate> delegate = XXXX
    return [OasisSDK handleOpenUrl:url delegate:delegate];
}

//iOS9 以后
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{

    id<OasisSDKDelegate> delegate = XXXX
    return [OasisSDK handleOpenUrl:url delegate:delegate];
}