Hello everyone,
Just a short notice on a potentially breaking change we introduced in our latest mobile SDK releases. iOS SDK is already live (v0.9.4) and Android will soon follow (will post version number when it will go live).
Our SDK had one weird behavior that caused few problems. Whenever you would call ParticleCloud.getDevice**s**
, we would go ahead and call ParticleCloud.getDevice
(no ‘s’) for EVERY device that is reported as being online by getDevice**s**
method. Originally this seemed like a great idea, that would simplify everything for you guys, but we’ve come to the point where it causes more trouble than it should:
- Now this behavior causes 429 HTTP errors (API throttling) for users who have many devices.
- Our SDK simply don’t offer any ways to just load device list as fast as possible when it is needed
- Since details would only be loaded for online devices, we couldn’t rely on details to be really fetched anyway
All things considered, we decided to decompose these two actions and make getDevices
return basic information about every user owned device, and require fetching full device info separately. To do that you have two options:
- Call
ParticleCloud.getDevice
which will returnParticleDevice
instance containing full device info - Call
ParticleDevice.refresh
onParticleDevice
instance returned by call toParticleCloud.getDevice**s**
Please let us know if this affects your apps significantly.