diff --git a/Assets/Talo Game Services/Talo/Runtime/APIs/BaseAPI.cs b/Assets/Talo Game Services/Talo/Runtime/APIs/BaseAPI.cs index 2b65871..9f79675 100644 --- a/Assets/Talo Game Services/Talo/Runtime/APIs/BaseAPI.cs +++ b/Assets/Talo Game Services/Talo/Runtime/APIs/BaseAPI.cs @@ -9,7 +9,7 @@ namespace TaloGameServices public class BaseAPI { // automatically updated with a pre-commit hook - private const string ClientVersion = "0.43.0"; + private const string ClientVersion = "0.44.0"; protected string baseUrl; diff --git a/Assets/Talo Game Services/Talo/Runtime/APIs/FeedbackAPI.cs b/Assets/Talo Game Services/Talo/Runtime/APIs/FeedbackAPI.cs index e795eba..b0dd751 100644 --- a/Assets/Talo Game Services/Talo/Runtime/APIs/FeedbackAPI.cs +++ b/Assets/Talo Game Services/Talo/Runtime/APIs/FeedbackAPI.cs @@ -1,6 +1,7 @@ using System; using System.Threading.Tasks; using UnityEngine; +using System.Linq; namespace TaloGameServices { @@ -17,12 +18,13 @@ public async Task GetCategories() return res.feedbackCategories; } - public async Task Send(string categoryInternalName, string comment) + public async Task Send(string categoryInternalName, string comment, params (string, string)[] props) { Talo.IdentityCheck(); var uri = new Uri($"{baseUrl}/categories/{categoryInternalName}"); - var content = JsonUtility.ToJson(new FeedbackPostRequest { comment = comment }); + var propsArray = props.Select((propTuples) => new Prop(propTuples)).ToArray(); + var content = JsonUtility.ToJson(new FeedbackPostRequest { comment = comment, props = propsArray }); await Call(uri, "POST", content); } diff --git a/Assets/Talo Game Services/Talo/Runtime/Requests/FeedbackPostRequest.cs b/Assets/Talo Game Services/Talo/Runtime/Requests/FeedbackPostRequest.cs index 3b0f95f..0b03bbb 100644 --- a/Assets/Talo Game Services/Talo/Runtime/Requests/FeedbackPostRequest.cs +++ b/Assets/Talo Game Services/Talo/Runtime/Requests/FeedbackPostRequest.cs @@ -4,5 +4,6 @@ public class FeedbackPostRequest { public string comment; + public Prop[] props; } } diff --git a/Assets/Talo Game Services/Talo/VERSION b/Assets/Talo Game Services/Talo/VERSION index 8298bb0..a8ab6c9 100644 --- a/Assets/Talo Game Services/Talo/VERSION +++ b/Assets/Talo Game Services/Talo/VERSION @@ -1 +1 @@ -0.43.0 +0.44.0 diff --git a/README.md b/README.md index 6894bc5..237d280 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ -# Talo Unity Package: self-hostable game dev tools +# Talo Unity package: self-hostable game dev tools -Talo is a collection of tools and APIs designed to make game development easier and to help you make better data-driven decisions. - -From essentials like player management, stats and leaderboards to advanced APIs for game saves, event tracking and player authentication. - -The Talo Unity Package is a lightweight wrapper around the [REST API](https://docs.trytalo.com/docs/http/authentication). It also includes handy utilities and a collection of ready-to-use samples. +Talo is the easiest way to add leaderboards, player authentication, socket-based multiplayer and more to your game. Using the Talo Dashboard, you can visualise and analyse your game data to make data-driven decisions. ## Project structure @@ -22,7 +18,7 @@ You'll need to init the submodules after cloning: `git submodule update --init`. - [GitHub releases](https://github.com/TaloDev/unity/releases) - [itch.io](https://sleepystudios.itch.io/talo-unity) -## Talo's key features +## Features - 👥 [Player management](https://trytalo.com/players): Persist player data across sessions, create segments and handle authentication. - ⚡️ [Event tracking](https://trytalo.com/events): Track in-game player actions individually and globally. @@ -38,25 +34,23 @@ You'll need to init the submodules after cloning: `git submodule update --init`. ## Samples included with the package -- 🕹️ Leaderboards: a basic leaderboard UI, allowing you to add and update entries. -- 💾 Game saves: an end to end example allowing you to load, create and update saves across multiple levels. -- 🔒 Authentication: a registration/login flow, showing how to create player accounts and authenticate them. -- 🎮 Playground: a text-based playground allowing you to test identifying, events, stats and leaderboards. -- 💬 Chat: showing how to send messages between channels in a chat room. -- 🤝 Channel storage: showing how to store data that can be accessed by other players using channels. +- 🕹️ **Leaderboards**: a basic leaderboard UI, allowing you to add and update entries. +- 💾 **Game saves**: an end to end example allowing you to load, create and update saves across multiple levels. +- 🔒 **Authentication**: a registration/login flow, showing how to create player accounts and authenticate them. +- 🎮 **Playground**: a text-based playground allowing you to test identifying, events, stats and leaderboards. +- 💬 **Chat**: showing how to send messages between players in a chat room using channels. +- 🤝 **Channel storage**: showing how to store data that can be accessed by other players using channels. -## Documentation +## Links -Check out the [full Talo docs](https://docs.trytalo.com) for setup instructions, detailed API docs/examples and configuration options. +- [Website](https://trytalo.com) +- [Unity package docs](https://docs.trytalo.com/docs/unity/install) +- [Self-hosting examples](https://github.com/talodev/hosting) -## Self-hosting your own Talo instance +## Contributing -Talo is designed to be easily self-hosted. Take a look at our [self-hosting guide](https://docs.trytalo.com/docs/selfhosting/overview) and the [GitHub repo](https://github.com/TaloDev/hosting) for examples on how to get started. +Thinking about contributing to Talo? We’d love the help! Head over to our [contribution guide](CONTRIBUTING.md) to learn how to set up the project, run tests, and start adding new features. -## Join our community +## Join the community Have questions, want to share feedback or show off your game? [Join us on Discord](https://trytalo.com/discord) to connect with other developers and get help from the Talo team. - ---- - -Find all the details about Talo on our [website](https://trytalo.com)!