The purpose of this module is to display available updates for any premium (paid) modules and themes. The module works similar to the core Update Manager module.

Premium Updates

There are few steps that you as a developer have to do in your modules and the website that will serve as an update server.

You would need an endpoint that returns update status for your project. Here is the structure of the endpoint (https://www.example.com/update/project.json):

{
   "name":"Project Name",
   "machine_name":"project_machine_name",
   "type":"module",
   "description":"Module description",
   "project_url":"https://example.com/project_machine_name",
   "download_url":"https://example.com/project_machine_name/module.zip",
   "release_details_url":"",
   "version":"8.x-1.0",
   "core":"8.x,9.x",
   "tested_up_to":"9.x",
   "compatibility":null,
   "timestamp":"1597555788",
   "security_update":false,
   "author":"Minnur Yunusov",
   "author_homepage":"https:\/\/www.minnur.com"
}

And you would need to implement hook_update_premium() in the .module file.

/**
 * Implements hook_update_premium().
 */
function hook_update_premium() {
  return [
      [
        'name' => 'module_machine_name',
        'category' => 'modules', // or 'themes'
        'project_url' => 'https://example',
        'update_server' => 'https://example/update...', // remote server that returns JSON with update data.
        'parameters' => [], // URL parameters that you need to pass to remote server.
      ],
    ];
}

That's it, now when you access /admin/reports/updates/premium you should be able to see your project with its update status.

Client module is in progress (the module that would generate JSON described in step 2).

Project information

Releases