Jak kilku innych wspomnianych, jestem ogromnym przeciwnikiem domyślnej wrogości wobec klientów - coś, z czego przemysł licencjonowania jest znany. Więc rozwinę dobre rozwiązanie twojego problemu, które oferuje również dobry interfejs użytkownika .
Na początek wspomniałeś, że masz „ograniczoną” wersję oprogramowania, którego używasz do próby przekonwertowania klientów na „uaktualnienie” w celu uzyskania dodatkowych funkcji. Więc co szukasz są licencje funkcji dla danego produktu, np klient może zakupić licencję dla funkcji-X lub funkcji Y .
Zbudowałem Keygen z myślą o tego rodzaju licencjach. Keygen to licencjonowany interfejs API REST, który pozwala zarządzać kontami użytkowników, licencjami, a także śledzić wykorzystanie / powiązania maszyn.
Chciałbym skonfigurować 2 typy licencji ( polisa w Keygen), gdzie jedna jest polisą podstawową dla ograniczonej wersji darmowej, a druga polisą dla wersji płatnej.
Nie jestem pewien, czego używasz do płatności, ale załóżmy, że używasz czegoś takiego jak Stripe (obecnie dość standardowy), który oferuje haczyki internetowe . Keygen ma również haki internetowe (niezależnie od tego, czy z niego korzystasz, czy nie, wszystko to nadal obowiązuje). Możesz zintegrować Keygen, aby rozmawiać z dostawcą płatności za pomocą haczyków internetowych z obu stron (pomyśl: customer.created
-> utwórz licencję podstawową dla klienta, license.created
-> obciąż klienta za nową licencję).
Dzięki wykorzystaniu haków internetowych możemy zautomatyzować tworzenie licencji dla nowych klientów. A co z weryfikacją licencji w samej aplikacji? Można to zrobić na wiele sposobów, ale najbardziej popularnym jest wymaganie od klienta wprowadzenia długiego klucza licencyjnego w polu wejściowym, które można następnie zweryfikować; Myślę, że to okropny sposób na sprawdzenie poprawności licencji w twojej aplikacji.
Dlaczego tak myślę? Po pierwsze, wymagasz od klienta wprowadzenia żmudnie długiego klucza licencyjnego przeznaczonego na zużycie maszyny, a po drugie, wymaganie od ciebie i twojego klienta śledzenia tego żmudnie długiego klucza licencyjnego .
Okej, więc jaka jest alternatywa? Myślę, że najlepszą alternatywą jest zrobienie czegoś, do czego wszyscy klienci są przyzwyczajeni: umożliwienie im utworzenia konta dla twojego produktu za pomocą adresu e-mail / hasła . Następnie możesz powiązać wszystkie ich licencje i ich maszyny z tym kontem. Teraz zamiast wprowadzać klucz licencyjny, mogą po prostu zalogować się przy użyciu swoich poświadczeń.
Jakie to daje ci korzyści? Po pierwsze, pozbywa się potrzeby śledzenia kluczy licencyjnych przez ciebie i twoich klientów, ponieważ wszystko to jest obsługiwane za kulisami na koncie użytkownika, a co najważniejsze: możesz teraz oferować klientom samoobsługową licencję i maszynę aktywacja! tzn. ponieważ wszystkie ich licencje i komputery są powiązane z ich kontem użytkownika, możesz poprosić ich o zakup licencji, gdy uruchomią aplikację na nierozpoznanym komputerze.
Teraz do sprawdzania licencji : ilekroć dzienniki klientów do aplikacji z ich e-mail / hasło, można wyszukać swoje konto użytkownika na licencji są właścicielami w celu ustalenia, czy mogą wykorzystywać funkcje X lub funkcja-Y . A ponieważ Twoja aplikacja jest teraz samoobsługowa , możesz pozwolić klientom na zakup dodatkowych funkcji bezpośrednio z poziomu aplikacji!
Dlatego wprowadziliśmy mnóstwo automatyzacji do naszego systemu licencyjnego, możemy licencjonować poszczególne funkcje (tj. Wersję ograniczoną vs. pełną), zaoferowaliśmy naszym klientom niesamowity UX, a także złagodziliśmy jeden z największych powodów w przypadku wniosków o wsparcie: odzyskiwanie klucza licencyjnego.
W każdym razie to trwało długo, ale mam nadzieję, że komuś pomaga!