We have long been wanting to overhaul the entire Game Manager, found at https://manage.pley.com. Now, we're releasing it. It comes with a full visual and structural overhaul as well as multiple new requested features. It's an investment for the future!

Objectives with Game Manager 2.0:

  • Seamless migration for current partners
  • Easier to follow, intuitive design, and more explanations of what things do.
  • Fewer steps to do core actions, such as releasing builds or configuring products.
  • Much quicker turnaround to add new features requested by partners.
  • Release multiple requested features.
  • Clean-up, simplification, and removal of features no longer needed.

New Features

  • Instantly import in-game products from Google Play Console (Read more)
  • Custom set IDs for products, letting you use the same IDs on Pley as on mobile.
  • Brand new analytics dashboard, giving you an easy-to-access overview of player activity, revenue, and technical performance. (Read more)
  • Overhauled release-track-management; each project now has Open testing and Closed testing release tracks for development, QA, and pre-production build testing. (Read more
  • New alerts and a release checklist when making releases, to inform you if something critical has been forgotten.
  • New restricted regions interface, letting you manage in which countries your game can be played. (Read more)

Overhauled interface

Overhauled interface

Easily update products by importing them from Google Play!

Easily update products by importing them from Google Play!

Brand new analytics overview for your Web Playable!

Brand new analytics overview for your Web Playable!

Custom product IDs to manage multiple platforms much easier!

Custom product IDs to manage multiple platforms much easier!

New alerts and warnings

New alerts and warnings

Automated release checklist

Automated release checklist

Simplified pages; easier to read and faster to use.

Simplified pages; easier to read and faster to use.

SDK 5.2.0 has been released, expanding on Pley's analytics system, adding a viewport/aspect ratio automation tool, and fixing multiple issues!

It is available for download at manage.pley.com/downloads

📘

Click here to learn how to update the Pley SDK

Changelog

A new system for gameplay-level analytics.

  • Call any predefined event in the game code and have it delivered to any of your analytics services through the Playable and Game site.
  • Create custom events with customized payloads, delivered to any analytics service.
  • Added a warning if AnalyticsKit was used, but not initialized properly with the required user properties.
  • User properties, such as username, currency balance, game version, and custom user ID for cross-platform attribution.
  • Predefined gameplay analytics, with events such as tutorial_advanced, tutorial_complete, resource_spent, premium_gained (currency), offer_shown (liveOps / deals), and more!
  • Click here to see all gameplay events and properties.

New automated viewport system for web

  • Allows you to automatically configure viewport behavior without having to rewrite code made for mobile aspect ratios.
  • A simple editor-UI setup of viewport size; fixed, adaptable, snapping, free, etc.
  • Resolution control.

Fixed multiple issues, bugs, and quality-of-life

  • Prevent unity assemblies from reloading while uploading builds to Pley
  • Cleaned up the Pley SDK, reducing file size by half.
  • Improved responsiveness of error messages in the SDK
  • Added a "cancel upload" button during build uploads.
  • Fixed an issue on Windows machines where builds would fail to upload.
Viewport System can be found in Pley > Tools > Resources > "ViewportSettings".

Viewport System can be found in Pley > Tools > Resources > "ViewportSettings".

EventDescriptionProperties
gameplay_analytics_initializedTriggered when you initialize AnalyticsKit, setting the basic user properties.username, level, application_version, custom_user_id, custom[]
gameplay_tutorial_advancedWhen the player advances a step in the tutorial.tutorial_step
gameplay_tutorial_completedWhen the player completes the tutorial.-
gameplay_tutorial_skippedWhen the player skips the tutorial.-
gameplay_level_advancedWhen the player advances a level (levels up or beats a mission, game dependent)level
gameplay_premium_spentWhen the player spends premium currency.name, amount, source, new_balance
gameplay_premium_gainedWhen the player gains premium currency.name, amount, source, new_balance
gameplay_resource_spentWhen the player spends game currency.name, amount, source, new_balance
gameplay_resource_gainedWhen the player gains game currency.name, amount, source, new_balance
gameplay_offer_shownWhen the player is shown an offer, deal, liveOps, or promotion.offer
Custom EventSet any game-specific custom event you need, and deliver it to your analytics services.name,parameters[]

SDK v5.1.0 is released, adding Experimental Google-AdSense powered rewarded ads to all games on Pley.

Rewarded ads have been one of the most requested features to both monetize non-paying users, and more importantly as an upselling tool. We have integrated Google H5 games rewarded ads into Pley AdsKit. For now, it is an experimental feature; over time ad quality will improve as Google's algorithm learns more, as well as Pley making updates on the fly.

Read more here on how to implement rewarded ads.

Changelog

  • New experimental feature; rewarded ads powered by Google Adsense H5 Games.
  • Warning notification in the Unity SDK if a new SDK version is available.
  • Warning notification in the Unity SDK if there is a mismatch in Emscripten versions between the Pley SDK and Unity, so developers don't have to troubleshoot strange impossible-to-understand errors.
  • Assemblies will now not reload in Unity during uploads to Pley, preventing crashes.
  • Changed folder structure; Pley SDK is now found in Pley/SDK instead of just Pley/.
  • Fixed analytics-related bugs.

📘

Click here to learn how to update the Pley SDK

Pley SDK 5.0.0 is a major update, both adding new functionality and removing features.
Due to this, games will have to make changes in their game code to update to 5.0.0. We don't plan to release breaking changes lightly in the future. Read more

The update comes with a major API restructuring, replacing callbacks with tasks. This is the most breaking change when updating to the SDK 5.0.0.

New AnalyticsKit for commercial funnel event API with the following methods: GameLoaded(), UserEngaged(), UserInteracted(). On top of this, multiple features have been removed, stability has improved, and loading times have been reduced.

See the updated API documentation here.

New Features & Changes

  • The API is now using Tasks and all methods that are asynchronous are postfixed with ‘Async’
var (result, data) = await PaymentsKit.RequestPaymentAsync(paymentKitProduct);
if (result.IsError())
{
  Debug.LogError($"Failed to request payment: {result}");
  return;
}

Debug.Log($"Payment successful - entitlementId: {data.entitlementId}");
PaymentsKit.RequestPaymentAsync(paymentKitProduct)
  .Then((result, data) =>
  {
    if (result.IsError())
    {
      Debug.LogError($"Failed to request payment: {result}");
      return;
    }
    Debug.Log($"Payment successful - entitlementId: {data.entitlementId}");
  });
  • Support for new Apple silicon architecture
  • Removed DLL dependencies, reducing conflicts between services and libraries
  • Improvements to the Unity extension UI
  • Improved documentation on error returns
  • GetProduct replaced by PaymentsKit.GetProducts. Gets multiple products from a list of ID:s instead of one call per product ID.
  • PaymentsKit.GetEntitlementsAsync() return an empty list instead of an error if there is no entitlements.
  • InsightsKit is replaced by AnalyticsKit
  • New obligatory analytics methods: GameLoaded(), UserEngaged(), UserInteracted().
  • AuthKit.PlayToken replaced by AuthKit.SessionToken
  • SDK.GetStartupArgs replaced by SDK.GetGameArguments
  • Fixed issues reporting memory in memory usage overlay.

Removed

  • PleyGenericError
  • PartyKit
  • InsightsKit
  • SendCustomEvent, which was part of InsightsKit.
  • AuthKit.GetFingerprint
  • ContainerMessages
  • PerformanceKit.RecommendedResolution/QualityLevel
  • Order id is no longer part of the payment request response
  • TexutreSettingsImportApplier tool
  • NotificationsKit
  • Callbacks on Pley Methods (replaced by Tasks as mentioned above).

👍

That is it!

If you have any questions, reach out to us through your Pley communication channel or email us at [email protected]

  • New Pley Fast Build for Unity, more info.
  • Support for Unity 2021.3 and 2022.1.
  • Minor Windows fixes.
  • Fix a crash that could occur when uploading a new build.
  • Fix incorrect build step duration in the build report
  • Support for Unity 2021.2 versions where minor version is 11 or newer.
  • Improved performance when uploading builds with a lot of files.
  • Fix freeze when using play/pause from within Unity

For the last couple of months, we have been overhauling the release process to clean up old anomalies and create a comprehensive workflow that makes it easier to get a better overview and collaborate as a team.

And equally as necessary, the new flow will add much-needed flexibility for us to keep adding new and better features to the release process.

CHANGES

A new release flow where releases are separate from a build, allowing you to draft, create and publish Releases of any uploaded build with different Container versions, Release Tracks, and settings.

We've added Containers that will allow you to create different versions of JavaScript code that you want to execute during runtime for all your analytics, UA, or tools needs for a given Release.

Release Tracks replaces Channels allowing you to create releases in a different track than Production with a secret URL. Making QA and Beta-testing a breeze.

You can find more information on how it works in our documentation here.

Send/receive messages from the game container (closed BETA)

SDK.SendContainerMessage(): Send a message with a custom payload to the container.
SDK.SetContainerMessageListener(): Set a listener to a specific message from the container.

More user information available from the SDK (closed BETA)

AuthKit.IsUserLoggedIn(): Know if the user is logged in to a claimed account.
AuthKit.RequestSignUp(): Request the user to sign up if they aren't already.