タイトルニュースのクイックスタート

タイトル ニュースは、パッチ メモやゲームがホストする大きなイベントについてプレイヤーに配信するしくみです。 これにはいくつかの基本的な要素が含まれています。

  • 日付
  • Status
  • タイトル
  • 本文
  • 言語

注意

Body 要素は、生のテキストまたは JSON を含むことができる文字列です。

要件

この quickstart は、他のトピックで示されている情報に基づいています。 質問がある場合は、次のトピックへのリンクを参照してください。

注意

ローカライズされたタイトルニュースを引き続き使用するには、既にタイトルの既定の言語を設定しておく必要があります。

  • タイトルニュースがローカライズされるようになりました。 タイトルで既定の言語を使用する方法、およびプレーヤーの優先言語を使用する方法について詳しくは、「既定の言語の設定」をご覧ください。 注意: ローカライズされたタイトルのニュースを続行するには、それに応じてタイトルの既定の言語を設定する必要があります。

PlayFab は、タイトルと本文をタイトルのニュースエントリの言語に関連付けて、ゲーム開発者の代わりにローカライズされた文字列を格納することをサポートしています。

希望する言語の適切な文字列をプレイヤーに提供するために必要なロジックを追加しました。 クライアントがタイトルニュースを照会すると、プレイヤーが指定した言語に基づいて、さまざまなバージョンのタイトルニュースが表示されます。 複数の翻訳されたバージョンを1つのタイトルニュースエントリに追加することができます。

タイトルニュースエントリを作成する

タイトルニュースエントリを作成するには、次の2つの方法があります。

  1. ゲームマネージャー経由。
  2. Admin API メソッドAddnewsを使っています。

ゲームマネージャーでタイトルニュースを作成する

ゲームマネージャーでタイトルニュースエントリを作成するには、次の操作を行います。

Content -> 次の図に示すように、タイトル > コンテンツのタイトルニュースに移動し -> New Title Newsます。

タイトル ニュース

このチュートリアルでは、タイトルの既定の言語が英語であることを前提としています。 つまり、タイトルニュースを保存する前に、既定の言語の文字列を追加する必要があります。

言語の追加は、[言語の追加] をクリックし、追加する言語を選んで、ローカライズされた文字列を入力するだけで簡単に行うことができます。 [タイトルニュースを保存] ボタンを選択すると、エントリが作成されます。

タイムスタンプは、プレイヤーがタイトルニュースの隣に表示される時刻です。 タイムスタンプは、「タイトルの保存」ボタンを選択した時点で自動的にシステムの日付に設定されますが、手動で設定することできます。 タイトルニュースページを保存すると、タイトルニュースエントリの一覧が含まれているページに戻ります。

PlayFab 管理 API を使用したタイトルニュースの作成

タイトルニュースは、 addnewsメソッドを呼び出すことで作成できます。 この管理 API を使用すると、ユーザー設定のタイムスタンプを指定できます。 この方法で追加されたニュースはすぐに公開されます。 次に、 AddLocalizedNewsを呼び出して作成したアイテムにローカライズされたコンテンツを追加し、メソッドから返されたニュース ID を追加でき AddNews ます。

次のコード例では、この方法を示しています。

void CreateNews() {
    PlayFabAdminAPI.AddNews(new AddNewsRequest {
        Timestamp = new DateTime(2014, 1, 8, 12, 0, 0), // Any date - This one is the founding of PlayFab
        Title = "My Second News",
        Body = "This is my second news post."
    },
    result => Debug.Log("News post added!"),
    error => Debug.LogError(error.GenerateErrorReport()));
}
void CreateNews() {
    PlayFabAdminAPI.AddLocalizedNewsRequest(new AddLocalizedNewsRequest{
                   NewsId = "74623b12-6c80-ee4b-7c3b-58e638aa62bd",
                   Language = "de"
                   Title = " Meine zweite Nachricht",
                   Body = " Dies ist meine zweite Nachricht."
    },
    result => Debug.Log("Localized news post added!"),
    error => Debug.LogError(error.GenerateErrorReport()));
}

タイトルニュースを読む

この GetTitleNews メソッドにより、タイトルニュースの読み取りが非常に簡単になります。 このメソッドは、発行されたタイトルのニュースエントリをすべて返しますが、アーカイブおよび未公開のエントリは返されません。

  • クライアント API からGetTitleNewsを呼び出すと、タイトルのニュース項目がその言語でローカライズされたコンテンツを追加した場合、またはタイトルの既定の言語でニュースエントリが返されます。
  • サーバー API からGetTitleNewsを呼び出した場合、タイトルの既定の言語でニュースエントリが返されます。
void ReadTitleNews() {
    PlayFabClientAPI.GetTitleNews(new GetTitleNewsRequest(), result => {
        Debug.Log("Got latest news!");
        // Process news using result.News
    }, error => Debug.LogError(error.GenerateErrorReport()));
}
void ReadTitleNews() {
    PlayFabServerAPI.GetTitleNews(new GetTitleNewsRequest(), result => {
        Debug.Log("Got latest news!");
        // Process news using result.News
    }, error => Debug.LogError(error.GenerateErrorReport()));
}

既存のタイトルのニュースエントリを更新する

タイトルのニュースエントリの内容は、ゲームマネージャーでのみ変更できます。

ゲームマネージャーで変更するエントリを検索して選択するには、次の操作を行います。

  • 左側のメニューに移動して、[コンテンツ] を選びます。
  • タイトルの [ニュース] タブに移動します。
  • 既存のエントリを選択します。

更新を行って保存し、必要に応じてローカライズされたバージョンを追加するには、次の操作を行います。

  • エントリのタイトル状態、またはデータを更新します。
  • [タイトルニュースを保存] を選択します。
  • 1つの言語でタイトルと本文のみが含まれるタイトルニュースエントリを更新する場合は、[言語の追加] を選択して、このタイトルニュースのローカライズされたバージョンを追加できます。

今後のリリースで未公開のエントリを投稿することを計画している場合は、これが公開されてアーカイブされた状態で移行する方法となります。 タイトルニュースを更新すると、入力ミスを修正することもできます。

タイトルニュースを削除する

エントリが不要になったら、ゲームマネージャーで削除できます。

変更したいエントリを見つけて、次の操作を行います。

  • [タイトル] に移動します。
  • 左側のメニューで、[コンテンツ] を選びます。
  • タイトルのニュースに移動します。
  • 既存のエントリのチェックボックスをオンにします。
  • 削除するタイトルニュースエントリを選択し、[ X delete タイトルニュース] を選びます。