次の方法で共有


Corona 向け Lua クイックスタート

このクイックスタートは、Corona エンジンで最初の PlayFab API 呼び出しを行うのに役立ちます。

PlayFab API を呼び出すには、PlayFab 開発者アカウントが必要です。

Corona プロジェクトのセットアップ

OS:このクイックスタートは Windows 10 向けに書かれています。 ただし、Macでも正常に機能します。

  1. Corona をダウンロードしてインストールします。https://coronalabs.com/

  2. Corona を実行し、新しいプロジェクトを作成します。 最初のステップをまだ実行していない場合は、次のリンクにそれに関する役立つ情報が含まれています。https://docs.coronalabs.com/guide/start/installWin/index.html

  3. インストールしてログインし、新しいプロジェクトを作成すると、次の例に示すようなウィンドウがいくつか表示されます。

    PlayFab SDK のインストール

  4. Corona Marketplace で PlayFab Client プラグインを有効にします。

    https://marketplace.coronalabs.com/plugin/playfab-client

  5. PlayFab のインストールが完了しました。

最初の API 呼び出しのセットアップ

このガイドでは、最初の PlayFab API 呼び出しを行うために必要な最小限の手順を示します。 確認は、Corona エンジンの出力ログに表示されます。

お気に入りのテキスト エディタで、次の行をbuild.settings追加します。

settings =
{
    -- ADD THESE THREE LINES at the top, leave everything else as-is
    plugins = {
        ["plugin.playfab.client"] = { publisherId = "com.playfab" }
    },

-- Other existing lines...
}

注意

この例で loginRequest オブジェクトの正しい形式を調べるには、LoginWithCustomID の API リファレンスをご覧ください。

お気に入りのテキスト エディタで、main.luaファイルの内容を以下に示す内容に置き換えます。

local pfClient = require("plugin.playfab.client")
local PlayFabClientApi = pfClient.PlayFabClientApi
PlayFabClientApi.settings.titleId = "144"

local loginRequest = {
    -- See the API reference for LoginWithCustomID.
    CustomId = "GettingStartedGuide",
    CreateAccount = true
}
PlayFabClientApi.LoginWithCustomID(loginRequest,
    function(result) print("Congratulations, you made your first successful API call!") end,
    function(error) print("Something went wrong with your first API call.\nHere's some debug information:\n" .. error.errorMessage) end
)

完成と実行

保存するとすぐに Corona はプロジェクト ソースを自動的に実行します。 したがって、これら2つのファイルを更新して保存すると、すぐに次のように表示されます。

Corona プラグインのダウンロード - 完成と実行

この時点で、他の API 呼び出しとゲームのビルドを開始できます。 利用可能なすべてのクライアント API 呼び出しの一覧については、PlayFab API リファレンス ドキュメントをご覧ください。

素敵なコーディングになりますように。

コードを分解する

このオプションの最後のセクションでは、上記の例の各部分について 1 行ずつ詳しく説明します。

  • build.settings
    • plugins = {
      • これにより Corona プラグイン システムが呼び出され、Corona Marketplace プラグインをダウンロードしてプロジェクトにインストールするように求められます
    • ["plugin.playfab.client"] = { publisherId = "com.playfab" }
      • これにより、PlayFab クライアント プラグインを明示的にダウンロードするように求められます。
  • main.lua
    • require() 行:
      • これは、PlayFab API 呼び出しを行うために必要な最小限のインポートです。
    • PlayFabClientApi.settings.titleId = "xxxx"
      • すべての PlayFab 開発者は、ゲーム マネージャーでタイトルを作成します。 ゲームを公開するとき、ゲームにそのタイトル ID をコードで記述する必要があります。 これにより、クライアントは PlayFab 内で適切なデータにアクセスする方法を知ることができます。 ほとんどのユーザーにとって、これは PlayFab が機能するための必須の手順です。
    • local loginRequest = { CustomId = "GettingStartedGuide", CreateAccount = true }
      • ほとんどの PlayFab API メソッドには入力パラメーターが必要であり、それらの入力パラメーターは要求オブジェクトにパックされています
      • すべての API のメソッドには一意の要求オブジェクトが必要であり、オプション パラメーターおよび必須パラメーターが混在しています
        • LoginWithCustomIDRequest の場合、プレイヤーを一意に識別する CustomId と、この呼び出しで新しいアカウントを作成できるようにする CreateAccount の必須パラメーターがあります。
    • PlayFabClientApi.LoginWithCustomID(loginRequest, {OnLoginSuccess-function}, {OnLoginError-function})
      • これにより、LoginWithCustomIDへの非同期要求が開始され、成功した場合は最初の(OnLoginSuccess)コールバックが、失敗した場合は2番目の(OnLoginError)関数が呼び出されます。
    • ログイン時、ほとんどの開発者は適切なログイン方法を使うことを希望します。
      • すべてのログイン方法と入力パラメーターの一覧については、PlayFab ログイン ドキュメントをご覧ください。 一般的な選択肢は次のとおりです。
      • OnLoginSuccess は 1 つのパラメーター (結果) を受け入れる任意の関数です。
        • 結果オブジェクトには、呼び出された API に応じて、要求された情報が含められます。
        • LoginResult には、プレイヤーに関するいくつかの基本的な情報が含まれていますが、ほとんどのユーザーの場合、ログインは他の API を呼び出す前の必須の手順です。
      • OnLoginError は 1 つのパラメーター (エラー) を受け入れる任意の関数です。
        • API 呼び出しは多くの理由で失敗するため、必ずエラーの処理を試みる必要があります。
        • API 呼び出しが失敗する理由 (可能性が高い順):
          • PlayFabSettings.TitleId は設定されていません。 タイトルにtitleIdを設定しなかった場合、何も機能しません。
          • 要求パラメーター。 特定の API 呼び出しの正しい情報や必要な情報が指定されていない場合は失敗します。 詳しくは、error.errorMessageerror.errorDetails、または error.GenerateErrorReport() をご覧ください。
          • デバイス接続の問題。 携帯電話の接続が絶えず失われて再取得されるため、API 呼び出しが常にランダムに失敗し、その後すぐに機能する可能性があります。 トンネルに入ると完全に切断される可能性があります。
          • PlayFab サーバーの問題。 すべてのソフトウェアと同様、問題が生じる可能性があります。 最新情報については、リリース ノートをご覧ください。
          • インターネットの信頼性は 100% ではありません。 メッセージが破損したり、PlayFab サーバーに到達できないことがあります。
        • 問題のデバッグで問題が発生し、エラー情報内の情報が不十分な場合、フォーラムをご覧ください。