{"id":"l3g5nd/ga-sdk","name":"ga-sdk","scope":"l3g5nd","platform":"roblox","description":"Official Roblox SDK for GameAnalytics. GameAnalytics is a free analytics platform that helps game developers understand their players' behaviour by delivering relevant insights.","version":"2.2.23","latest":"2.2.23","versions":["2.2.2","2.2.21","2.2.22","2.2.23"],"license":"MIT","licenseRating":"safe","licenseCaveats":[],"licenseVerified":true,"dependencies":{},"integrity":"ca72ae57d6abeb921276bfd24b1c8446deb17095714d46726dc326a5d357b96f","likes":0,"downloads":0,"install":"forest install l3g5nd/ga-sdk","url":"https://forest.dev/p/roblox/l3g5nd/ga-sdk","files":"https://api.forest.dev/ai/package/roblox/l3g5nd/ga-sdk/files","readme":"GA-SDK-ROBLOX\n=============\n\nGameAnalytics Roblox SDK.\n\nDocumentation can be found [here](https://gameanalytics.com/docs/item/roblox-sdk).\n\nIf you have any issues or feedback regarding the SDK, please contact our friendly support team [here](https://gameanalytics.com/contact).\n\n#### Requirements\n* [rojo](https://github.com/LPGhatguy/rojo) (optional, but needed if you want to automatically sync the source files inside the GameAnalyticsSDK folder into your Roblox project)\n\nChangelog\n---------\n<!--(CHANGELOG_TOP)-->\n**2.2.2**\n* fix to wally support\n\n**2.2.1**\n* fixed bug related to game passes purchases\n\n**2.2.0**\n* added support for wally (OBS: breaking changes)\n\n**2.1.35**\n* fixed argument order\n\n**2.1.34**\n* corrected to use new postie api where referenced\n\n**2.1.33**\n* postie script updated\n\n**2.1.32**\n* replace global spawn and wait with task library\n\n**2.1.31**\n* fixed postie bug after moving the script under gameanalytics script\n\n**2.1.30**\n* replaced rbxmx generator script with rojo build command (requires min. rojo 6)\n\n**2.1.29**\n* moved postie script inside GameAnalytics scripts\n\n**2.1.28**\n* fixed error message in errorhandler\n\n**2.1.27**\n* country code field always sent with events now (sent as 'null' if country code couldn't be fetched)\n\n**2.1.26**\n* fixed undefined variable errors\n\n**2.1.25**\n* fixed potential error in session end event code\n\n**2.1.24**\n* added error tracking if country code fails to get retrieved\n\n**2.1.23**\n* fixed ab testing\n\n**2.1.22**\n* fixed bug with remote configs and ab testing ids not being added to events\n\n**2.1.21**\n* fixed GetPlayerDataFromCache function\n\n**2.1.20**\n* fixes to gamepass in business events\n\n**2.1.19**\n* fixed detection of website gamepasses throttling datastores\n\n**2.1.18**\n* fixed sesion start and end issues which caused problems with metrics\n\n**2.1.17**\n* corrected variable name inside GetPlayerDataFromCache function\n\n**2.1.16**\n* player data cache now accepts both userId of string or number type\n\n**2.1.15**\n* fixed not clearing session start ts because teleport flag was not cleared\n\n**2.1.14**\n* fixed logic for error handler\n\n**2.1.13**\n* added player id to error events sent from error reporting\n\n**2.1.12**\n* fixed ScriptContext.Error error reporting\n\n**2.1.11**\n* switched from using LogService to ScriptContext.Error for error reporting\n\n**2.1.10**\n* fixed setAvailableGamepasses function\n\n**2.1.9**\n* correct install instructions and fixed GameAnalyticsServerInit script\n\n**2.1.8**\n* correct business event for 'Gamepass' itemType\n\n**2.1.7**\n* added country code to events to get correct country of users\n\n**2.1.6**\n* corrected install instructions\n\n**2.1.5**\n* Moved everything from GameAnalyticsServer to GameAnalytics module and created a template server script for calling the initialize function.\n* Added queue for functions like addDesignEvent etc. that are called before player or GA is initialized\n* renamed server init with settings script and restructured it (new usage)\n\n**2.1.4**\n* added session_num to init request\n\n**2.1.3**\n* Replaced previous HMAC + SHA256 + Base64 implementation with HashLib. This version is around 23 - 25% faster.\n* Changed indenting from spaces to tabs (Roblox default).\n* Worked on reformatting so it followed the Roblox Lua style guide a little better..\n* Updated the luacheck files more.\n\n**2.1.2**\n* fixed rojo file\n\n**2.1.1**\n* updated postie script\n\n**2.1.0**\n* added website game pass purchase tracking support\n\n**2.0.1**\n* remote configs fixes\n\n**2.0.0**\n* Remote Config calls have been updated and the old calls have deprecated. Please see GA documentation for the new SDK calls and migration guide\n* A/B testing support added\n\n**1.4.2**\n* improvements for business event\n\n**1.4.1**\n* fix to playerRemoved function\n\n**1.4.0**\n* added bindable event to listen to when player is ready (has gotten its player data loaded)\n\n**1.3.9**\n* started using new bit module instead of old one\n\n**1.3.8**\n* fixes for progression events\n\n**1.3.7**\n* bug fix for platform name fallback option\n\n**1.3.6**\n* fix for command center populated events\n\n**1.3.5**\n* fixes to some types of events not being sent\n\n**1.3.4**\n* fixed bug with automatic error events\n\n**1.3.3**\n* fixed bug with error events not sending (another one)\n\n**1.3.2**\n* fixed bug with error events not sending\n\n**1.3.1**\n* fixed multi-place game bugs\n\n**1.3.0**\n* added support for multi-place game sessions\n\n**1.2.13**\n* changed Postie from being a script to a modulescript\n\n**1.2.12**\n* added Postie module to replace invokeclient call in playerjoined\n\n**1.2.11**\n* fixed playerjoined method to not wait indefinitely in some cases\n\n**1.2.10**\n* fixed playerjoined method to not wait indefinitely in some cases\n\n**1.2.9**\n* fixed load table bug\n\n**1.2.8**\n* added missing files to rbxmx\n\n**1.2.7**\n* performance to enum lookups\n\n**1.2.6**\n* added limit to how many events there can max be in the events queue\n\n**1.2.5**\n* added better error handling for thread task execution\n\n**1.2.4**\n* added toggle function for debug logging in studio mode\n* threading performance fix\n\n**1.2.3**\n* various bug fixes\n\n**1.2.2**\n* bug fixes to manual configuration and initialization of sdk\n\n**1.2.1**\n* updated server scripts to just be descendants of ServerScriptService and not just direct child of ServerScriptService\n\n**1.2.0**\n* added enable/disable event submission function\n\n**1.1.0**\n* moved settings related code in GameAnalyticsServer script into a new script called GameAnalyticsServerInitUsingSettings to allow manual initialization from own script (OPS look at new INSTALL instructions for new script)\n\n**1.0.5**\n* renamed GameAnalyticsScript to GameAnalyticsServer\n* removed script location restriction on GameAnalyticsClient\n\n**1.0.4**\n* small corrections\n\n**1.0.3**\n* fixed automatic sending of error events\n* added script for generating rbxmx file\n\n**1.0.2**\n* fixed sha256 performance issues\n* added processReceiptCallback function to use within your own processReceipt method\n* replaced all string.len and table.getn with # operator instead\n* using game:GetService() to access services instead of using game.[some_service]\n* fixed device recognition method\n* fixed automatic sending of error events\n\n**1.0.1**\n* small bugs fixes\n\n**1.0.0**\n* initial release\n","readmeTruncated":false}