Corona の Lua クイックスタート

この quickstart は、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 クライアントプラグインをアクティブ化します。

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

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

初めての API 呼び出しを設定する

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

お気に入りのテキストエディターで、次** の行を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 リファレンスを参照してください。

お気に入りのテキストエディターで、次に示すコンテンツを使用して、メインの 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 リファレンスドキュメント」をご覧ください。

コーディングをお楽しみください!

コードの Deconstruct

この省略可能な最後のセクションでは、上の例の各部分を行ごとに説明します。

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