Unity - 取得裝置剪貼簿

需求及情境

當遊戲內需要提供玩家複製畫面上的資訊,以供客服回報 或是 社群分享等的所製作的小工項
舉例來說,像是遊戲中常見的玩家ID、,或是聊天頻道內的延伸功能等,都有可能使用到系統剪貼簿的功能

又因為版本迭代的升級風險 及 專案開發期在使用的版本不同
會造成取得系統剪貼簿的做法不同,以下簡單做個紀錄

實作及使用

基本上在2018.4的版本起,可以直接使用官方的API就能支援大多數的作業系統平台
其中包含了常見的兩大行動系統、PC端及大多數的常見發布平台
(如果不懂直接使用是怎樣,可以參考這裡)

GUIUtility.systemCopyBuffer


例外

但如果今天專案的情境礙於公司規模及升級迭代版本所隱含的風險
在實際使用上是2017.4(含)以前的版本

基本上官方的GUIUtility.systemCopyBuffer 就是不支持Android跟iOS這兩大常見的行動裝置的作業系統的
這時候就通常要倚靠將作業系統原生的API包成Plugin方式做使用

這部分目前在Github上已經有對應的專案可供使用:https://github.com/sanukin39/UniClipboard

注意事項

目前實作上基本來說,如果是套用上述的Github專案
在uGUI的原生輸入及顯示操作上並不會出現問題
(*原生操作 想表達的意思是,比如使用InputField獲取玩家輸入,並將輸入的結果顯示於Text元件的流程)

但如果今天有針對各國語系作支援,甚至是追加的自定義實作
就可能會出現亂碼;這部分使用第三方套件在專案內會常有無法輕易偵錯的困擾
是個人比較覺得需要評估的風險。


就降,紀錄完畢。

 


感謝觀看,若你能夠留下一些建議與感想
都會成為我寫文章的動力,感謝!!