2

私はiphoneアプリ(ゲーム)を作っています。これは私の最初のゲームではありませんが、ネットワーク接続を使用する最初のゲームになります(いくつかの乗数機能を追加する予定です)。プレーヤーがアプリを開いてゲームセンターにサインインし、それを使用してサーバーに接続できるようにしたいと思います。これは可能ですか?言い換えると:

Player signs in to game center
Sends username to my server
if (game center username doesnt exist)
{
Add their username to my sql database
}
else if (username does exist)
{
Send sign in successful message to device.
}

少し前に別の質問を読んだと思いますが、その答えは、私がやりたくないデバイスUDIDの使用について何かを言っていました(テクノロジー関連のニュースを読んだ場合の明らかな理由のため)。

とにかく、サーバーに対して認証するために使用できるゲームセンターで認証すると、ユーザーが本人であると確信できる信頼できる方法はありますか?ありがとうございました

4

1 に答える 1

1

UDIDの代わりに、各ゲームセンターアカウントに固有のGKPlayer.playerIDを使用できると思います。他の目的のために、認証ハンドラーの完了ブロックをカスタマイズできます

GKLocalPlayer * __weak localPlayer = [GKLocalPlayer localPlayer];

    localPlayer.authenticateHandler = ^(UIViewController *viewController, NSError *error)
    {
        if (viewController != nil)
        {
            [currentViewController presentViewController:viewController animated:YES completion:nil];

        }
        else if (localPlayer.isAuthenticated)
        {
            NSLog(@"Player authenticated");

            /* Your custom methods here
            Sends username to my server -- send localPlayer.playerID to your server
            if (game center username doesnt exist)
            {
            Add their username to my sql database
            }
            else if (username does exist)
            {
            Send sign in successful message to device.
            }
            */   
        }
        else
        {
            NSLog(@"Player not authenticated");
            //disableGameCenter
        }
        NSLog(@"Error: %@",error);

    };
于 2013-02-11T09:15:19.627 に答える