1. 程式人生 > >Unity 接入 ShareSDK 的微信分享

Unity 接入 ShareSDK 的微信分享

接入ShareSDK,可以在遊戲中非常方便的進行分享。下面簡單的描述接入的過程。首先就是到官網上去下載最新的ShareSDK的Unity壓縮包,然後解壓。檔案中包含了一個DEMO,把Unity3dDemo/Assets/Plugins目錄拷貝到您的專案的Assets目錄中。

開啟Plugins目錄,將ShareSDK.cs指令碼檔案拖動到Main Camera物件中進行指令碼掛接。

注意:如果ShareSDK.cs並非掛載在Main Camera物件或者Main Camera物件修改為其他名字時,需要呼叫ShareSDK. setCallbackObjectName設定回撥物件名稱。否則會導致需要回調的介面無法正常回調,設定程式碼如下:

ShareSDK.setCallbackObjectName("Main Camera");
ShareSDK.open ("api20");

申請微信開發應用
1.註冊賬號
2.填寫移動應用
3.等待稽核

初始化ShareSDK,設定配置

//WeChat
Hashtable wcConf = new Hashtable();
wcConf.Add ("app_id", "wx13***********c");
ShareSDK.setPlatformConfig (PlatformType.WeChatTimeline, wcConf);

填入申請通過的app_id

發起分享時,填充好內容並通過ShareSDK發出

public void ShowShareViewWechat()
{

Hashtable content = new Hashtable();
content["content"] = "分享的內容";
content["image"] = "分享圖片";
content["title"] = "分享標題";
content["type"] = System.Convert.ToString((int)ContentType.News);
content["url"] = "分享地址";
content["siteUrl"] = "分享網址";
content["site"] = "分享網站";

ShareResultEvent evt = new ShareResultEvent(ShareResultHandler);

ShareSDK.shareContent(PlatformType.WeChatTimeline, content, evt);
}

ShareResultHandler是分享的回撥,在回撥中處理分享成功與失敗的情況

void ShareResultHandler (ResponseState state, PlatformType type, Hashtable shareInfo, Hashtable error, bool end)
{
	if (state == ResponseState.Success)
	{
		// 分享成功
	}
	else if (state == ResponseState.Fail)
	{
		// 分享失敗
	}
	else if (state == ResponseState.Cancel) 
	{
		// 分享取消
	}else{
	}
}

Unity的設定就完成了,下面就可以匯出工程,然後Xcode開啟,還需要新增一些檔案和依賴庫

unity_share_screenshot

把下載的ShareSDK資料夾新增到工程目錄下,注意,還得在工程的Info下增加Scheme,如圖所示

share_unity_screenshot02

把app_id填入URL Schemes裡,這樣,Xcode的配置也完成了,編譯通過後,就可以進行分享了, good luck!