PlayFabで最新のNewsを取得したり取得件数を変更する
今回はUnityでのNewsの取得を書きます。
PlayFabの導入部分はこちら
PlayFabの"Content"から"NEW TITLE NEWS"を押し新規でNewsを作成します。
Newsの入力項目は次のようになっています。
Title content | |
---|---|
Title | Newsのタイトル |
Timestamp | Newsのタイムスタンプ |
Status | Newsの状態 |
Body | Newsの本文 |
今回は公開するのでStatusを"Published"にし、TitleとBodyを入力後"Save Title News"を押します。
基本的にPlayFabはHTTPをPOSTしリクエストすることでレスポンスを貰えますが、UnityにはClassicでメソッドが用意されています。
GetTitleNews()でNewsを取得できます。 リクエストすると下記のプロパティを持ったList型のNewsが返ってきます。
Newsのプロパティ | |
---|---|
Body | Newsの本文 |
NewqId | NewsのユニークID |
Timestamp | Newsのタイムスタンプ |
Title | Newsのタイトル |
例えば最新のNewsは次の方法で呼べます。
using PlayFab; private void GetNews(){ PlayFabClientAPI.GetTitleNews(new GetTitleNewsRequest(), result => { Debug.Log("Got latest News!"); var newsTitle = result.News[0].Title; var newsBody = result.News[0].Body; }, error => Debug.LogError(error.GenerateErrorReport())); }
GetTitleNews()は標準では10件のニュースを取得するようになっています。 もしそれ以上のニュースを取得したい場合はGetTitleNewsRequest()内でCountに入れてリクエストすることで件数を変更できます。
例えばNewsを25件取得したい場合は
using PlayFab; private void GetNews(){ PlayFabClientAPI.GetTitleNews(new GetTitleNewsRequest() { Count = 25 }, result => { Debug.Log("Got 25 News!"); var newsTitle = result.News[result.News.Count - 1].Title; var newsBody = result.News[result.News.Count - 1].Body; }, error => Debug.LogError(error.GenerateErrorReport())); }
このようなリクエストの書き方で取得することができます。