Unity之ShareSDK分享之安卓

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35669619/article/details/72400187

第一步:先去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 initialization
	void Start () {
		//给变量赋值
        ssdk = gameObject.GetComponent<ShareSDK> ();
		//赋值分享回调函数
        ssdk.shareHandler = OnShareResultHandler;
	}
	
	// Update is called once per frame
	void 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。

展开阅读全文

没有更多推荐了,返回首页