科目,sharesdk分享实践
内容,使用sharesdk对unity3d中的Android应用进行分享
目的,学会分享到微信、微博、qq的使用方法
好了,不写废话了。今年写了几个单机的小游戏,然后总觉得缺少社会化属性。于是想加上分享、微信登录、排名等功能,然后看到网上sharesdk已经将大部分的分享应用,包括Android系统内的蓝牙、短信都集成好了,那就用现成的吧。
个人实践的过程。
一、网上下载shareSdk,并导入到UNity3d
下载就不多说了,地址在此,http://www.mob.com/downloads/
也可以百度一下,不难找到。
值得一提的是,要选择sharesdk for unity3d
clone or download
这个要下载好大一个包,一百多兆,其实用到的只是它当中的代码 和重写的接口函数,也就一兆多。
下载好,解压缩,可以将Unity3D-ShareSDK\Assets当中的Plugins文件夹拷贝到你的工程当中,也可以直接导入ShareSDKForU3D.unitypackage这个包。
但是导入和拷贝之前,要确保你的文件夹中没有plugins文件夹,否则会覆盖的哟!
二、挂接shareSDk,设置参数
自己可以先建一个测试场景,弄好之后再移植到自己正在做的工程中。
我把shareSDK挂载到了main camera上(在add component中搜索sharesdk就能找到并挂上),然后两个主要参数app id和APP secret,这个需要在sharesdk网站申请账号,添加应用,然后就有一个id和secret了,其实就是一个id号,帮助网站统计你用他们的sdk分享了多上次,都是谁分享的等等数据。
我直接没改动,因为我不需要回调函数和授权,就是想分享而已。哈哈
下面的一堆参数都是各个分享平台的id和密码,你想呀,人家凭啥让你的应用随便分享呀,你得掏过路费!!
赶紧去想分享的平台申请吧!有的是要收费的哟!!
这里博主我又没有改动,为啥,没钱申请,也不想通过授权分享。
这样的好处是省事,不花钱。坏处是不能正规分享自己的应用了,本来可以有自己应用的链接哟!!建议想做好的话,还是要申请的。
在程序的头上加上
using cn.sharesdk .unity3d ;
在start()上边,即程序一开始就声明一个 sharesdk
public shareSdk ssdk;
然后在start()中指向自己挂的sharesdk。
ssdk = this.GetComponent<ShareSDK> ();
我是挂在main camera上的,程序也是挂在这的,所以是this,不写this也行。你要是挂在其他物体上,就应该是
对应物体
gameobject.GetComponent<ShareSDK> ();
好了,全部填完后,在主界面加一个按钮,指向咱们的分享函数。
分享函数内容如下:
public void share_button(){
ShareContent content_test =new ShareContent ();
content_test.SetTitle ("好玩游戏推荐");
content_test.SetText ("我正在玩《xxxx》,你也来玩吧!");
content_test.SetImageUrl ("");
ssdk.ShowShareContentEditor (PlatformType.WeChatMoments ,content_test );
}
三、填坑。。。。。
做好试一试吧,嗯?怎么没分享?
我上网搜了一下,原来是sdk包里的东西还没改完,在Plugins\Android\ShareSDK中找到AndroidManifest.xml
打开,把 package=改成你的包名就行了,包的名在build seting中能找到、
再用装了微信的手机试一次,是不是可以分享朋友圈了?
当然,你也可以使用platformType下的其他分享方式。包里也自带了各种分享的图标,很好用哟。
你也可以调用 ssdk.showshareplatformlist ( null,content_test,100,100);把一键分享的所有分享方式都调出来,在菜单里选一个分享。至于怎么把菜单里不用的分享去掉,可以参考mobsharesdk的官方技术文档。
好了,分享成功了!当然,这只是不注册的分享,想注册使用还需要回调和授权哟,看技术文档吧!