Please note: development of Photon TrueSync & Thunder is ceased and we will not publish any further updates. While existings apps are not affected, we recommend to migrate apps that are still in development.

Known Issues

在此頁面上,我們將列出各種平台上的Photon的已知問題。
這裡的重點是我們無法修復或進行變通的問題。
在某些情況下,這意味著我們將簡單地列出每個平台的損壞版本,並指導您使用其他版本。

在後台運行

在行動裝置平台上,如果應用程式移動到後台,它會暫停主訊息迴圈,該迴圈負責保持客戶端連接等。

造成這種情況的典型原因是:

  • 玩家按到「主頁按鈕」。
  • 接到電話。
  • 影片廣告。
  • 在應用程式中引入疊加視圖的第三方外掛程式(例如Facebook、Google等)。

在iOS上,應用程式在後台時無法保持連接(請參閱在Apple開發頁面上的後台執行)。當應用程式切換到後台時,斷開客戶端連接可能是有意義的。

在WebGL上,設定PlayerTTL並在重新聚焦分頁時重新連接到遊戲階段也可能是有意義的。
通常,瀏覽器不會在後台運行JS和WebAssembly。在某些情況下,這可以透過在後台播放音訊(甚至是聽不見的音訊)來實現。

PUN有一個後台回退線程,在可能的情況下保持客戶端與伺服器的連接。

為了保持連接活躍,後台線程只在有限的時間內向伺服器發送ACK。
預設後台線程超時為60秒。 您可以使用PhotonNetwork.KeepAliveInBackground更改它。
後台超時後,PUN將優雅地斷開客戶端連接。
如果客戶端在移動到後台之前加入了一個房間,PUN將嘗試(如果需要)在應用程式再次進入前台時重新連接並重新加入同一房間。

Unity

匯入時無休止的編譯錯誤

某些Unity編輯器版本創建了不正確的.sln和.csproj檔案。這可能是暫時的。您可以透過「偏好」「外部工具」面板中的按鈕重新生成專案。

您可能希望從Unity套件管理器更新或重新安裝Visual Studio編輯器套件。這也可以解決專案創建問題。

有時,由於舊套件卡在本機離線快取中,資產無法從Assset Store正確更新。
要解決此問題,請先在本機移除Photon資產套件,然後嘗試再次下載和匯入。
此處列出了本機Unity資產存儲快取資料夾的路徑

Socket.SetSocketOption中的ArgumentException

存在已知的Unity問題 這導致IL2CPP組建無法連接到「ArgumentException:值不在預期範圍內。
在System.Net.Sockets.Socket.SetSocketOption」。這是在安裝Windows 10 SDK 10.0.19041.0時發生的。

受影響的Unity版本:2018.4.23f1、2019.4.0f1、2020.1.0b11、2020.2.0a13。更多的Unity小版本也受到了影響。
固定版本為:2020.1.1f1及2019.4.5f1及以上版本。推測是,2018.4.27也是固定的。2018.4.23的解決方法如這裡所述

Unity 2018.2插槽凍結,以.Net 4.x

Unity 2018.2使用了Mono版本,可以凍結通過插槽的通信。根據訊息大小和頻率,這遲早會發生。

最終,2019.2對此進行了修復,2018.3也應該在某個時候進行修復。

當使用Mono和.Net 4.x或.Net標準2.0,我們建議使用2018.4.x或2019.4.x版本。

RunInBackground

Unity的Application.runInBackground在行動裝置平台上不受支援。
相反,每當應用程式在後台來回移動時,都會調用OnApplicationPause方法:

C#

void OnApplicationPause( bool pauseStatus )
{
    if (pauseStatus)
    {
        // app moved to background
    } else
    {
        // app is foreground again
    }
}

IOS App Store提交被拒絕

有時,由於連接問題,Apple團隊會拒絕向App Store提交的內容。
我們試圖與Apple公司解決這個問題,現在這種情況很少見,但仍然可能發生。通常,在這些情況下,UDP會被封鎖。
如果UDP未連接,較新的Photon客戶端可以自動回退到使用TCP。
您必須對拒絕提出上訴,如有疑問,必須要求Apple的開發者支援部門接管。他們的設定通常支援UDP。
請參閱此論壇中的討論以獲取幫助

iOS IPv6

雖然Unity 5.x通常應該支援iOS上的IPv6,但某些版本(如5.4)破壞了這一功能。
一些支援的版本是:4.7.2、5.1.5、5.2.5、5.3.4p4、5.4.0p1和更新版本(請參閱Unity部落格文章)。

UWP / Windows Store功能

如果您的目標是Windows Store (UWP),並且在嘗試連接時出現異常或出現此錯誤:

需要網路功能才能存取網路!

確保從Unity的「玩家設定」 -> 「發佈者設定」 -> 「功能 -> 「InternetClient」啟用所需的功能

Required Capability for Windows Store Apps
Windows Store應用程式所需的功能。如果您使用Photon Voice,您還需要「麥克風」功能。

UWP應用程式與其他應用程式隔離,且作為一項功能,無法連接到在同一Windows執行個體上運行的伺服器。
請參閱Microsoft檔案以了解「AppContainer隔離」。

UWP匯出

如果您想將Unity應用程式匯出到UWP,您可以使用.NET或IL2CPP作為指令碼後端。Photon PUN或Photon Realtime Unity SDK已經設置為選擇正確的程式庫,以便從Unity成功匯出應用程式。但是,如果匯出時出現問題,請檢查並確保您為特定的指令碼後端使用了正確的程式庫:

Back to top