Virtual Fitness (Video On-Demand)
Virtual Fitness connects members to on-demand workout video from partner platforms -- currently NEOU and Lifetime Digital. AFCore tells your app whether the member's partner account is linked, gives you the partner's sign-up details, and links or unlinks the account; once linked, the member's partner workouts count toward their goals. Requires the partner program to be enabled for your client.
What you can do
- Check whether the member's partner account is connected, not enrolled yet, or disabled by the partner.
- Send the member to the partner's sign-up with the partnership link and promo code.
- Confirm the link when the member comes back, and disconnect it when they opt out.
Key APIs
| Call | What it is for |
|---|---|
getNEOUStatus() / getLifetimeDigitalStatus() | The member's partner account: CONNECTED, NOT_ENROLLED or ACCOUNT_DISABLED |
getNEOUSignUpDetails() / getLifetimeSignUpDetails() | The partner's sign-up link, promo code and app links |
registerNEOUProfile() / registerLifetimeDigitalProfile() | Links the member's partner account after sign-up |
disconnectNEOUProfile() / disconnectLifetimeDigitalProfile() | Unlinks it |
Example: route the member to NEOU
Lifetime Digital follows the same flow with its own calls.
- Android (Kotlin)
- iOS (Swift)
lifecycleScope.launch {
try {
when (AFCore.virtualFitness().getNEOUStatus()) {
VirtualFitnessStatus.CONNECTED -> openNeouContent()
VirtualFitnessStatus.ACCOUNT_DISABLED -> showContactPartner()
VirtualFitnessStatus.NOT_ENROLLED -> {
val details = AFCore.virtualFitness().getNEOUSignUpDetails()
openSignUp(details.signUpUrl, details.promoCode)
// When the member comes back: AFCore.virtualFitness().registerNEOUProfile()
}
}
} catch (t: Throwable) {
showError(t)
}
}
Task {
do {
switch try await AFCore.shared.virtualFitness().getNEOUStatus() {
case .connected:
openNeouContent()
case .accountDisabled:
showContactPartner()
default:
let details = try await AFCore.shared.virtualFitness().getNEOUSignUpDetails()
openSignUp(details.signUpUrl, details.promoCode)
// When the member comes back: AFCore.shared.virtualFitness().registerNEOUProfile()
}
} catch {
showError(error)
}
}
Learn more
- API Reference -- every Virtual Fitness call and model.
- Complete integration guides for NEOU and Lifetime Digital are in AIDE Docs.