Game Center 欢迎回来横幅何时触发?
When is Game Center Welcome Back banner firing?
我的 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
一切正常,但是当游戏在后台运行一段时间并重新启动时,即使我没有调用之前的代码,也会显示烦人的 "welcome back banner",因为我已经检查过( [GKLocalPlayer localPlayer].authenticated == YES)...
有没有办法知道我是否可以在 applicationWillEnterForeground 中使用此横幅?
更糟糕的是,是否存在触发它的已知背景延迟?
在这种情况下,为了更好的用户体验,我会稍微延迟恢复游戏...
由于似乎没有办法提前确定在 localPlayer 已经通过身份验证后是否会显示 "Welcome Back" 横幅,我现在将坚持使用后台延迟技巧。
我通过玩游戏做了二分法测试,把App留在后台,延迟D后返回App
如果 D < 8 分钟,"Welcome Back" 横幅似乎不会出现,如果 D 大于 8 分钟,则会出现。如果这可以帮助其他人改善他们的用户体验...
在我的例子中,如果当 applicationWillEnterForeground 时 D >= 8 分钟,我会禁用恢复游戏按钮 2.5 秒。大多数时候,"Welcome Back" 横幅会在那段时间出现,并且不会在艰难的游戏重新开始时打扰用户。
我的 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
一切正常,但是当游戏在后台运行一段时间并重新启动时,即使我没有调用之前的代码,也会显示烦人的 "welcome back banner",因为我已经检查过( [GKLocalPlayer localPlayer].authenticated == YES)...
有没有办法知道我是否可以在 applicationWillEnterForeground 中使用此横幅?
更糟糕的是,是否存在触发它的已知背景延迟?
在这种情况下,为了更好的用户体验,我会稍微延迟恢复游戏...
由于似乎没有办法提前确定在 localPlayer 已经通过身份验证后是否会显示 "Welcome Back" 横幅,我现在将坚持使用后台延迟技巧。
我通过玩游戏做了二分法测试,把App留在后台,延迟D后返回App
如果 D < 8 分钟,"Welcome Back" 横幅似乎不会出现,如果 D 大于 8 分钟,则会出现。如果这可以帮助其他人改善他们的用户体验...
在我的例子中,如果当 applicationWillEnterForeground 时 D >= 8 分钟,我会禁用恢复游戏按钮 2.5 秒。大多数时候,"Welcome Back" 横幅会在那段时间出现,并且不会在艰难的游戏重新开始时打扰用户。