iOS
गेमकेंटर लीडरबोर्ड
खोज…
गेमकेंटर लीडरबोर्ड
आवश्यक शर्तें:
- Apple डेवलपर्स खाता
- ITunesConnect के साथ सेटअप गेमकेटर लीडरबोर्ड
GameCenter लीडरबोर्ड की स्थापना:
- ITunesConnect में साइन इन करें
- माय एप्स पर जाएं। अपने प्रोजेक्ट के लिए एक ऐप बनाएं फिर सुविधाएँ पर जाएँ ।
- गेम सेंटर पर क्लिक करें
- लीडरबोर्ड के बगल में प्लस चिह्न पर क्लिक करें।
- लीडरबोर्ड प्रकारों के लिए एकल लीडरबोर्ड चुनें।
- अपने संदर्भ के लिए एक लीडरबोर्ड संदर्भ नाम बनाएँ।
- स्कोरिंग रिपोर्ट करते समय संदर्भित करने के लिए अपने ऐप के लिए लीडरबोर्ड आईडी बनाएं।
- इंटेगर को स्कोर प्रारूप सेट करें
- स्कोर सबमिशन बेस्ट स्कोर होगा
- भाषा जोड़ें पर क्लिक करें और प्रविष्टियाँ भरें।
अपने LeaderboardID
प्रतिलिपि बनाएँ जो आपने बनाया था और एक्सकोड को सिर देता है।
Xcode के साथ काम करना
4 कार्य हैं, जिनके साथ हम काम करेंगे।
ढांचे को आयात करना और प्रोटोकॉल स्थापित करना
यह जाँच कर रहा है कि क्या उपयोगकर्ता GameCenter में साइन इन है
GameCenter के स्कोर की रिपोर्ट करना
लीडरबोर्ड देखना
आयात GameKit
import GameKit
प्रोटोकॉलGKGameCenterControllerDelegate
अब हम यह जांचना चाहते हैं कि क्या उपयोगकर्ता GameCenter में साइन इन है
func authenticateLocalPlayer() {
let localPlayer = GKLocalPlayer.localPlayer()
localPlayer.authenticateHandler = { (viewController, error) -> Void in
if viewController != nil {
//If the user is not signed in to GameCenter, we make them sign in
let vc:UIViewController = self.view!.window!.rootViewController!
vc.presentViewController(viewController!, animated: true, completion: nil)
} else {
//Do something here if you want
}
}
}
- अब उपयोगकर्ता ऐप का उपयोग कर रहा है और अचानक उपयोगकर्ता के पास एक नया उच्च स्कोर है, हम नीचे फ़ंक्शन को कॉल करके उच्च स्कोर की रिपोर्ट करते हैं।
नीचे दिए गए फ़ंक्शन 2 मापदंडों को पूरा करता है।
Identifier
जो एक स्ट्रिंग के रूप में परिभाषित किया गया है और आपके लीडरबोर्ड में दर्ज करने के लिए उपयोग किया जाता है जो आपने iTunesConnect में बनाया था।
score
जिसे एक Int के रूप में परिभाषित किया गया है जो कि iTunesConnect को सबमिट करने के लिए उपयोगकर्ता स्कोर होगा
func saveHighScore(identifier:String, score:Int) {
if GKLocalPlayer.localPlayer().authenticated {
let scoreReporter = GKScore(leaderboardIdentifier: identifier)
scoreReporter.value = Int64(score)
let scoreArray:[GKScore] = [scoreReporter]
GKScore.reportScores(scoreArray, withCompletionHandler: {
error -> Void in
if error != nil {
print("Error")
} else {
}
})
}
}
- अब यदि उपयोगकर्ता लीडरबोर्ड देखना चाहता है, तो नीचे दिए गए फ़ंक्शन को कॉल करें
//This function will show GameCenter leaderboards and Achievements if you call this function.
func showGameCenter() {
let gameCenterViewController = GKGameCenterViewController()
gameCenterViewController.gameCenterDelegate = self
let vc:UIViewController = self.view!.window!.rootViewController!
vc.presentViewController(gameCenterViewController, animated: true, completion:nil)
}
//This function closes gameCenter after showing.
func gameCenterViewControllerDidFinish(gameCenterViewController: GKGameCenterViewController) {
gameCenterViewController.dismissViewControllerAnimated(true, completion: nil)
self.gameCenterAchievements.removeAll()
}