> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Linux 向け C++ クイックスタート

> Ubuntu 18.04 LTS 上でネイティブ C++ プロジェクトをセットアップし、クロス プラットフォームの PlayFab XPlatCppSdk ライブラリを使用して最初の PlayFab API 呼び出しを行います。

# クイックスタート: Linux 向け C++

C++ 向け PlayFab Client ライブラリを使い始めます。パッケージをインストールし、基本的なタスクのサンプル コードを試すための手順に従ってください。

このクイックスタートでは、C++ 向け Client ライブラリを使用して最初の PlayFab API 呼び出しを行う方法を説明します。

このクイックスタートは、Ubuntu 18.04 LTS を使用して書かれています。

[API リファレンス ドキュメント](/services/playfab/api-references) | [ライブラリ ソース コード](https://github.com/PlayFab/XPlatCppSdk)

## 要件

* [PlayFab 開発者アカウント](https://developer.playfab.com)。

## Linux C++ プロジェクトのセットアップ

1. 以下をインストールします (Ubuntu では sudo apt-get install \_\_\_\_):
   * g++
   * gdb
   * make
   * cmake
   * libjsoncpp-dev
   * libcurl4-openssl-dev
   * git-all
2. [PlayFab クロス プラットフォーム (CPP) SDK](https://github.com/PlayFab/XPlatCppSdk) をプロジェクト フォルダーにクローンします。

インストールが正しいことを確認するには、次の手順を行います。

main.cpp を作成し、以下に示す「Hello World」コードを挿入します。

```cpp theme={null}
// main.cpp: entry point for the console application

#include <iostream>

int main()
{
    std::cout << "Hello World" << std::endl;
    return 0;
}
```

IDE を使用している場合は、次のことを行ってください。

* 以下のフォルダーをソースに追加します:
  * XPlatCppSdk/cppsdk/source/playfab

* 以下のフォルダーをインクルード ディレクトリに追加します:
  * XPlatCppSdk/cppsdk
  * XPlatCppSdk/cppsdk/include

* 以下のライブラリをリンクします:
  * jsoncpp
  * curl
  * pthread

それ以外の場合は、CMakeLists.txt という名前のファイルを作成し、以下に示すビルド コマンドをコピーします。

```cmake theme={null}
cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 14)

project(PlayFab_Test)

file(GLOB PF_SOURCE XPlatCppSdk/cppsdk/source/playfab/*.cpp)
add_executable(PlayFab_Test ${PF_SOURCE} main.cpp)

include_directories(XPlatCppSdk/cppsdk)
include_directories(XPlatCppSdk/cppsdk/include)
target_link_libraries(PlayFab_Test -ljsoncpp -lcurl -lpthread)
```

* IDE 内からプロジェクトをビルドして実行するか、Terminal プロンプトを開いて以下を実行します:
  * `cmake .`
  * `make`
  * `./PlayFab_Test`

## 最初の API 呼び出しをセットアップする

このガイドでは、GUI や画面上のフィードバックを使用せずに、最初の PlayFab API 呼び出しを行うための最小限の手順を説明します。確認はコンソール print ステートメントを使用して行います。

まず、`main.cpp` の内容を以下に示す内容に置き換えます。

```cpp theme={null}
// main.cpp: entry point for the console application

#include "playfab/PlayFabClientDataModels.h"
#include "playfab/PlayFabClientApi.h"
#include "playfab/PlayFabSettings.h"
#include <unistd.h>

using namespace PlayFab;
using namespace ClientModels;

bool finished = false;

void OnLoginSuccess(const LoginResult& result, void* customData)
{
    printf("Congratulations, you made your first successful API call!\n");
    finished = true;
}

void OnLoginFail(const PlayFabError& error, void* customData)
{
    printf("Something went wrong with your first API call.\n");
    printf("Here's some debug information:\n");
    printf(error.GenerateReport().c_str());
    printf("\n");
    finished = true;
}

int main()
{
    PlayFabSettings::staticSettings->titleId = ("144");

    LoginWithCustomIDRequest request;
    request.CreateAccount = true;
    request.CustomId = "GettingStartedGuide";

    PlayFabClientAPI::LoginWithCustomID(request, OnLoginSuccess, OnLoginFail);

    while (PlayFabClientAPI::Update() != 0)
        sleep(1);

    printf("Press enter to exit\n");
    getchar();
    return 0;
}
```

## 完了して実行する

1. IDE 内でプロジェクトをビルドして実行するか、Terminal を開いて以下を実行します:
   * `./PlayFab_Test`

2. 読み込まれると、次のテキストが表示されます:
   * "Congratulations, you made your first successful API call!"

3. 他の API 呼び出しを開始し、タイトルを構築します。


## Related topics

- [クイックスタート Linux](/ja-jp/services/playfab/sdks/c/quickstart-linux.md)
- [Windows 向け C++ クイックスタート](/ja-jp/services/playfab/sdks/playfab-cpp/quickstart-windows.md)
- [GDK 向け C/C++ クイックスタート](/ja-jp/services/playfab/sdks/playfab-cpp/quickstart-gdk.md)
- [Corona 向け Lua クイックスタート](/ja-jp/services/playfab/sdks/lua/quickstart-corona.md)
- [Defold 向け Lua クイックスタート](/ja-jp/services/playfab/sdks/lua/quickstart-defold.md)
