Hi all,
I noticed the "deviceType" field in UPS seems to be used inconsistently between
Server and the SDKs, and is perhaps underspecified.
The docs only say this much:
https://aerogear.org/docs/unifiedpush/client-registration/
* "deviceType: The device type of the device or the user agent."
- what does "device type of the device" mean? "Type" in what sense?
https://aerogear.org/docs/unifiedpush/push-message-format/
* "deviceType: A list of raw device types that should receive the message (e.g.
Coupon only for iPad and AndroidTablets). The deviceType needs to be stored when the
device is registering itself with the server."
- what's a "raw device type"?
- "needs to be stored" - who needs to do that? Store where?
When trying to use the Sender API, the obvious question is: what's the list of
possible values? The docs don't answer that.
Another missing piece of information:
* Is the deviceType an arbitrary string set by the user during registration?
* Or, is it somehow automatically set by the client SDKs?
After a bit of digging through the SDKs and APIs, I can see this (not necessarily 100%
correct):
* The Sender API accepts arbitrary values
* Android SDK - has deviceType in model, sets to "ANDROID" by default
* Windows SDK - doesn't even have deviceType in model
* iOS SDK - has deviceType in model, doesn't set to any default value
* Cordova Android - doesn't set, so uses "ANDROID"
* Cordova WP8 - not in model, not set
* Cordova iOS - sets UIDevice.model (I can't really read ObjC, just a guess by looking
at the code)
Can we come up with clearer semantics for the deviceType field?
Thanks,
Ron
--
Ron Smeral
Technical Writer, FeedHenry
Red Hat
Brno