最近公司的大廳要重做,我協助主程一起制作新大廳和新框架,前面制作的編輯器也派上了用場。等全部功能做完后我會再寫一個復盤,這兩天主程在忙於寫熱更新的功能,所以把接入分享SDK功能的任務交給了我,ShareSDK官網的文檔比較分散,而且關於Unity的文檔比較簡略,所以還是有不少的坑。寫篇博客分享一下,並加強理解記憶。
第一步,先去ShareSDK的官網下載最新版本的ShareSDK(完全免費)。地址:http://www.mob.com/
我們選擇ShareSDK For Unity3D,頁面會直接跳轉到GitHub,把最新版本的壓縮包下載回來。
解壓后會得到這個目錄,使用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/
我們直接把ShareSDK For U3D導進項目
首先我們要在官網注冊一個賬號,然后點擊進入后台,創建一個新工程,再添加產品-選擇ShareSDK。
這樣我們就有了一個AppKey和一個AppSecret,把他們輸入你Unity中掛載在物體上的ShareSDK腳本上
這時候我們會發現DevInfo下面會有很多的平台,我們進入ShareSDKDevInfo,把你不需要的平台注釋掉或者刪掉
以前的版本在這里注釋掉,游戲中呼出菜單就不會再出現這些平台了,但是現在還需要再做一步,這個留到下文會講到。
有些平台下面會有一個叫做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用還不好說,但是大致的流程都有了,也就是踩一踩坑的事了,有不懂的地方大家可以互相交流