I have this HTTP request, I expected this, but WURFL is returning that. Please provide enough data to reproduce the problem.
Posts: 3
Joined: Mon Feb 25, 2013 4:35 am


Postby InMobi » Tue Jun 14, 2016 3:10 am

I am unable to understand DO_NOT_MATCHED significance .

what does following entries signifies ? . does it mean that it wont detect "apple_ipod_ver1" ,"apple_ipod_touch_ver1_subhw1","apple_ipod_touch_ver2_subhw1" ?

<device id="apple_ipod_ver1" user_agent="DO_NOT_MATCH_TEMP_IPOD_TOUCH_ENTRY" fall_back="apple_ipod_touch_ver1"/>
<device id="apple_ipod_touch_ver1_subhw1" user_agent="DO_NOT_MATCH_IOS_1_1_IPT_1" fall_back="apple_ipod_touch_ver1" actual_device_root="true">
<device id="apple_ipod_touch_ver2_subhw1" user_agent="DO_NOT_MATCH_IOS_2_IPT_1" fall_back="apple_ipod_touch_ver2" actual_device_root="true">
<device id="apple_ipod_touch_ver2_1_subhw1" user_agent="DO_NOT_MATCH_IOS_2_1_IPT_1" fall_back="apple_ipod_touch_ver2_1" actual_device_root="true">
<device id="apple_ipod_touch_ver2_2_subhw1" user_agent="DO_NOT_MATCH_IOS_2_2_IPT_1" fall_back="apple_ipod_touch_ver2_2" actual_device_root="true">

Posts: 189
Joined: Wed Dec 09, 2015 12:39 pm


Postby aaronp » Tue Jul 19, 2016 3:59 pm


The significance in the "DO_NOT_MATCH" string is that we do not want any user agents that you encounter to match these devices. The reason for this can vary, but in the case of Apple devices, it is for a very specific reason.

This reason is that Apple devices in general have very generic user agent strings for their devices, meaning many different devices share the same user agent string and it is impossible to tell them apart by looking at just the user agent.

Here is a user agent for an iPod:

Mozilla/5.0 (iPod; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/3.1.1 Mobile/7A259g Safari/525.20

In the example above, you can see that it does say that it is an iPod that runs on iOS 3, but it does not specify which iPod it is. This means that it could be the 1st or 2nd generation of iPod Touch. This means that the API will return the device id apple_ipod_touch_ver3 which just lets you know that it is an iPod device that runs iOS 3. This is fine for many of our customers.

As I mentioned in my earlier message, we do have a product that can differentiate between these models using javascript called wurfl.js. This is where "DO_NOT_MATCH" comes into play for Apple devices. If you look at Apple devices with the "DO_NOT_MATCH" string, you will notice that most of them will have a subhw in their device ID. This is to indicate that it is a device that wurfl.js points to when it finds the model information. The reason that there is a "DO_NOT_MATCH" there is because our regular API's will not be able to detect these anyways (for the reasons I talked about above) so we do not want them matched.

I hope that this helps you understand our product better. If you are stuck on anything or have any other questions, please provide a use case so we can understand your issue better.



Who is online

Users browsing this forum: No registered users and 1 guest