we recently upgrade to 2.7.3
and we are seeing the
GameServicesAuthStatusChangeResult from void OnAuthStatusChange(GameServicesAuthStatusChangeResult result, Error error)
the result.LocalPlayer.Id is now start from "T:"
it used to be "G:" or "U:" before.
we found nothing from apple forum, so would like to try if we can get any info here, thanks
#ios GameServicesAuthStatusChangeResult yield different player id after upgrading to 2.7.3
1 messages · Page 1 of 1 (latest)
Well, we started using teamPlayerId instead of older playerId as it got deprecated.
We need to do this as we backported certain features from V3 for 2.7.3 deployment (this includes both playerid and server credentials to use latest api)
Is this id you use locally or on your server? I have a workaround to fix your case, but note that the old ids are deprecated. so strongly suggest to update to latest.
However, in V3, we provide all the id's -> legacyId (the one that used to be there before 2.7.3) , gameScopeId - new player id, developerScopeId - team identifier scope id.
ah, we use the result.LocalPlayer.Id as the service id to determine if register or login
how could we translate the id (on the server side maybe?) from T: to G: or U: ?
unfortunately, there is no proper documentation for this. May be apple provide the migration later (pls share if you find any refs on this).
all right, thx
I will provide you the option to still get the playerId (old one) to move forward.
in NPGameKitPlayerBinding.mm file
NPBINDING DONTSTRIP const char* NPPlayerGetId(void* playerPtr)
{
/*GKPlayer* player = (__bridge GKPlayer*)playerPtr;
if (@available(iOS 12.4, *)) {
return NPCreateCStringCopyFromNSString(player.gamePlayerID);
} else {
// Fallback on earlier versions
return NPPlayerGetLegacyId(playerPtr);
}*/
return NPPlayerGetLegacyId(playerPtr);
}