If the user connects with the server today, and uses the software every day, it will not try to connect to the server again for 30 days. If, after 30 days, it cannot connect, then it starts a 14 day clock as a grace period. Correct?
Yep.
Assuming that is true. Does it warn every day for those 14 days to reverify?
Nope. The API doesn't show any warnings or errors to users whatsoever. You're in control of the UI / UX. Use TA_GenuineDays()
if you want to show UIs of some sort.
And would that essentially just be showing the ReVerifyNow form?
The reverify form is after the X + Y days has elapsed.
Ideally, in my case I would prefer, the system attempt to connect every day.
If it has been ‘DaysBetweenChecks’ days and been unable to connect,
- then the Grace period would begin and we would start warning each day until either connection was successful or GracePeriodLength days has passed, in which case we would set isGenuine to false.
You can do that, but it's not recommended. There are very few reasons to re-verify with the servers so often unless you're *constantly* changing custom license fields or your level of credit card fraud is extremely high.
Which, I'm guessing neither of those things is happening. So, sticking with the defaults is the best option.
Also, is there a method to actively tell it to connect to the server? This from TurboActivate.vb tells me it should do it, but when I disable my internet connection, and call it, it comes back as TA_OK
There's a local cache from causing users of TA to hammer our activation servers on “internet failure”. So, it works, but “testing it” often will result in TA ignoring some requests.
Calling it normally will result in normal behavior.
Or can I just call useTrial() upon Startup. Track expired with TrialDaysRemaining()
.
Then if NOT isGenuine we know we are using trial? And if TrialDaysRemaining <1 I know it is expired.
Yes, you could do that.
Sorry if I am being dense here. It is really hard to debug this as my programming machine is TrialDaysRemaining
=0. (I understand why you do not have a function to clear that - but it does make debugging a bit difficult.)
Just extend the trial.