खोज…


गेमकेंटर लीडरबोर्ड

आवश्यक शर्तें:

  1. Apple डेवलपर्स खाता
  2. ITunesConnect के साथ सेटअप गेमकेटर लीडरबोर्ड

GameCenter लीडरबोर्ड की स्थापना:

  1. ITunesConnect में साइन इन करें
  2. माय एप्स पर जाएं। अपने प्रोजेक्ट के लिए एक ऐप बनाएं फिर सुविधाएँ पर जाएँ
  3. गेम सेंटर पर क्लिक करें
  4. लीडरबोर्ड के बगल में प्लस चिह्न पर क्लिक करें।
  5. लीडरबोर्ड प्रकारों के लिए एकल लीडरबोर्ड चुनें।
  6. अपने संदर्भ के लिए एक लीडरबोर्ड संदर्भ नाम बनाएँ।
  7. स्कोरिंग रिपोर्ट करते समय संदर्भित करने के लिए अपने ऐप के लिए लीडरबोर्ड आईडी बनाएं।
  8. इंटेगर को स्कोर प्रारूप सेट करें
  9. स्कोर सबमिशन बेस्ट स्कोर होगा
  10. भाषा जोड़ें पर क्लिक करें और प्रविष्टियाँ भरें।

अपने LeaderboardID प्रतिलिपि बनाएँ जो आपने बनाया था और एक्सकोड को सिर देता है।

Xcode के साथ काम करना

4 कार्य हैं, जिनके साथ हम काम करेंगे।

  1. ढांचे को आयात करना और प्रोटोकॉल स्थापित करना

  2. यह जाँच कर रहा है कि क्या उपयोगकर्ता GameCenter में साइन इन है

  3. GameCenter के स्कोर की रिपोर्ट करना

  4. लीडरबोर्ड देखना

  5. आयात GameKit import GameKit प्रोटोकॉल GKGameCenterControllerDelegate

  6. अब हम यह जांचना चाहते हैं कि क्या उपयोगकर्ता 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
            }
        }
    }
  1. अब उपयोगकर्ता ऐप का उपयोग कर रहा है और अचानक उपयोगकर्ता के पास एक नया उच्च स्कोर है, हम नीचे फ़ंक्शन को कॉल करके उच्च स्कोर की रिपोर्ट करते हैं।

नीचे दिए गए फ़ंक्शन 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 {
                    
                    
                }
            })
        }
    }
  1. अब यदि उपयोगकर्ता लीडरबोर्ड देखना चाहता है, तो नीचे दिए गए फ़ंक्शन को कॉल करें
//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()
        
    }


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow