Hello,
In our game we enforce an age gate before showing Game Center sign‑in. Only after the user passes the age gate do we call GKLocalPlayer.localPlayer.authenticateHandler.
The reason I’m asking is that we want to reliably detect if the game was launched from a Game Center activity in the Games app (iOS 26+). If the user prefers to enter via activities, we don’t want to miss that event during cold start.
Our current proposal is:
-
Register a GKLocalPlayerListener early in didFinishLaunchingWithOptions: so the app is ready to catch events.
-
Queue any incoming events in our dispatcher.
-
Only process those events after the user passes the age gate and authentication succeeds.
My questions are:
-
Does player:wantsToPlayGameActivity:completionHandler: ever fire before authentication, or only after the local player is authenticated?
-
If it only fires after authentication, is our “register early but gate processing” approach the correct way to ensure we don’t miss activity launches?
-
Is there any recommended pattern to distinguish “activity launch” vs. “normal launch” in this age‑gate scenario?
We want to respect Apple’s age gate requirements, but also ensure activity launches are not lost if the user prefers that entry point.
Sorry if this is a stupid question — I just want to be sure we’re following the right pattern.
Thanks for any clarification or best‑practice guidance!