=== Install Tracker === Contributors: Kyght Tags: install, distribution, usage, track, upgrade Donate link: http://www.kyght.com/ Requires at least: 4.3 Tested up to: 5.0 Stable tag: 1.7 License: GPL v3 License URI: www.kyght.com/gpl.txt Tracks the distribution of your installable product. Usage statistics, Registrations and Upgrades. == Description == Tracks the distribution of your installable products. The plugin provides an ajax API to accept installation registrations & usage data. Also provides a mechanism for pushing product upgrades to clients. Custom build tags can also be used to track clients with customized products and push custom upgrades to these clients. Plugin REST API http://www.yoursite.com/wp-admin/admin-ajax.php Actions: regupdate - Adds\Updates a registration record useapp - Updates product\version usage and registered client use upgrade - Checks for a product upgrade with a higher version number Note: Product and Registration records are automatically added\updated via inbound API calls. Only Upgrades are added via the Admin console. Example (.Net API call to register a client) **Registration** var response = HttpHelper.Post(URL, new NameValueCollection() { { "action", "regupdate" }, { "sky", SecretKey }, //Secret ID must match ID in your Wordpress|Settings|InstallTracker { "product", Product }, { "ver", Version }, { "custom", Custom }, { "trackid", RegID }, //TrackID from previous registration to allow updates, blank for new { "key", key }, //GUID generated by your installation (Format: 00000000-0000-0000-0000-000000000000 ) { "name", name }, { "email", email }, { "phone", phone }, { "contact", contact }, { "addr", address }, { "city", city }, { "state", state }, { "zipcode", zipcode} }); var str = System.Text.Encoding.Default.GetString(response); if (str != null && str.Equals("0")) return false; //Secret key might not match var outObject = JsonConvert.DeserializeObject(str); if (outObject.valid == "TRUE") { RegID = outObject.regID; //Returned Registration ID for future updates return true; } **Usage** var pars = new NameValueCollection() { { "action", "useapp" }, { "sky", SecretKey }, { "product", Product }, { "ver", Version }, { "custom", Custom }, { "trackid", RegID }, //TrackID from previous registration (optional) { "key", key } //GUID generated by your installation (optional) }; **Upgrade** var pars = new NameValueCollection() { { "action", "upgrade" }, { "sky", SecretKey }, { "product", Product }, { "ver", Version }, { "custom", Custom }, }; .Net API wrapper client library is available at www.kyght.com (http://www.kyght.com/?page_id=147). Other client libraries will be available later on GitHub (https://github.com/kyght/InstallTracker). .Net client dll Usage ------------------------ installTrack = new Tracker(\"http://www.yoursite.com/wp-admin/admin-ajax.php\", \"YourProduct\", \"2.1.16.80\", \"666745\"); * installTrack.Register(String key, String name, String email, String contact, String phone, String address, String city, String state, String zipcode) * installTrack.Usage(String key, OnTrackerComplete onComplete ) * installTrack.UpgradeAvailable(OnUpgradeAvailable onUpgrade) * installTrack.Download(String fileurl, String filename, System.ComponentModel.AsyncCompletedEventHandler onComplete, DownloadProgressChangedEventHandler onProgress) == Installation == 1. Upload `kyght-installtrack` folder to the `/wp-content/plugins/` directory 2. Activate the plugin through the \'Plugins\' menu in WordPress 3. Open Admin console, click Settings | InstallTracker and enter a secret key. 4. Start using the API as defined above * Option 1 - Make HTTP post calls from the platform your using * Option 2 - Download .Net Wrapper dll, import into your Visual Studio project and use it * var installTrack = new Tracker(\"http://www.yoursite.com/wp-admin/admin-ajax.php\", \"YourProduct\", \"2.1.16.80\", \"666745\"); == Frequently Asked Questions == = How do I call the functions = You can use any language that provides HTTP POST functionality. = What setup after install is required = Under (Wordpress | Settings | InstallTracker) you must initialize your API's secret key. You must supply this key in the "sky" parameter being posted. If your are missing the parameter or it doesn't match then the API will return a "0". This is the same result Wordpress gives when an AJAX call isn't available. = Can I use this from mobile applications = Yes, while App Stores do provide stats on number of installs, this doesn\'t include all users across all platforms. If your product \\ version is available on windows, web, android & ios, you can post usage data to your website. Example : "MyProduct 1.2.12" if you make usage calls to the same product \\ version cross platform the data will total together. == Screenshots == 1. Summary view of data collected, total products, usage, registration. Top 10 registrations by usage 2. List of products \\ versions and their usage. You don't have to setup products \\ version before hand. 3. List of registrations received with usage count and last used data. 4. Full registration display, view \\ edit \\ delete existing registrations. 5. Add \\ Delete Upgrade records, post newer versions of your product and have client download the link to install. == Changelog == Initial version