Unity 接入 ShareSDK 的微信分享
阿新 • • 發佈:2019-01-07
接入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開啟,還需要新增一些檔案和依賴庫
把下載的ShareSDK資料夾新增到工程目錄下,注意,還得在工程的Info下增加Scheme,如圖所示
把app_id填入URL Schemes裡,這樣,Xcode的配置也完成了,編譯通過後,就可以進行分享了, good luck!