ShareSdk官方提供了用于Adobe air的Ane。这点也算是挺友好的。不用自己去开发,而且官方的ANE 也清晰明了。

前面的流程一句话带过,注册-创建项目-获得ID-然后SDK初始化。如果觉得自己去注册各大平台的账号麻烦,也可以直接使用demo提供的平台配置信息。

接下来就是分享这一块

var shareParams:Object = new Object();
shareParams.title = “表情天天猜”;
shareParams.titleUrl = titleUrl;
shareParams.text =”表情天天猜 –||”+ content + ” “+titleUrl;
shareParams.type = ShareType.SHARE_WEBPAGE;
if( _type == ShareTypes.INVATE ) shareParams.imageUrl = imgUrl;
else shareParams.imagePath = imgUrl;
if( platformId == -1 )
{
shareSDK.oneKeyShareContent( platforms,shareParams );
}
else{
shareSDK.shareContent( platformId,shareParams );
}

其实上面这些官方文档时有解释的。然而之前由于没留意,导致中途饶了一些路。分享本地的图片,必须使用 imagePath 而 imageUrl用于分享网络图片。

还有就是图片必须位于sd 卡之中。这个其实必然,毕竟在data中时比较私密的。

air中使用  File.documentsDirectory  或者 File.desktopDirectory 来获取sdk卡的根路径。其他的能够获取到data下面的路径。

所以具体做法是,使用上述两个方法获取到sdk的路径,并创建相应文件夹 然后将程序内生成的图片down入文件夹里面,接着通过对imagePath的赋值 完成本地图片分享,网络图片分享 相应就简单方便很多了

var file:File = File.documentsDirectory.resolvePath(“share.png”);
if( !file.exists ){
var stream:FileStream = new FileStream();
stream.open( file,FileMode.WRITE );
stream.writeBytes( ShareEmojiItem.emojiBytes );
stream.close();
stream = null;
}
imgUrl = file.nativePath;

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Free Web Hosting