Skip to content

Commit a6bb069

Browse files
Automation51DAutomation51D
andauthored
Merged Pull Request '#507 properties-update/main->main: Update properties'
Co-authored-by: Automation51D <51DCI@51Degrees.com>
1 parent af651b3 commit a6bb069

2 files changed

Lines changed: 32 additions & 92 deletions

File tree

device-detection.shared/src/main/java/fiftyone/devicedetection/shared/DeviceData.java

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,6 @@ public interface DeviceData extends AspectData
128128
* Indicates the version or subversion of the underlying browser source project.
129129
*/
130130
AspectPropertyValue<String> getBrowserSourceProjectVersion();
131-
/**
132-
* Indicates if the browser supports the experimental Privacy Sandbox API proposals from Google.
133-
*/
134-
AspectPropertyValue<String> getBrowserSupportsPrivacySandbox();
135131
/**
136132
* Indicates the name of the company which created the browser.
137133
*/
@@ -196,6 +192,10 @@ public interface DeviceData extends AspectData
196192
* Identification tokens, defined by the IETF, that a crawler includes in the User-Agent request header field to identify the crawler software.
197193
*/
198194
AspectPropertyValue<List<String>> getCrawlerProductTokens();
195+
/**
196+
* The url of the web page containing information from the crawler controller about the crawler. Where there is no publicly available information about the crawler, this instead links to their public website.
197+
*/
198+
AspectPropertyValue<String> getCrawlerUrl();
199199
/**
200200
* Indicates the purpose for which a crawler accesses content, including search, AI indexing, AI model training, and archiving data.
201201
*/
@@ -529,7 +529,7 @@ public interface DeviceData extends AspectData
529529
*/
530530
AspectPropertyValue<Boolean> getInVRMode();
531531
/**
532-
* Indicates whether the crawler is confirmed by the crawler controller to be used to train artificial intelligence.
532+
* Indicates whether the crawler operates for an AI related purpose, as defined by the values in the CrawlerUsage property. This is based on our judgement of information available from the crawler controller or other trusted research.
533533
*/
534534
AspectPropertyValue<String> getIsArtificialIntelligence();
535535
/**
@@ -844,14 +844,6 @@ public interface DeviceData extends AspectData
844844
* Indicates if the browser supports simple dialogues (window.alert, window.confirm and window.prompt).
845845
*/
846846
AspectPropertyValue<Boolean> getPrompts();
847-
/**
848-
* Refers to the experimental Privacy Sandbox Protected Audience API proposal from Google. Indicates whether the API caller can register an "AdInterestGroup" and checks whether the website has not blocked the Protected Audience API using a Permissions Policy. Please be aware we have observed latency issues when interacting with the API.
849-
*/
850-
AspectPropertyValue<String> getProtectedAudienceAPIEnabled();
851-
/**
852-
* JavaScript that overrides the property value for the ProtectedAudienceAPIEnabled property.
853-
*/
854-
AspectPropertyValue<JavaScript> getProtectedAudienceAPIEnabledJavaScript();
855847
/**
856848
* Indicates the maximum number of frames per second of the output image of the device in Hertz.
857849
*/
@@ -1012,14 +1004,6 @@ public interface DeviceData extends AspectData
10121004
* Contains the Accept-CH HTTP header values to add to the HTTP response for the platform component. UACH values Sec-CH-UA-Platform, and Sec-CH-UA-Platform-Version are relevant. The default value is Unknown if the browser does not fully support UACH.
10131005
*/
10141006
AspectPropertyValue<String> getSetHeaderPlatformAcceptCH();
1015-
/**
1016-
* Refers to the experimental Privacy Sandbox Shared Storage API proposal from Google. Indicates whether the API caller can access "Shared Storage" and checks whether the website has not blocked the Shared Storage API using a Permissions Policy.
1017-
*/
1018-
AspectPropertyValue<String> getSharedStorageAPIEnabled();
1019-
/**
1020-
* JavaScript that overrides the property value for the SharedStorageAPIEnabled property.
1021-
*/
1022-
AspectPropertyValue<JavaScript> getSharedStorageAPIEnabledJavaScript();
10231007
/**
10241008
* Indicates the primary marketing name of the System on Chip (chipset) which includes the CPU, GPU and modem. e.g. Snapdragon S4
10251009
*/
@@ -1148,14 +1132,6 @@ public interface DeviceData extends AspectData
11481132
* Contains JavaScript that can override the property ThirdPartyCookiesEnabled. This property returns NotSupported for browsers which cannot support third party cookies.
11491133
*/
11501134
AspectPropertyValue<JavaScript> getThirdPartyCookiesEnabledJavaScript();
1151-
/**
1152-
* Refers to the experimental Privacy Sandbox Topics API proposal from Google. Indicates if the API caller has observed one or more topics for a user and checks whether the website has not blocked the Topics API using a Permissions Policy.
1153-
*/
1154-
AspectPropertyValue<String> getTopicsAPIEnabled();
1155-
/**
1156-
* JavaScript that overrides the property value for the TopicsAPIEnabled property.
1157-
*/
1158-
AspectPropertyValue<JavaScript> getTopicsAPIEnabledJavaScript();
11591135
/**
11601136
* Indicates if the browser supports the method of registering and interpreting finder (or stylus) activity on touch screens or trackpads.
11611137
*/

