Comme quelques autres l'ont mentionné, je suis un énorme opposant à l' hostilité des clients par défaut, ce qui fait la renommée de l'industrie des licences. Je vais donc développer une bonne solution pour votre problème qui offre également un bon UX client .
Pour commencer, vous avez mentionné que vous disposez d'une version "limitée" de votre logiciel que vous utilisez pour essayer de convertir les clients en "mise à niveau" pour des fonctionnalités supplémentaires. Vous recherchez donc des licences de fonctionnalités pour votre produit, par exemple, un client peut acheter une licence pour la fonctionnalité X ou fonction-Y .
J'ai construit Keygen avec ce type de licence à l'esprit. Keygen est une API REST de licence qui vous permet de gérer les comptes d'utilisateurs, les licences et également de suivre l'utilisation / les associations des machines.
Ce que je ferais, c'est configurer 2 types de licences (une politique au sein de Keygen) où l'un est une politique de base pour la version gratuite limitée, et l'autre est une politique pour la version payante.
Je ne sais pas ce que vous utilisez pour les paiements, mais supposons que vous utilisez quelque chose comme Stripe (assez standard de nos jours) qui propose des webhooks . Keygen a également des webhooks (que vous l'utilisiez ou non, tout cela est toujours applicable). Vous pouvez intégrer Keygen pour parler avec votre fournisseur de paiement en utilisant des webhooks des deux côtés (pensez: customer.created
-> créer une licence de base pour le client,license.created
-> facturer au client la nouvelle licence).
Ainsi, en utilisant des webhooks, nous pouvons automatiser la création de licences pour les nouveaux clients. Qu'en est-il de la validation des licences dans l'application elle-même? Cela peut être fait de différentes manières, mais la manière la plus populaire consiste à demander à votre client d'entrer une longue clé de licence dans un champ de saisie que vous pouvez ensuite valider; Je pense que c'est terrible façon de gérer la validation des licences dans votre application.
Pourquoi je pense ça? Tout d'abord, vous demandez à votre client de saisir une clé de licence fastidieusement destinée à la consommation de la machine, et deuxièmement, vous et votre client devez suivre cette clé de licence fastidieusement longue .
D'accord, alors quelle est une alternative? Je pense que la meilleure alternative est de faire quelque chose auquel tous vos clients sont habitués: leur permettre de créer un compte pour votre produit en utilisant un e-mail / mot de passe . Vous pouvez ensuite associer toutes leurs licences et leurs machines à ce compte. Alors maintenant, au lieu de saisir une clé de licence, ils peuvent simplement se connecter en utilisant leurs informations d'identification.
Quel avantage cela vous donne-t-il? Premièrement, il supprime la nécessité pour vous et vos clients de garder une trace des clés de licence, car tout est géré en arrière-plan à l'intérieur de leur compte d'utilisateur et surtout: vous pouvez maintenant offrir à vos clients une licence et une machine libre-service. Activation! c'est-à-dire que toutes leurs licences et machines sont associées à leur compte utilisateur, vous pouvez les inviter à acheter une licence lorsqu'ils lancent votre application sur une machine non reconnue.
Maintenant , sur la validation de la licence : chaque fois que votre client se connecte dans votre application avec leur e - mail / mot de passe, vous pouvez interroger leur compte utilisateur pour les licences dont ils sont propriétaires pour déterminer si elles peuvent utiliser fonction-X ou fonction-Y . Et puisque votre application est désormais en libre-service , vous pouvez permettre à vos clients d'acheter des fonctionnalités supplémentaires directement depuis votre application!
Nous avons donc introduit une tonne d'automatisation dans notre système de licences, nous pouvons octroyer des licences pour des fonctionnalités individuelles (c'est-à-dire une version limitée par rapport à la version complète), nous avons offert une expérience utilisateur impressionnante à nos clients et nous avons également atténué l'une des principales raisons pour les demandes d'assistance: récupération de clé de licence.
Quoi qu'il en soit, cela est devenu long mais j'espère que cela aide quelqu'un!