方法: Windows Phone のゲームの招待タスクを使用する

2012/02/09

ゲーム招待タスクを使用して、ユーザーがマルチプレーヤー ゲーム セッションにプレーヤーを招待できるゲーム招待画面を表示します。招待は非同期的に送信されます。

セレクターを使用して、Windows Phone プラットフォーム全体で一貫したユーザー エクスペリエンスを提供できます。詳細については、「Windows Phone でのランチャーとセレクターの概要」を参照してください。

注意点注意:

ゲーム招待タスクは、Windows Phone の Xbox LIVE でリリースが承認されたゲーム内から呼び出した場合にのみ機能します。詳細については、「Windows Phone 7 ゲームの開発」を参照してください。

ゲーム招待タスクを使用するには

  1. コードに次のステートメントを追加します。

    using Microsoft.Phone.Tasks;
    
  2. タスク オブジェクトを宣言します。ページのスコープが必要であるため、ページ内のコンストラクターの前で宣言します。

    GameInviteTask gameInviteTask;
    
  3. ページのコンストラクターに次のコードを追加します。このコードはタスク オブジェクトを初期化し、ユーザーがタスクを完了した後に実行するメソッドを識別します。

    gameInviteTask = new GameInviteTask();
    gameInviteTask.Completed += new EventHandler<TaskEventArgs>(gameInviteTask_Completed);
    
  4. ボタン クリック イベント内など、必要に応じてアプリケーションに次のコードを追加します。この手順をテストするには、ページのコンストラクターにこのコードを配置します。これはタスクを起動するコードです。

    try
    {
        gameInviteTask.SessionId = "<my session id>";
        gameInviteTask.Show();
    }
    catch (System.InvalidOperationException ex)
    {
        MessageBox.Show("An error occurred.");
    }
    
  5. ページに完了イベント ハンドラーのコードを追加します。このコードは、ユーザーがタスクを完了した後に実行されます。招待が正常に送信されたかどうかを確認できます。

    void gameInviteTask_Completed(object sender, TaskEventArgs e)
    {
        switch(e.TaskResult)
        {
            //Game logic for when the invite was sent successfully
            case TaskResult.OK:
                MessageBox.Show("Game invitation sent.");
                break;
    
            //Game logic for when the invite is cancelled by the user
            case TaskResult.Cancel:
                MessageBox.Show("Game invitation cancelled.");
                break;
    
            // Game logic for when the invite could not be sent
            case TaskResult.None:
                MessageBox.Show("Game invitation could not be sent.");
                break;
        }
    }
    

表示: