码迷,mamicode.com
首页 > 移动开发 > 详细

【转载】Unity3D研究院之IOS&Andoird使用Sharesdk遇到的坑

时间:2014-10-28 00:34:10      阅读:2446      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   io   os   ar   使用   for   

这两天研究了一下ShareSDK,说实话挺好用的,但是还是有点坑的地方。那么雨松MOMO写下博文记录一下来我遇到的坑,嘿嘿。

大部分内容它的文档上已经说的很清楚了。

http://wiki.sharesdk.cn/Unity3D%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97

这里我直说文档上没说的部分。

分享图片的时候 它的例子写的是 网络图片。

content["image"] = “http://img.baidu.com/img/image/zhenrenmeinv0207.jpg”;

但是实际游戏里一般的需求是 分享一张本地图片,或者分享一张截屏后的图片。

先说我遇到的坑,我把图片放在 StreamingAssets文件夹下面,写入下面的代码。

content["image"] = Application.streamingAssetsPath+”/Share.png”;

打包在IOS上,分享微博,微信朋友圈都没问题。但是我在切换到android平台,这样的方法死活就会报错。理论上StreamingAssets 是一个应用程序只读的文件夹,技术上完全可以做到的,不知道为什么sharesdk做不到。后来我咨询了一个他们的技术。他给我的答案是:

bubuko.com,布布扣

既然原因知道了,那么就好办了,我需要在分享前把u3d里的图片拷贝到sdcard卡里面。

在Resources文件夹下放一个图片记住一定要PNG,在U3D里面把图片的格式修改成RGBA。 

 这样在分享图片的时候 

 这里再说一下,如果你想分享的是一张截屏图片,路径这样来写。 

  为了让安卓和iPhone的通用性,所以我只能把Resources一张需要分享的图片拷贝到Application.persistentDataPath 路径下面。

 如下图所示, 微博 朋友圈都分享成功了,朋友圈的图我就不截了。

bubuko.com,布布扣

下面上完整代码  另外 appid和 appkey我都用了sharesdk自带的,最好自己申请一下。

 

 

 最后我在上u3d工程的包 ,已经在IOS和Android上测试通过。

http://vdisk.weibo.com/s/qDm4IY-bo7eu

 6月6日补充 

这个例子前段时间做完了,因为我策划还没有确定完需求,所以一直没再项目上加这个东西。 今天加到我游戏里面才发现,真的是问题多多呀。。

主要是微信,安卓到没什么问题。

你必须要在ShareSDK上注册一个号 http://sharesdk.cn/ 然后创建你的游戏,分成安卓和IOS。

 xxxxxx就是你申请的ID,如果你不申请ID的话就只能用它的默认ID,即时你配了你自己申请的微信的APPID 那么还是会报错 :warning: 尚未配置微信URL Scheme:wx4868b35061f87885, 无法进行分享。 所以一定要在ShareSdk的官网上注册你自己的游戏。

还有就是我用微信分享,无论我点击分享或者点击取消分享。ShardSdk永远都给我返回一个 Cancel的状态,那么我就没办法获取用户是否分享成功的事件。。 我咨询了一下它们的客服。。他告诉我:

 

这样问题就来了,因为 AppController.mm文件 是Unity自动生成的,我不能随意修改因为他会打断我写的自动化批量打包工具。。

建议大家使用XUPorter 这样的话可以打完包以后自己用代码上面的代码写在AppController.mm里面。

【转载】Unity3D研究院之IOS&Andoird使用Sharesdk遇到的坑

标签:android   style   blog   http   io   os   ar   使用   for   

原文地址:http://www.cnblogs.com/MrZivChu/p/sharesdk.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!