Choose the provisioning path reported for the specific device, not a universal default. Imou OpenSDK documents SmartConfig and SoftAP for wireless onboarding; a wired device with working internet connectivity does not need a network-configuration process. Query unbound-device information and follow the current SDK demo for the reported mode. Provisioning and initialization are client-SDK responsibilities, while binding may also involve backend HTTP APIs.
Why it matters
Provisioning failures often come from selecting a flow before discovering what the device supports. SmartConfig sends wireless-network information through the supported discovery flow. SoftAP requires the user’s phone to connect to the device hotspot. Wired onboarding skips Wi-Fi configuration, but the cable still needs external network access. These are different user journeys, permission requirements, and recovery paths.
Approach / architecture
| Observed condition | Path | User-experience implication |
|---|---|---|
wifiConfigMode includes SmartConfig
|
SmartConfig | Collect network credentials in the client and follow the SDK flow. |
wifiConfigMode includes SoftAP
|
SoftAP | Guide the user to connect to the device hotspot, then run the SDK flow. |
| Device is wired and can reach the internet | Wired | Skip network configuration; check online state and continue onboarding. |
| Mode is different or ambiguous | Current device-specific guidance | Do not force one of the three paths; use the returned mode and current SDK documentation. |
The official unBindDeviceInfo response documents wifiConfigMode, wifiConfigModeOptional, status, binding status, model information, and capability information. Its legal mode values extend beyond the three paths discussed here, which is another reason not to hard-code a global choice.
Six implementation steps
- Scan or collect the device identity safely. Avoid logging verification codes or passwords.
-
Call
unBindDeviceInfofrom the trusted backend. Inspect support, existence, status,bindStatus,wifiConfigMode, and whether mode selection is optional. - Render the matching client flow. Use the current Android or iOS OpenSDK instructions and demo rather than inventing SDK method names.
- Complete network access. For SmartConfig or SoftAP, follow the SDK sequence; for wired hardware, ensure the cable can reach the external network.
- Check online and initialization state. Some devices require initialization before binding; the SDK flow and returned capability data guide this branch.
- Bind only after the device is ready. Complete the documented binding path and then verify that the device appears under the intended account.
APIs / SDKs
-
unBindDeviceInforeports unbound-device state and supported pairing modes. - Android OpenSDK documents SmartConfig, SoftAP, and the wired-device note.
- iOS OpenSDK documents the corresponding client onboarding flows.
-
bindDevicebinds a device to the specified account when that HTTP path is applicable.
Keep AppSecret and administrator access tokens on the backend. The mobile client should receive only the data needed for its SDK operation. Do not copy example secrets or device credentials into production code.
Limits & pitfalls
- Support varies by device and software generation; this article is not a model matrix.
-
wifiConfigModemay contain values other than SmartConfig or SoftAP. Handle the documented response instead of coercing an unsupported path. - SoftAP changes the phone’s network context. Design clear instructions and recovery when the OS refuses or drops the hotspot connection.
- Wired means “no network configuration process,” not “no network dependency.” Internet reachability is still required.
- Online, initialized, and bound are separate states. A successful Wi-Fi step does not prove account binding.
- Device verification input differs by device capability. Follow the live
bindDevicepage and SDK flow; never guess a default code. - Mobile permissions and operating-system behavior can affect discovery. Recheck current SDK release notes during QA.
Validation checklist
Test each supported path with the exact production device and firmware. Cover wrong Wi-Fi credentials, no external connectivity, a device already bound elsewhere, interrupted onboarding, app restart, and retry. Confirm that retries do not create duplicate application records and that support staff can identify the last completed stage without seeing secrets.
Instrument milestones rather than sensitive inputs: mode selected, SDK stage entered, online check result, initialization branch, binding result, and request ID. This is recommended application observability, not an Imou protocol requirement. It lets teams distinguish a local-network problem from a platform or account problem without claiming unsupported platform behavior.
Ownership at each boundary
The end user provides the intended network and performs physical actions such as powering or resetting the device. The client app presents the SDK-guided flow and reports stage results. The backend protects platform credentials, queries authoritative device state, and records the account association. Imou Open Platform and the device complete the supported onboarding protocol. Making those boundaries visible in UI and support tooling reduces the temptation to retry a backend bind when the unresolved stage is local provisioning.
Record the selected mode and evidence behind it in the onboarding record. If device-reported guidance changes after an SDK update, rerun the relevant test instead of silently preserving an earlier assumption. This is application change control, not a claim about a universal device lifecycle.
Use the current mobile development documentation and SDK demo to validate the onboarding path for your chosen device.
Top comments (0)