最近公司的大廳要重作,我協助主程一塊兒製做新大廳和新框架,前面製做的編輯器也派上了用場。等所有功能作完後我會再寫一個覆盤,這兩天主程在忙於寫熱更新的功能,因此把接入分享SDK功能的任務交給了我,ShareSDK官網的文檔比較分散,並且關於Unity的文檔比較簡略,因此仍是有很多的坑。寫篇博客分享一下,並增強理解記憶。html
第一步,先去ShareSDK的官網下載最新版本的ShareSDK(徹底免費)。地址:http://www.mob.com/android
咱們選擇ShareSDK For Unity3D,頁面會直接跳轉到GitHub,把最新版本的壓縮包下載回來。api
解壓後會獲得這個目錄,使用Unity打開下面的文件夾能夠看到官方的Demo項目。裏面有大體的實現流程微信
初步接入SDK仍是能夠參照官方的文檔,真的很是簡單。文檔地址:http://wiki.mob.com/Unity3D%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/app
咱們直接把ShareSDK For U3D導進項目框架
首先咱們要在官網註冊一個帳號,而後點擊進入後臺,建立一個新工程,再添加產品-選擇ShareSDK。編輯器
這樣咱們就有了一個AppKey和一個AppSecret,把他們輸入你Unity中掛載在物體上的ShareSDK腳本上3d
這時候咱們會發現DevInfo下面會有不少的平臺,咱們進入ShareSDKDevInfo,把你不須要的平臺註釋掉或者刪掉orm
之前的版本在這裏註釋掉,遊戲中呼出菜單就不會再出現這些平臺了,可是如今還須要再作一步,這個留到下文會講到。xml
有些平臺下面會有一個叫作BypassApproval的選項,這是繞過驗證的意思,若是咱們開啓了這個bool那麼就只能分享圖文,功能不全。可是不須要帳號就能夠分享,若是咱們想須要使用分享連接之類的更全面的功能,則須要關閉這個選項,可是這就須要另外一個條件。
那就是除了ShareSDK的帳號,咱們想在哪一個平臺進行分享還要有這個平臺的開發者帳號,以微信平臺爲例,咱們要如今微信開放平臺申請一個帳號
地址:https://open.weixin.qq.com/
註冊完帳號後能夠建立一個移動應用。這裏有一點值得提一下,關於應用簽名,能夠在網上下載一個得到簽名的軟件,把遊戲和這個軟件都裝到手機上而後獲取一下你的遊戲的簽名就能夠了。
https://open.weixin.qq.com/cgi-bin/readtemplate?t=resource/app_download_android_tmpl&lang=zh_CN 在這裏下載須要的獲取簽名軟件
等待微信審覈經過後你的應用會有一個AppID和一個AppSecret。把它填到Unity中ShareSDK腳本中
到了這一步,配置算是完成了一半了。根據官網的文檔咱們能夠用ShareSDK建立實例,而後給它賦值,給它添加回調
ssdk.ShowPlatformList能夠呼出平臺UI面板,讓你選擇平臺,這時候你會發現怎麼註釋掉的平臺仍是全都顯示出來了。不知道這個是否是BUG,可是是有辦法解決的。
這時把項目的包名改爲和微信開放平臺一致後,打出的包應該能夠成功進行分享了,但是你很快就會發現,程序並無走回調,這是爲毛呢?
咱們打開項目目錄下\Plugins\Android\ShareSDK的AndroidManifest.xml配置文件,首先把最頂上的package = 改爲和微信開放平臺還有項目都一致的包名。拉下來咱們會看到一個微信分享回調的配置,在原先的.wxapi.WXEntryActivity前面加上你的包名
這還不算完,由於配置文件裏的包名改變了可是Jar包的Package的名稱並無改,這時候咱們須要去下載一個Eclipse。好在博主懂一些JAVA
Eclipse仍是很好用的,咱們下載回來後使用它打開咱們從GitHub下載過來的ShareSDK壓縮包中的那個Android_Java_Demo文件夾,這是一個官方的安卓的Demo項目,
在Src中找到咱們的wxapi包,右鍵Refactor->Rename,把它改爲咱們項目中的包名.wxapi而後在src上右鍵Export選擇Java裏的JAR file。
點擊Nex在左上角把咱們剛剛重命名過的包打上勾(須要幾個打幾個)把Jar包命名爲DemoCallback.jar
而後咱們進入項目的\Plugins\Android\ShareSDK\libs目錄,用剛剛生成的DemoCallback.jar包替換這裏的老Jar包。前面說的平臺會所有顯示出來的問題,只須要在這個目錄刪掉不須要使用的平臺jar包便可。注意不要刪掉sharesdk core的jar包
這時咱們再打包運行發現能夠正常使用回調了。若是有問題的話檢查一下包名簽名等。簽名的問題咱們能夠打包的時候用Unity建立一個KeyStore設置好密碼,之後生成別的包能夠直接使用。生成keystore能夠參考這裏:http://www.cnblogs.com/heisaijuzhen/p/4346571.html
這時候咱們使用的是ShareSDK自帶的平臺選擇UI,若是想使用本身的UI可使用無UI分享,本身在按鈕上註冊調用分享功能的實現,具體實現步驟沒有太大區別只須要把這裏最後的ShowPlatformList換爲ShowShareContentEditor傳入須要的平臺和設置好的分享內容便可直接跳轉到分享平臺
到這裏也就完畢了,IOS的話我如今沒有MAC用還很差說,可是大體的流程都有了,也就是踩一踩坑的事了,有不懂的地方你們能夠互相交流