device-detection.shared/src/main/java/fiftyone/devicedetection/shared/DeviceDataBase.java

Lines changed: 27 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1398,6 +1398,18 @@ protected DeviceDataBase(
13981398
@SuppressWarnings("unchecked")
13991399
@Override
14001400
public AspectPropertyValue<Boolean> getInVRMode() { return getAs("invrmode", AspectPropertyValue.class, Boolean.class); }
1401+
/**
1402+
* Indicates the Type Allocation Code (TAC) for devices supporting GSM/3GPP networks which come from multiple sources. This property will return 'N/A' if we cannot determine the device TAC authenticy.
1403+
*/
1404+
@SuppressWarnings("unchecked")
1405+
@Override
1406+
public AspectPropertyValue<List<String>> getTAC() { return getAs("tac", AspectPropertyValue.class, List.class, String.class); }
1407+
/**
1408+
* Indicates the list of frequency bands supported by the device.
1409+
*/
1410+
@SuppressWarnings("unchecked")
1411+
@Override
1412+
public AspectPropertyValue<List<String>> getFrequencyBands() { return getAs("frequencybands", AspectPropertyValue.class, List.class, String.class); }
14011413
/**
14021414
* Indicates if the browser supports the WebP image format.
14031415
*/
@@ -1596,42 +1608,6 @@ protected DeviceDataBase(
15961608
@SuppressWarnings("unchecked")
15971609
@Override
15981610
public AspectPropertyValue<List<String>> getBrowserLogos() { return getAs("browserlogos", AspectPropertyValue.class, List.class, String.class); }
1599-
/**
1600-
* JavaScript that overrides the property value for the SharedStorageAPIEnabled property.
1601-
*/
1602-
@SuppressWarnings("unchecked")
1603-
@Override
1604-
public AspectPropertyValue<JavaScript> getSharedStorageAPIEnabledJavaScript() { return getAs("sharedstorageapienabledjavascript", AspectPropertyValue.class, JavaScript.class); }
1605-
/**
1606-
* JavaScript that overrides the property value for the ProtectedAudienceAPIEnabled property.
1607-
*/
1608-
@SuppressWarnings("unchecked")
1609-
@Override
1610-
public AspectPropertyValue<JavaScript> getProtectedAudienceAPIEnabledJavaScript() { return getAs("protectedaudienceapienabledjavascript", AspectPropertyValue.class, JavaScript.class); }
1611-
/**
1612-
* Indicates if the browser supports the experimental Privacy Sandbox API proposals from Google.
1613-
*/
1614-
@SuppressWarnings("unchecked")
1615-
@Override
1616-
public AspectPropertyValue<String> getBrowserSupportsPrivacySandbox() { return getAs("browsersupportsprivacysandbox", AspectPropertyValue.class, String.class); }
1617-
/**
1618-
* JavaScript that overrides the property value for the TopicsAPIEnabled property.
1619-
*/
1620-
@SuppressWarnings("unchecked")
1621-
@Override
1622-
public AspectPropertyValue<JavaScript> getTopicsAPIEnabledJavaScript() { return getAs("topicsapienabledjavascript", AspectPropertyValue.class, JavaScript.class); }
1623-
/**
1624-
* Refers to the experimental Privacy Sandbox Shared Storage API proposal from Google. Indicates whether the API caller can access "Shared Storage" and checks whether the website has not blocked the Shared Storage API using a Permissions Policy.
1625-
*/
1626-
@SuppressWarnings("unchecked")
1627-
@Override
1628-
public AspectPropertyValue<String> getSharedStorageAPIEnabled() { return getAs("sharedstorageapienabled", AspectPropertyValue.class, String.class); }
1629-
/**
1630-
* Refers to the experimental Privacy Sandbox Protected Audience API proposal from Google. Indicates whether the API caller can register an "AdInterestGroup" and checks whether the website has not blocked the Protected Audience API using a Permissions Policy. Please be aware we have observed latency issues when interacting with the API.
1631-
*/
1632-
@SuppressWarnings("unchecked")
1633-
@Override
1634-
public AspectPropertyValue<String> getProtectedAudienceAPIEnabled() { return getAs("protectedaudienceapienabled", AspectPropertyValue.class, String.class); }
16351611
/**
16361612
* JavaScript that checks for browser specific features and overrides the ProfileID.
16371613
*/
@@ -1650,12 +1626,6 @@ protected DeviceDataBase(
16501626
@SuppressWarnings("unchecked")
16511627
@Override
16521628
public AspectPropertyValue<String> getBrowserSourceProjectVersion() { return getAs("browsersourceprojectversion", AspectPropertyValue.class, String.class); }
1653-
/**
1654-
* Refers to the experimental Privacy Sandbox Topics API proposal from Google. Indicates if the API caller has observed one or more topics for a user and checks whether the website has not blocked the Topics API using a Permissions Policy.
1655-
*/
1656-
@SuppressWarnings("unchecked")
1657-
@Override
1658-
public AspectPropertyValue<String> getTopicsAPIEnabled() { return getAs("topicsapienabled", AspectPropertyValue.class, String.class); }
16591629
/**
16601630
* Indicates the height of the device's screen in physical pixels. This property is not applicable for a device that does not have a screen. For devices such as tablets or TV which are predominantly used in landscape mode, the pixel height will be the smaller value compared to the pixel width.
16611631
*/
@@ -1681,7 +1651,7 @@ protected DeviceDataBase(
16811651
@Override
16821652
public AspectPropertyValue<List<String>> getSupportedBluetoothProfiles() { return getAs("supportedbluetoothprofiles", AspectPropertyValue.class, List.class, String.class); }
16831653
/**
1684-
* Indicates whether the crawler is confirmed by the crawler controller to be used to train artificial intelligence.
1654+
* Indicates whether the crawler operates for an AI related purpose, as defined by the values in the CrawlerUsage property. This is based on our judgement of information available from the crawler controller or other trusted research.
16851655
*/
16861656
@SuppressWarnings("unchecked")
16871657
@Override
@@ -1735,63 +1705,57 @@ protected DeviceDataBase(
17351705
@Override
17361706
public AspectPropertyValue<List<String>> getCrawlerProductTokens() { return getAs("crawlerproducttokens", AspectPropertyValue.class, List.class, String.class); }
17371707
/**
1738-
* Indicates the Type Allocation Code (TAC) for devices supporting GSM/3GPP networks which come from multiple sources. This property will return 'N/A' if we cannot determine the device TAC authenticy.
1739-
*/
1740-
@SuppressWarnings("unchecked")
1741-
@Override
1742-
public AspectPropertyValue<List<String>> getTAC() { return getAs("tac", AspectPropertyValue.class, List.class, String.class); }
1743-
/**
1744-
* Indicates the list of frequency bands supported by the device.
1708+
* The url of the web page containing information from the crawler controller about the crawler. Where there is no publicly available information about the crawler, this instead links to their public website.
17451709
*/
17461710
@SuppressWarnings("unchecked")
17471711
@Override
1748-
public AspectPropertyValue<List<String>> getFrequencyBands() { return getAs("frequencybands", AspectPropertyValue.class, List.class, String.class); }
1712+
public AspectPropertyValue<String> getCrawlerUrl() { return getAs("crawlerurl", AspectPropertyValue.class, String.class); }
17491713
/**
17501714
*
17511715
*/
17521716
@SuppressWarnings("unchecked")
17531717
@Override
17541718
public AspectPropertyValue<String> getProfiles() { return getAs("profiles", AspectPropertyValue.class, String.class); }
17551719
/**
1756-
* Used when detection method is not Exact or None. This is an integer value and the larger the value the less confident the detector is in this result.
1720+
* The method used to determine the match result.
17571721
*/
17581722
@SuppressWarnings("unchecked")
17591723
@Override
1760-
public AspectPropertyValue<Integer> getDifference() { return getAs("difference", AspectPropertyValue.class, Integer.class); }
1724+
public AspectPropertyValue<String> getMethod() { return getAs("method", AspectPropertyValue.class, String.class); }
17611725
/**
1762-
* The number of iterations carried out in order to find a match. This is the number of nodes in the graph which have been visited.
1726+
* The matched User-Agents.
17631727
*/
17641728
@SuppressWarnings("unchecked")
17651729
@Override
1766-
public AspectPropertyValue<Integer> getIterations() { return getAs("iterations", AspectPropertyValue.class, Integer.class); }
1730+
public AspectPropertyValue<List<String>> getUserAgents() { return getAs("useragents", AspectPropertyValue.class, List.class, String.class); }
17671731
/**
1768-
* Consists of four components separated by a hyphen symbol: Hardware-Platform-Browser-IsCrawler where each Component represents an ID of the corresponding Profile.
1732+
* The number of iterations carried out in order to find a match. This is the number of nodes in the graph which have been visited.
17691733
*/
17701734
@SuppressWarnings("unchecked")
17711735
@Override
1772-
public AspectPropertyValue<String> getDeviceId() { return getAs("deviceid", AspectPropertyValue.class, String.class); }
1736+
public AspectPropertyValue<Integer> getIterations() { return getAs("iterations", AspectPropertyValue.class, Integer.class); }
17731737
/**
1774-
* The method used to determine the match result.
1738+
* Total difference in character positions where the substrings hashes were found away from where they were expected.
17751739
*/
17761740
@SuppressWarnings("unchecked")
17771741
@Override
1778-
public AspectPropertyValue<String> getMethod() { return getAs("method", AspectPropertyValue.class, String.class); }
1742+
public AspectPropertyValue<Integer> getDrift() { return getAs("drift", AspectPropertyValue.class, Integer.class); }
17791743
/**
17801744
* Indicates the number of hash nodes matched within the evidence.
17811745
*/
17821746
@SuppressWarnings("unchecked")
17831747
@Override
17841748
public AspectPropertyValue<Integer> getMatchedNodes() { return getAs("matchednodes", AspectPropertyValue.class, Integer.class); }
17851749
/**
1786-
* The matched User-Agents.
1750+
* Used when detection method is not Exact or None. This is an integer value and the larger the value the less confident the detector is in this result.
17871751
*/
17881752
@SuppressWarnings("unchecked")
17891753
@Override
1790-
public AspectPropertyValue<List<String>> getUserAgents() { return getAs("useragents", AspectPropertyValue.class, List.class, String.class); }
1754+
public AspectPropertyValue<Integer> getDifference() { return getAs("difference", AspectPropertyValue.class, Integer.class); }
17911755
/**
1792-
* Total difference in character positions where the substrings hashes were found away from where they were expected.
1756+
* Consists of four components separated by a hyphen symbol: Hardware-Platform-Browser-IsCrawler where each Component represents an ID of the corresponding Profile.
17931757
*/
17941758
@SuppressWarnings("unchecked")
17951759
@Override
1796-
public AspectPropertyValue<Integer> getDrift() { return getAs("drift", AspectPropertyValue.class, Integer.class); }
1760+
public AspectPropertyValue<String> getDeviceId() { return getAs("deviceid", AspectPropertyValue.class, String.class); }
17971761
}

0 commit comments

Comments
 (0)