Good idea, thanks!
Our JUCE module contains most of the stuff you need to handle licensing & delivery:
License activations (more on this later) Time-limited trials Offline activations Update notifications on new releases Analytics back to Moonbase (optional, stuff like host/daw/etc meta)Our licensing flow is a bit different than most, we want the smoothest process we can, and so what it does is just open a browser on your website, where our web SDKs take over the process and activate plugins on the website. Since customers are usually already logged in to your website, since they made a purchase, downloaded your plugin, or whatever else, we can immediately activate the plugin.
We have a video of this flow, including the default UI of the JUCE module in our BSA customer story: https://moonbase.sh/stories/blacksaltaudio/
Having customer authentication on your website is a really good way to also provide a fully personalized storefront experience, where we can showcase segmented pricing, enabling loyalty discounts and a bunch of other cool things.
The biggest hurdle to adopting our JUCE module in HISE projects is the fact that it depends on JUCE version 7. I'm not the original author, but I know there's probably two things that would need to change for a downgrade to JUCE version 5 (which I think HISE is still using?):
The device fingerprinting needs to change. We had issues with the older JUCE (< v7) fingerprinting in cases where we crossed ~100k devices, where we saw collisions and unstable fingerprints. I believe we're also using some utilities from the newer URL/HTTP classes, but I'm not 100% certain of this.Generally, it's not a super complex module, but it is very battle-tested, powering hundreds of thousands of plugin installs.