Unity之ShareSDK分享之安卓

来源:互联网 发布:java考试系统源码下载 编辑:程序博客网 时间:2024/05/29 13:35

第一步:先去mob官网下载对应的shareSDK包。这是是Unity的包。 https://github.com/MobClub/New-Unity-For-ShareSDK    点击clone or download下载,导入New-Unity-For-ShareSDK-master\Unity3D-ShareSDK\Assets下的plugins。此时可能会出现appKey不存在的报错,打开shareSDK脚本,选择安卓或者苹果的appKey中的一个即可。(在18行左右);


第二步:把ShareSDK脚本放到主相机上(一般是永久存在场景的对象上)。修改脚本上appKey的值为你在Mob官网申请的秘钥。然后在Dev Info下关掉你不需要的平台。然后新建一个Share.cs脚本放到主相机上。在工程里新建一个分享按钮,绑定Share.cs脚本里的Capture事件函数。

using System.Collections;using System.Collections.Generic;using UnityEngine;using cn.sharesdk.unity3d;  // 引入cn.sharesdk.unity3d命名空间。public class New : MonoBehaviour {//声明一个变量    public ShareSDK ssdk;// Use this for initializationvoid Start () {//给变量赋值        ssdk = gameObject.GetComponent<ShareSDK> ();//赋值分享回调函数        ssdk.shareHandler = OnShareResultHandler;}// Update is called once per framevoid Update () {}    public void Capture(){ //content为分享的内容,把双引号里改为自己需要分享的即可。        ShareContent content = new ShareContent();        content.SetText("this is a test string.");        content.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");        content.SetTitle("test title");        content.SetTitleUrl("http://www.mob.com");        content.SetSite("Mob-ShareSDK");        content.SetSiteUrl("http://www.mob.com");        content.SetUrl("http://www.mob.com");        content.SetComment("test description");        content.SetMusicUrl("http://mp3.mwap8.com/destdir/Music/2009/20090601/ZuiXuanMinZuFeng20090601119.mp3");        content.SetShareType(ContentType.Image);        //不同平台分享不同内容        ShareContent customizeShareParams = new ShareContent();        customizeShareParams.SetText("Sina share content");        customizeShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");        customizeShareParams.SetShareType(ContentType.Text);        customizeShareParams.SetObjectID("SinaID");        content.SetShareContentCustomize(PlatformType.SinaWeibo, customizeShareParams);        //优先客户端分享        // content.SetEnableClientShare(true);        //使用微博高级接口进行本地图片 文字 应用内分享 17年6月30日后需申请高级接口        // content.SetEnableAdvancedInterfaceShare(true);        //通过分享菜单分享        ssdk.ShowPlatformList (null, content, 100, 100);    }    //以下为回调的定义:      void OnShareResultHandler (int reqID, ResponseState state, PlatformType type, Hashtable result)      {  //      if (state == ResponseState.Success)  //      {  //          text.text= ("share result :");  //          text.text= (MiniJSON.jsonEncode(result));  //      }  //      else if (state == ResponseState.Fail)  //      {  //          text.text =("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]);  //      }  //      else if (state == ResponseState.Cancel)   //      {  //          text.text= ("cancel !");  //      }      }  }

第三步:导出到手机查看效果。

上面只写了一个分享。授权功能和获取用户信息功能等都类似。参考官方文档即可。

http://wiki.mob.com/%E7%AE%80%E6%B4%81%E7%89%88unity3d%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/

-----------------------

出现的问题。放入工程导到手机上会闪退。解决办法:Plugins下的AndroidManifest.xml文件未配置,插件有时会有冲突。需要配置一下。放到<application>下面。也可参考上面的官方解说文档。还有设置读取写入SDCard,在player settting里的other setting里的configuration的write Permission改为External(SDCard)。

<activity            android:name="com.mob.tools.MobUIShell"            android:configChanges="keyboardHidden|orientation|screenSize"            android:theme="@android:style/Theme.Translucent.NoTitleBar"            android:windowSoftInputMode="stateHidden|adjustResize" >
然后又出现有页数,但平台不显示的问题。待解决ing。