【问题标题】:When is Game Center Welcome Back banner firing?Game Center Welcome Back 横幅何时触发?
【发布时间】:2016-02-13 17:44:07
【问题描述】:

我的 iOS 游戏正在使用 Game Center。

我正在通过以下代码进行身份验证:

GKLocalPlayer* localPlayer = [GKLocalPlayer localPlayer];

localPlayer.authenticateHandler = ^(UIViewController* viewController, NSError* error) {
    if (viewController != nil) { [self.window.rootViewController presentViewController:viewController animated:YES completion:nil]; }
    else {            
        if ([GKLocalPlayer localPlayer].authenticated) {
            // code for Game Center enabled
            [[GKLocalPlayer localPlayer] loadDefaultLeaderboardIdentifierWithCompletionHandler:getLeaderboardIdentifier]; }
        else {
            // code for Game Center disabled
        }
    } // viewController was nil
}; // localPlayer.authenticateHandler

一切正常,但是当游戏在后台运行一段时间并重新启动时,即使我没有调用之前的代码,也会显示烦人的“欢迎回来横幅”,因为我已经检查过([GKLocalPlayer localPlayer].authenticated == YES)...

有没有办法知道这个横幅是否会出现,我可以在 applicationWillEnterForeground 中使用?

更糟糕的是,是否存在触发它的已知背景延迟?

在这种情况下,我会稍微延迟恢复游戏以获得更好的用户体验...

【问题讨论】:

    标签: ios game-center


    【解决方案1】:

    由于似乎没有办法提前确定当 localPlayer 已经通过身份验证时是否会显示“欢迎回来”横幅,所以我现在将坚持使用后台延迟技巧。

    我做了一个二分法测试,玩游戏,让App在后台,延迟D后返回App。

    如果 D

    在我的例子中,如果 D >= 8 分钟时 applicationWillEnterForeground,我禁用恢复游戏按钮 2.5 秒。大多数情况下,“欢迎回来”横幅会在此期间出现,并且不会在艰难的游戏重新开始时打扰用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      相关资源
      最近更新 更多