> >

ShareSDK Android for ANE

为了方便Flash Air的开发者集成ShareSDK,我们提供了ANE的桥接SDK。下文简要介绍桥接SDK的使用步骤:

1、 集成步骤

1.1、 下载ShareSDK的ANE组件

到Github上Clone我们ShareSDK for ANE的开源项目

1.2、 导入ANE组件

打开Flash Builder。右键点击要集成SDK的项目,选择“属性”。在弹出的窗口里面选择“ActionScript构建路径“ -> “本机扩展”。点击添加ANE,然后选择ANESample目录/package/ShareSDK_Android.ane。(注意:如果没有ane的文件,可以通过ane快速集成指南#.E8.87.AA.E5.AE.9A.E4.B9.89ShareSDK来利用脚本生成ane文件)如图:

700px-ane_doc_001

然后选择“ActionScript构建打包” -> “Apple iOS“。在弹出对话框中选择“本机扩展”。把添加的ANE打上勾(不发布iOS版本可以略过此步骤),如图:

700px-ane_doc_002

然后选择“Google Android”。在弹出对话框中选择“本机扩展”。把添加的ANE打上勾(不发布Android版本可以略过此步骤),如图:

ane1

复制ShareSDK.xml(Andorid版本需要配置)

复制“Android/ShareSDKForANE/assets/ShareSDK.xml”到您Flash Air项目的src目录。打开您项目的属性窗口,进入“Flex构建打包—Google Android”页面,选择右侧的“包内容”,勾选“ShareSDK.xml”;

此时,您的项目已经集成ShareSDK,下面介绍接口的调用。

2、代码配置

 

2.1、 初始化ShareSDK

 

在ShareSDK的任何操作前都需要初始化SDK。包括:

1、调用“ShareSDKExtension.open”方法启动SDK
2、调用“ShareSDKExtension.setPlatformConfig”方法配置社交平台应用信息(Android平台使用ShareSDK.xml配置应用信息的,可略过此操作)
3、调用“ShareSDKExtension.setPlatformActionListener”方法设置操作回调。

下面是示例代码:(初始化其他的平台,里面的参数可以参照这里

var ssdk:ShareSDKExtension = new ShareSDKExtension();

// android平台使用sharesdk.xml文件配置的话,可无须设置appkey
ssdk.open("androidv1101", true);

// android平台使用sharesdk.xml文件配置的话,无需此方法
var conf:Object = new Object();
conf.AppKey = "568898243";
conf.AppSecret = "38a4f8204cc784f81f9f0daaf31e02e3";
conf.RedirectUrl = "http://www.sharesdk.cn";
ssdk.setPlatformConfig(PlatformID.SinaWeibo, conf);

// 设置操作回调方法
ssdk.setPlatformActionListener(onComplete, onError, onCancel);

回调方法onComplete,onError,onCancel是Function类型,其实先分别如下:

// 操作成功的回调
public function onComplete(platform:int, action:int, res:Object):void {
        var json:String = (res == null ? "" : JSON.stringify(res));
        var message:String = " Platform=" + platform + ", action=" + action + "\nres=" + json;
        ssdk.toast(message);
}

// 操作取消的回调
public function onCancel(platform:int, action:int):void {
        var message:String = " Platform=" + platform + ", action=" + action;
        ssdk.toast(message);
}

// 操作失败的回调
public function onError(platform:int, action:int, err:Object):void {
        var json:String = (err == null ? "" : JSON.stringify(err));
        var message:String = " Platform=" + platform + ", action=" + action + "\nres=" + json;
        ssdk.toast(message);
}

2.2、授权

 

初始化SDK后,可调用类似下面的代码执行授权:

ssdk.authorize(PlatformID.SinaWeibo);

授权结果会通过上述操作回调返回。

2.3、获取用户信息

可调用类似下面的代码获取用户信息:

ssdk.getUserInfo(PlatformID.DouBan);

2.4、分享

可调用类似下面的代码完成直接分享:

var shareParams:Object = new Object();
shareParams.title = "ShareSDK for ANE发布";
shareParams.titleUrl = "http://sharesdk.cn";
shareParams.text = "好耶~好高兴啊~";
shareParams.imageUrl = "http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg";
shareParams.site = "ShareSDK";
shareParams.siteUrl = "http://sharesdk.cn";
shareParams.type = shareType.SHARE.WEBPAGE

ssdk.shareContent(PlatformID.QZone, shareParams);

上诉接口分享时不会有ShareSDK的GUI,如果您希望使用ShareSDK的GUI,可以使用类似于下面的接口:

ssdk.setPlatformActionListener(onComplete, onError, onCancel);
var shareParams:Object = new Object();
shareParams.title = "ShareSDK for ANE发布";
shareParams.titleUrl = "http://sharesdk.cn";
shareParams.text = "好耶~好高兴啊~";
shareParams.imageUrl = "http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg";
shareParams.site = "ShareSDK";
shareParams.siteUrl = "http://sharesdk.cn";
shareParams.type = shareType.SHARE.WEBPAGE

ssdk.showShareMenu(null, shareParams);

3、自定义ShareSDK

ShareSDK.ane集成了ShareSDK的所有代码,因此如果您打算去除不需要的平台和资源,您可以在其基础上完成自定义。(如果没有ane的文件,你也可以根据以下的ios部分利用脚本生成一个ane文件)具体操作如下:

3.1、Android部分

1、将“ShareSDKExtension”和“Android/ShareSDKForANE”导入到Flash Builder中

2、参考Android快速集成文档,根据您的项目需求修改ShareSDKForANE项目的代码

3、根据ShareSDKForANE项目的修改,适配ShareSDKExtension

4、复制ShareSDKForANE项目的libs目录下(除“FlashRuntimeExtensions.jar”外)的jar到一个临时目录下,它们解压

5、将ShareSDKForANE项目的src导出为“ShareSDKANE.jar”,用解压工具打开此jar,复制上述临时目录下的文件到它里面

6、复制ShareSDKANE.jar到“package/Android-ARM”中替换原来的jar

7、复制“ShareSDKExtension/bin”下的“ShareSDKExtension.swc”到“package”下,然后复制此文件多一个备份,重命名为“ShareSDKExtension.zip”,解压,并复制解压出来的文件到“package/Android-ARM”中替换同名文件

8、双击执行“package/ane_build_android_only.bat”,产生新的“ShareSDK_Android.ane”

完成上述步骤以后,参考本文开头的集成步骤,重新集成ShareSDK即可。