[英]Does method report(_:withCompletionHandler:) send score even if your internet connection was lost?
我有一個關於GKScore的問題。 有一個名為report(_:withCompletionHandler:)的方法。 如果您失去 Internet 連接會發生什么。 我需要保存我的分數並稍后提交嗎? 或者方法本身解決了它。 不是在后台自動發送嗎? 提前致謝
來自 Apple 的 Game Center 編程文檔:
您的游戲應創建分數 object 並在獲得分數后立即將分數報告給 Game Center。 這樣可以准確設置日期和時間,並確保正確報告分數。 如果由於某種原因由於網絡錯誤而無法報告分數,Game Kit 會在網絡可用時自動重新發送數據。
所以你不必做任何事情。 參考文檔在這里。
喲可以試試它把飛機模式。
但是,如果您嘗試在沒有 Internet 的情況下調用此方法,則會返回錯誤。
您可以使用可達性獲取互聯網連接狀態。 如果您使用Alamofire ,它集成了一個非常好的可達性系統。
如果您的游戲需要互聯網才能玩,您可以使用以下方法阻止您的主屏幕:
import Alamofire
extension NetworkReachabilityManager {
static var isConnectedToInternet: Bool {
return NetworkReachabilityManager().isReachable
}
}
否則,您可以保存您的請求以在有互聯網時發送。 NetworkReachabilityManager 將在啟用和禁用 Internet 時向您發送通知。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.