GS2-News SDK for Game Engine API リファレンス
モデル
EzNews
お知らせ記事
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
section | string | ✓ | | ~ 1024文字 | セクション名 |
content | string | ✓ | | ~ 1024文字 | コンテンツ名 |
title | string | ✓ | | ~ 1024文字 | 記事見出し |
scheduleEventId | string | | | ~ 1024文字 | GS2-Schedule イベントGRN |
timestamp | long | ✓ | | | タイムスタンプ (UNIX時間 単位:ミリ秒) |
frontMatter | string | ✓ | | ~ 1024文字 | Front Matter |
EzSetCookieRequestEntry
お知らせコンテンツにアクセスするために設定の必要なクッキー
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
key | string | ✓ | | ~ 128文字 | 記事の閲覧に必要な Cookie 設定 のキー値 |
value | string | ✓ | | ~ 1024文字 | 記事の閲覧に必要な Cookie 設定 の値 |
メソッド
getContentsUrl
お知らせ記事へのアクセスに設定が必要なクッキーのリストを取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 128文字 | ネームスペースの名前 |
accessToken | string | ✓ | | ~ 128文字 | ユーザーID |
Result
| 型 | 説明 |
---|
items | List<EzSetCookieRequestEntry> | お知らせコンテンツにアクセスするために設定の必要なクッキーのリスト |
browserUrl | string | お知らせコンテンツにアクセスするためのURL |
zipUrl | string | ZIP形式のお知らせコンテンツにアクセスするためのURL (アクセスにCookieの設定は不要) |
実装例
var domain = gs2.News.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).News(
);
var result = await domain.GetContentsUrlAsync(
);
List<EzSetCookieRequestEntry> cookies = new List<EzSetCookieRequestEntry>();
var items = result.ToList();
foreach (var item in items)
{
var entry = await item.ModelAsync();
cookies.Add(entry);
}
var browserUrl = domain.BrowserUrl;
var zipUrl = domain.ZipUrl;
var domain = gs2.News.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
).News(
);
var future = domain.GetContentsUrlFuture(
);
yield return future;
if (future.Error != null)
{
onError.Invoke(future.Error, null);
yield break;
}
List<EzSetCookieRequestEntry> cookies = new List<EzSetCookieRequestEntry>();
var result = future.Result;
var items = result.ToList();
foreach (var item in items)
{
var future2 = item.Model();
yield return future2;
var entry = future2.Result;
cookies.Add(entry);
}
var browserUrl = domain.BrowserUrl;
var zipUrl = domain.ZipUrl;
const auto Domain = Gs2->News->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
)->News(
);
const auto Future = Domain->GetContentsUrl(
);
Future->StartSynchronousTask();
if (Future->GetTask().IsError())
{
return false;
}
TArray<EzSetCookieRequestEntryPtr> Cookies;
const auto It = Future->GetTask().Result();
foreach (auto Item in It)
{
const auto Future2 = Item.Model();
Future2->StartSynchronousTask();
if (Future2->GetTask().IsError())
{
return Future2->GetTask().Error();
}
Cookies.Add(Future->GetTask().Result());
}
const auto BrowserUrl = Domain->BrowserUrl;
const auto ZipUrl = Domain->ZipUrl;
listNewses
お知らせ記事の一覧を取得
Request
| 型 | 必須 | デフォルト | 値の制限 | 説明 |
---|
namespaceName | string | ✓ | | ~ 128文字 | ネームスペースの名前 |
accessToken | string | ✓ | | ~ 128文字 | ユーザーID |
Result
| 型 | 説明 |
---|
items | List<EzNews> | お知らせ記事のリスト |
contentHash | string | お知らせ記事データのハッシュ値 |
templateHash | string | テンプレートデータのハッシュ値 |
実装例
var domain = gs2.News.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var items = await domain.NewsesAsync(
).ToListAsync();
var domain = gs2.News.Namespace(
namespaceName: "namespace-0001"
).Me(
gameSession: GameSession
);
var it = domain.Newses(
);
List<EzNews> items = new List<EzNews>();
while (it.HasNext())
{
yield return it.Next();
if (it.Error != null)
{
onError.Invoke(it.Error, null);
break;
}
if (it.Current != null)
{
items.Add(it.Current);
}
else
{
break;
}
}
const auto Domain = Gs2->News->Namespace(
"namespace-0001" // namespaceName
)->Me(
GameSession
);
const auto It = Domain->Newses(
);
TArray<Gs2::UE5::News::Model::FEzNewsPtr> Result;
for (auto Item : *It)
{
if (Item.IsError())
{
return false;
}
Result.Add(Item.Current());
}