## Classes

### Coverage Distribution

### Complexity

### Insufficient Coverage

Class | Coverage
--- | ---
SwapAds\Client\License\FreemiusWebhookForwarder | 0%
SwapAds\Client\License\LicenseWebhookReceiver | 0%
SwapAds\Client\License\FreemiusAutoActivator | 31%
SwapAds\Client\License\LicenseManager | 49%
SwapAds\Client\License\LicenseHeartbeat | 87%

### Project Risks

Class | CRAP
--- | ---
SwapAds\Client\License\FreemiusAutoActivator | 727
SwapAds\Client\License\LicenseManager | 536
SwapAds\Client\License\LicenseWebhookReceiver | 420
SwapAds\Client\License\FreemiusWebhookForwarder | 380
SwapAds\Client\License\LicenseHeartbeat | 13

## Methods

### Coverage Distribution

### Complexity

### Insufficient Coverage

Method | Coverage
--- | ---
register | 0%
scheduleResyncCron | 0%
maybeAutoActivate | 0%
forceResync | 0%
register | 0%
onLicenseLoaded | 0%
onLicenseChange | 0%
onAccountChange | 0%
onAfterUninstall | 0%
forward | 0%
getLastResult | 0%
freemiusSiteSecret | 0%
sdkHasSite | 0%
register | 0%
registerRoute | 0%
handle | 0%
validateHmac | 0%
runActivation | 16%
sdkHasLicense | 18%
status | 18%
freemiusSiteId | 22%
shouldAttempt | 25%
activateViaSdk | 33%
getStatus | 40%
secret | 40%
freemiusPlanId | 50%
isLicensed | 55%
key | 63%
deregister | 66%
ensureServerSecret | 80%
register | 80%

### Project Risks

Method | CRAP
--- | ---
handle | 90
validateHmac | 90
status | 77
runActivation | 69
forward | 56
sdkHasLicense | 43
freemiusSiteSecret | 42
sdkHasSite | 30
freemiusSiteId | 22
onAccountChange | 20
isLicensed | 11
shouldAttempt | 10
ensureServerSecret | 9
freemiusPlanId | 8
key | 7
secret | 7
scheduleResyncCron | 6
maybeAutoActivate | 6
forceResync | 6
onLicenseLoaded | 6
onLicenseChange | 6
getLastResult | 6
activateViaSdk | 5
getStatus | 4
register | 3
deregister | 2