react-native-trustdevice 0.1.5 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -300
- package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/results.bin +1 -0
- package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/transformed/debug/com/trustdevice/BuildConfig.dex +0 -0
- package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/transformed/debug/com/trustdevice/TrustdeviceModule$1.dex +0 -0
- package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/transformed/debug/com/trustdevice/TrustdeviceModule.dex +0 -0
- package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/transformed/debug/com/trustdevice/TrustdevicePackage.dex +0 -0
- package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/transformed/debug/com/trustdevice/utils/TDUniRiskUtils.dex +0 -0
- package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/transformed/desugar_graph.bin +0 -0
- package/android/build/.transforms/a1c8911952ed0abe57a80ce78259f834/results.bin +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
- package/android/build/intermediates/javac/debug/classes/com/trustdevice/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/trustdevice/TrustdeviceModule$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/trustdevice/TrustdeviceModule.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/trustdevice/TrustdevicePackage.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/trustdevice/utils/TDUniRiskUtils.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/trustdevice/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/trustdevice/TrustdeviceModule$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/trustdevice/TrustdeviceModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/trustdevice/TrustdevicePackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/com/trustdevice/utils/TDUniRiskUtils.class +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build.gradle +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,107 +6,110 @@ Please note that when integrating SDK products provided by the TrustDecision in
|
|
|
6
6
|
|
|
7
7
|
1.1 According to the user's information protection regulations, before your users start the App for the first time and start collecting information, your company should fully inform the user of the purpose, method, and scope of collecting, using, and sharing the user's personal information with a third party through an interactive interface or design (such as a pop-up window of the privacy policy), and obtain the express consent of the end user.
|
|
8
8
|
|
|
9
|
-
1.2 To provide business security and risk control services to your company, the TrustDecision SDK will collect, process, and use the identification information
|
|
9
|
+
1.2 To provide business security and risk control services to your company, the TrustDecision SDK will collect, process, and use the identification information IDFA, AndroidID, OAID, MAC address, Wireless IP address, WIFI list, wireless router identification (BSSID, SSID),device type, device model, system type, geographical location(Rough location information, precise location information), login IP address and other device information of the user's device. To ensure compliance with your use of related services, the aforementioned privacy policy should cover the authorization of TrustDecision SDK to provide services and collect, process, and use relevant information. The following terms are for your reference. The specific expression can be determined by your company according to the overall framework and content of your privacy agreement:
|
|
10
10
|
|
|
11
11
|
<table border="1">
|
|
12
12
|
<tr>
|
|
13
|
-
<td style="background-color:#FAFAFA"><font size="2">TrustDecision SDK: For business security and risk control, our company uses the TrustDecision SDK. The SDK needs to obtain the information of your devices, such as
|
|
13
|
+
<td style="background-color:#FAFAFA"><font size="2">TrustDecision SDK: For business security and risk control, our company uses the TrustDecision SDK. The SDK needs to obtain the information of your devices, such as IDFA, AndroidID, OAID, GAID,MAC address, Wireless IP address, WIFI list, wireless router identification (BSSID, SSID),device type, device model, system type, geographical location(Rough location information, precise location information), login IP address, application list, running process, network type,device software version,sensor information(light sensor, gravity sensor, magnetic field sensor, acceleration sensor, gyroscope sensor) and other related device information, for fraud risk identification.</font></td>
|
|
14
14
|
</tr>
|
|
15
15
|
</table>
|
|
16
16
|
|
|
17
|
-
**Privacy Protocol:**
|
|
17
|
+
**Privacy Protocol:** <https://www.trustdecision.com/legal/privacy-policy>
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## Environment
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
| | Android | iOS |
|
|
22
|
+
| ------------------------- | ------------------------------------ | :----------------- |
|
|
23
|
+
| Supported System Versions | Android 5.0 and above | iOS 9.0 and above |
|
|
24
|
+
| Supported Architectures | armeabi, armeabi-v7a, arm64-v8a, x86 | armv7,arm64,x86_64 |
|
|
23
25
|
|
|
26
|
+
# Integrate
|
|
24
27
|
|
|
25
|
-
|
|
28
|
+
## Install
|
|
26
29
|
|
|
27
|
-
|
|
30
|
+
### Plugin Install
|
|
28
31
|
|
|
29
|
-
|
|
32
|
+
Please execute in your react native project root directory
|
|
30
33
|
|
|
34
|
+
```shell
|
|
35
|
+
npm install --save react-native-trustdevice@1.1.1
|
|
31
36
|
```
|
|
32
37
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
### Android
|
|
38
|
-
|
|
39
|
-
### iOS
|
|
40
|
-
|
|
41
|
-
Update cocoapods
|
|
42
|
-
|
|
43
|
-
```
|
|
44
|
-
npx pod-install
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Android permission application
|
|
38
|
+
### AndroidManifest.xml
|
|
48
39
|
|
|
49
40
|
Declare the following permissions in the AndroidManifest.xml file under the application module
|
|
50
41
|
|
|
51
42
|
```xml
|
|
52
43
|
<manifest>
|
|
53
|
-
<!--
|
|
44
|
+
<!-- required -->
|
|
54
45
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|
55
46
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
|
56
47
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
|
48
|
+
<!-- Outside the Chinese Mainland -->
|
|
49
|
+
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
|
|
57
50
|
|
|
58
|
-
<!--
|
|
59
|
-
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
|
|
60
|
-
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
51
|
+
<!--optional, If not declared, some device information will be abandoned -->
|
|
61
52
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
|
|
53
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
|
62
54
|
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
|
63
|
-
<!--
|
|
64
|
-
|
|
65
|
-
|
|
55
|
+
<!-- required for Android 11 and above to obtain the installed packages -->
|
|
56
|
+
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
|
|
57
|
+
tools:ignore="QueryAllPackagesPermission" />
|
|
66
58
|
</manifest>
|
|
67
59
|
```
|
|
68
60
|
|
|
69
|
-
|
|
61
|
+
### Permissions
|
|
62
|
+
|
|
63
|
+
| Name | Description |
|
|
64
|
+
| ---------------------------------- | ------------------------------------------------------------------------------------------------- |
|
|
65
|
+
| **INTERNET**(required) | Allows the app to access the network connection and send requests to communicate with the server. |
|
|
66
|
+
| **ACCESS_NETWORK_STATE**(required) | Collect network connection status information. |
|
|
67
|
+
| **ACCESS_WIFI_STATE**(required) | Collect the current WiFi access status and WLAN hotspot information. |
|
|
68
|
+
| **AD_ID**(required) | Collect the Google advertising ID, required outside the Chinese Mainland. |
|
|
69
|
+
| ACCESS_COARSE_LOCATION | Get location information, with an accuracy of approximately 30 to 1500 meters. |
|
|
70
|
+
| ACCESS_FINE_LOCATION | Get location information, with positioning accuracy within 10 meters. |
|
|
71
|
+
| READ_PHONE_STATE | Collect information on SIM card |
|
|
72
|
+
| QUERY_ALL_PACKAGES | Collect installed packages |
|
|
70
73
|
|
|
71
74
|
## Initialization
|
|
72
75
|
|
|
76
|
+
### Cautions
|
|
73
77
|
|
|
74
|
-
|
|
78
|
+
- Ensure that it is initialized after the user agrees to the privacy agreement.
|
|
75
79
|
|
|
80
|
+
### Definition
|
|
76
81
|
|
|
82
|
+
```tsx
|
|
83
|
+
async function initWithOptions(options: {[key: string]: any})
|
|
77
84
|
```
|
|
78
|
-
const TrustDevice = NativeModules.TrustDevice;
|
|
79
85
|
|
|
86
|
+
## Get blackBox
|
|
87
|
+
|
|
88
|
+
### Cautions
|
|
89
|
+
|
|
90
|
+
- Call `getBlackBox` after `initWithOptions`.
|
|
91
|
+
- Don't cache blackBox returned by getBlackBox in the app. Please rely on this function to get blackBox.
|
|
92
|
+
|
|
93
|
+
### Definition
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
// get by synchronous call
|
|
97
|
+
async function getBlackBox();
|
|
98
|
+
// get by asynchronous call
|
|
99
|
+
async function getBlackBoxAsync();
|
|
80
100
|
```
|
|
81
101
|
|
|
82
|
-
|
|
102
|
+
## Best Practices
|
|
83
103
|
|
|
84
|
-
|
|
85
|
-
import 'package:trustdevice_pro_plugin/trustdevice_pro_plugin.dart';
|
|
86
|
-
// ...
|
|
104
|
+
1. Get TrustDevice Module
|
|
87
105
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
@override
|
|
92
|
-
void initState() {
|
|
93
|
-
super.initState();
|
|
94
|
-
_initWithOptions();
|
|
95
|
-
}
|
|
96
|
-
//initialize the configuration
|
|
97
|
-
Future<void> _initWithOptions() async {
|
|
98
|
-
var options = {
|
|
99
|
-
"partner": "[Your partner]",
|
|
100
|
-
"appKey": "[Your appKey]",
|
|
101
|
-
"appName": "[Your appName]",
|
|
102
|
-
"country": "[Your country code]",
|
|
103
|
-
};
|
|
104
|
-
_trustdeviceProPlugin.initWithOptions(options);
|
|
105
|
-
}
|
|
106
|
-
// ...
|
|
107
|
-
}
|
|
106
|
+
```tsx
|
|
107
|
+
const TrustDevice = NativeModules.TrustDevice;
|
|
108
|
+
```
|
|
108
109
|
|
|
110
|
+
2. Initialize and get blackBox
|
|
109
111
|
|
|
112
|
+
```tsx
|
|
110
113
|
async function initWithOptions() {
|
|
111
114
|
|
|
112
115
|
var options = {
|
|
@@ -124,260 +127,54 @@ class _MyAppState extends State<MyApp> {
|
|
|
124
127
|
}
|
|
125
128
|
|
|
126
129
|
TrustDevice.initWithOptions(options);
|
|
130
|
+
const blackBox = await TrustDevice.getBlackBoxAsync()
|
|
127
131
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
132
|
```
|
|
131
133
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
<table>
|
|
135
|
-
<tr>
|
|
136
|
-
<th>Key</th>
|
|
137
|
-
<th>Definition</th>
|
|
138
|
-
<th>Description</th>
|
|
139
|
-
<th>Platform</th>
|
|
140
|
-
<th>Sample code</th>
|
|
141
|
-
</tr>
|
|
142
|
-
<tr>
|
|
143
|
-
<td>partner</td>
|
|
144
|
-
<td>Partner code </td>
|
|
145
|
-
<td>Partner, please contact TrustDecision to obtain</td>
|
|
146
|
-
<td>All</td>
|
|
147
|
-
<td>
|
|
148
|
-
options["partner"] = "[Your partner]"
|
|
149
|
-
</td>
|
|
150
|
-
</tr>
|
|
151
|
-
<tr>
|
|
152
|
-
<td>appKey</td>
|
|
153
|
-
<td>App key</td>
|
|
154
|
-
<td>Appkey, please offer your App bundleId for TrustDecision to obtain<br>
|
|
155
|
-
appkey creation requires the user to provide the application bundleId.<br>
|
|
156
|
-
⚠️ Different values for bundleId are used for different applications
|
|
157
|
-
</td>
|
|
158
|
-
<td>All</td>
|
|
159
|
-
<td>
|
|
160
|
-
options["appKey"] = "[Your appKey]"
|
|
161
|
-
</td>
|
|
162
|
-
</tr>
|
|
163
|
-
<tr>
|
|
164
|
-
<td>appName</td>
|
|
165
|
-
<td>App name</td>
|
|
166
|
-
<td>AppName, please contact TrustDecision to obtain</td>
|
|
167
|
-
<td>All</td>
|
|
168
|
-
<td>
|
|
169
|
-
options["appName"] = "[Your appName]"
|
|
170
|
-
</td>
|
|
171
|
-
</tr>
|
|
172
|
-
<tr>
|
|
173
|
-
<td>country</td>
|
|
174
|
-
<td> Country code</td>
|
|
175
|
-
<td> cn: means China;<br>sg: means Singapore;<br>us: means North America;<br>fra: means Europe</td>
|
|
176
|
-
<td>All</td>
|
|
177
|
-
<td>
|
|
178
|
-
options["country"] = "[Your country code]"
|
|
179
|
-
</td>
|
|
180
|
-
</tr>
|
|
181
|
-
</table>
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
## Get SDK Version
|
|
134
|
+
3. Obtain blackBox in actual business scenarios
|
|
185
135
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
```dart
|
|
189
|
-
// Get SDK Version
|
|
190
|
-
async function getSDKVersion() {
|
|
191
|
-
const version = await TrustDevice.getSDKVersion();
|
|
192
|
-
console.log(version);
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
## Other Instructions
|
|
197
|
-
|
|
198
|
-
Android obfuscated packaging If developers need to use proguard for obfuscated packaging, please add the following code to the proguard configuration file:
|
|
199
|
-
|
|
200
|
-
```java
|
|
201
|
-
-keep class cn.tongdun.**{*;}
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
# Fingerprint
|
|
205
|
-
|
|
206
|
-
## initWithOptions Optional Parameter
|
|
207
|
-
|
|
208
|
-
<table>
|
|
209
|
-
<tr>
|
|
210
|
-
<th>Key</th>
|
|
211
|
-
<th>Definition</th>
|
|
212
|
-
<th>Description</th>
|
|
213
|
-
<th>Platform</th>
|
|
214
|
-
<th>Sample code</th>
|
|
215
|
-
</tr>
|
|
216
|
-
<tr>
|
|
217
|
-
<td>debug</td>
|
|
218
|
-
<td>Whether allow debug</td>
|
|
219
|
-
<td>default is false,After the SDK is integrated, the app has the anti-debugging function by default. <br><b>Develop: </b>Please set value to true.<br><b>Release: </b>Please not set this key or set value to false <br><b>Options:</b><br>true: allow debug;<br>false: not allow debug</td>
|
|
220
|
-
<td>All</td>
|
|
221
|
-
<td>
|
|
222
|
-
options["debug"] = true
|
|
223
|
-
</td>
|
|
224
|
-
</tr>
|
|
225
|
-
<tr>
|
|
226
|
-
<td>timeLimit</td>
|
|
227
|
-
<td>SDK timeout interval Configuration (unit: seconds)</td>
|
|
228
|
-
<td>Timeout interval of network request callback after SDK initialization. Default is 15s.</td>
|
|
229
|
-
<td>All</td>
|
|
230
|
-
<td>
|
|
231
|
-
options["timeLimit"] = 5
|
|
232
|
-
</td>
|
|
233
|
-
</tr>
|
|
234
|
-
<tr>
|
|
235
|
-
<td>location</td>
|
|
236
|
-
<td>Whether collect location information</td>
|
|
237
|
-
<td>default is true,SDK will collect location if the app has been authorized to get location information. <br><b>Options:</b><br>true: allow collect location information;<br>false: not allow collect location information</td>
|
|
238
|
-
<td>All</td>
|
|
239
|
-
<td>
|
|
240
|
-
options["location"] = true
|
|
241
|
-
</td>
|
|
242
|
-
</tr>
|
|
243
|
-
<tr>
|
|
244
|
-
<td>collectLevel</td>
|
|
245
|
-
<td>Degraded blackbox length configuration</td>
|
|
246
|
-
<td>Degraded blackbox will be longer. This configuration allows you to control the length of the degraded blackbox. <br><b>Options:</b><br>"M": After setting, the degraded blackbox length is about 2000 characters;<br>"L": default value, after setting, the degraded length is about 5000 characters</td>
|
|
247
|
-
<td>All</td>
|
|
248
|
-
<td>
|
|
249
|
-
options["collectLevel"] = "M"
|
|
250
|
-
</td>
|
|
251
|
-
</tr>
|
|
252
|
-
<tr>
|
|
253
|
-
<td>IDFA</td>
|
|
254
|
-
<td>Whether collect Advertising Identifier (IDFA) information</td>
|
|
255
|
-
<td>default is true,SDK will collect IDFA information if the app has been authorized to get IDFA information. <br><b>Options:</b><br>true: allow collect IDFA information;<br>false: not allow collect IDFA information</td>
|
|
256
|
-
<td>iOS</td>
|
|
257
|
-
<td>
|
|
258
|
-
options["IDFA"] = true
|
|
259
|
-
</td>
|
|
260
|
-
</tr>
|
|
261
|
-
<tr>
|
|
262
|
-
<td>deviceName</td>
|
|
263
|
-
<td>Whether collect device's name information</td>
|
|
264
|
-
<td>default is true,SDK will collect device's name information. <br><b>Options:</b><br>true: allow collect device's name information;<br>false: not allow collect device's name information</td>
|
|
265
|
-
<td>iOS</td>
|
|
266
|
-
<td>
|
|
267
|
-
options["deviceName"] = true
|
|
268
|
-
</td>
|
|
269
|
-
</tr>
|
|
270
|
-
<tr>
|
|
271
|
-
<td>blackBoxMaxSize</td>
|
|
272
|
-
<td>blackbox maximum length</td>
|
|
273
|
-
<td>The default length is Integer.MAX_VALUE, it will increase according to the actual device situation </td>
|
|
274
|
-
<td>Android</td>
|
|
275
|
-
<td>
|
|
276
|
-
options["blackBoxMaxSize"] = 3000
|
|
277
|
-
</td>
|
|
278
|
-
</tr>
|
|
279
|
-
<tr>
|
|
280
|
-
<td>customProcessName</td>
|
|
281
|
-
<td>custom process name</td>
|
|
282
|
-
<td>change the name of the SDK's process</td>
|
|
283
|
-
<td>Android</td>
|
|
284
|
-
<td>
|
|
285
|
-
options["customProcessName"] = "td"
|
|
286
|
-
</td>
|
|
287
|
-
</tr>
|
|
288
|
-
<tr>
|
|
289
|
-
<td>forceTLSVersion</td>
|
|
290
|
-
<td>Whether https is mandatory to use TLS-v1.1 version</td>
|
|
291
|
-
<td>default is false, and the developer can set the corresponding settings according to the specific situation. <br><b>Options:</b><br>true: use TLS-v1.1 version;<br>false: not use TLS-v1.1 version</td>
|
|
292
|
-
<td>Android</td>
|
|
293
|
-
<td>
|
|
294
|
-
options["forceTLSVersion"] = true
|
|
295
|
-
</td>
|
|
296
|
-
</tr>
|
|
297
|
-
<tr>
|
|
298
|
-
<td>runningTasks</td>
|
|
299
|
-
<td>Whether allow getting running tasks</td>
|
|
300
|
-
<td>default is true. <br><b>Options:</b><br>true: allow getting running tasks;<br>false: not allow getting running tasks</td>
|
|
301
|
-
<td>Android</td>
|
|
302
|
-
<td>
|
|
303
|
-
options["runningTasks"] = true
|
|
304
|
-
</td>
|
|
305
|
-
</tr>
|
|
306
|
-
<tr>
|
|
307
|
-
<td>sensor</td>
|
|
308
|
-
<td>Whether collect sensor information</td>
|
|
309
|
-
<td>default is true,SDK will collect sensor-related information. <br><b>Options:</b><br>true: collect sensor information;<br>false: not collect sensor information</td>
|
|
310
|
-
<td>Android</td>
|
|
311
|
-
<td>
|
|
312
|
-
options["sensor"] = true
|
|
313
|
-
</td>
|
|
314
|
-
</tr>
|
|
315
|
-
<tr>
|
|
316
|
-
<td>readPhone</td>
|
|
317
|
-
<td>Whether collect READ_PHONE_STATE related information</td>
|
|
318
|
-
<td>default is true,SDK will collect READ_PHONE_STATE information if app gained READ_PHONE_STATE permission<br><b>Options:</b><br>true: collect READ_PHONE_STATE related information;<br>false: not collect READ_PHONE_STATE related information</td>
|
|
319
|
-
<td>Android</td>
|
|
320
|
-
<td>
|
|
321
|
-
options["readPhone"] = true
|
|
322
|
-
</td>
|
|
323
|
-
<tr>
|
|
324
|
-
<td>installPackageList</td>
|
|
325
|
-
<td>Whether collect the list of installation packages</td>
|
|
326
|
-
<td>default is true,SDK will collect the list of installation packages.
|
|
327
|
-
<br><b>Options:</b><br>true: collect the list of installation packages;<br>false: not collect the list of installation packages</td>
|
|
328
|
-
<td>Android</td>
|
|
329
|
-
<td>
|
|
330
|
-
options["installPackageList"] = true
|
|
331
|
-
</td>
|
|
332
|
-
</tr>
|
|
333
|
-
</table>
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
## Get Blackbox
|
|
337
|
-
|
|
338
|
-
**Attention**
|
|
339
|
-
|
|
340
|
-
- Please `getBlackBox` after `initWithOptions`, otherwise SDK exceptions will be caused.
|
|
341
|
-
- We suggest that developers do not cache the results returned by `getBlackBox` in the app. Please rely on this function to get blackbox.
|
|
342
|
-
|
|
343
|
-
### Synchronous method getBlackBox
|
|
344
|
-
|
|
345
|
-
#### Usage Scenario Description
|
|
346
|
-
|
|
347
|
-
**Advantages:** The blackBox will be returned immediately, not affected by the network status;<br/> **Disadvantages:** After the device fingerprint SDK is integrated, if the non-degraded blackBox has not been obtained before, it will return to the degraded blackBox will increase the amount of data uploaded by the subsequent query interface, and the data size is about 5000 bytes;<br/>**Applicable scenarios:** Scenes where blackBox needs to be obtained immediately;<br/>
|
|
348
|
-
|
|
349
|
-
**Sample Code**
|
|
350
|
-
|
|
351
|
-
```
|
|
352
|
-
async function getBlackBox() {
|
|
136
|
+
```tsx
|
|
137
|
+
async function register() {
|
|
353
138
|
const blackBox = await TrustDevice.getBlackBox()
|
|
354
|
-
|
|
139
|
+
// ...
|
|
355
140
|
}
|
|
356
141
|
```
|
|
357
142
|
|
|
358
|
-
|
|
359
|
-
|
|
143
|
+
## Status Check
|
|
360
144
|
|
|
361
|
-
|
|
145
|
+
1. getBlackBox() will return a 26-bit string while initialization successfully: `rGPGX1678775227I9NCwcuVJCb`。
|
|
146
|
+
2. getBlackBox() will return a string of around 5000 bits while initialization Failed, please refer to [overview-definition](https://en-doc.trustdecision.com/reference/terminal-sdk-overview-2-0-en)
|
|
362
147
|
|
|
363
|
-
|
|
148
|
+
# Other
|
|
364
149
|
|
|
365
|
-
|
|
150
|
+
## Get SDK Version
|
|
366
151
|
|
|
367
|
-
```
|
|
368
|
-
async function
|
|
369
|
-
const blackBox = await TrustDevice.getBlackBoxAsync()
|
|
370
|
-
console.log(blackBox);
|
|
371
|
-
}
|
|
152
|
+
```tsx
|
|
153
|
+
async function getSDKVersion();
|
|
372
154
|
```
|
|
373
155
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
**Q1**:After Integrating the TrustDecision SDK, the project cannot be debugged in Xcode. How to solve it?
|
|
377
|
-
|
|
378
|
-
**A1**:Please refer to [Initialization](#initialization) When the TrustDecision SDK is initialized, add the following parameters
|
|
379
|
-
|
|
380
|
-
```
|
|
381
|
-
options["debug"] = true
|
|
382
|
-
```
|
|
156
|
+
## Keep Configuration
|
|
383
157
|
|
|
158
|
+
```xml
|
|
159
|
+
-keep class cn.tongdun.**{*;}
|
|
160
|
+
-keep class com.trustdecision.**{*;}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
## All Configuration
|
|
164
|
+
|
|
165
|
+
| Key | Description | 平台 | Sample |
|
|
166
|
+
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------ |
|
|
167
|
+
| partner(required) | Partner code, contact operator to obtain. | All | options["partner"] = "your partner" |
|
|
168
|
+
| appKey(required) | Application identification, please refer to[how to get appKey](https://en-doc.trustdecision.com/reference/android-get-appkey) | All | options["appKey"] = "your appKey" |
|
|
169
|
+
| country(required) | Data-center: **cn** for China **fra** for Europe **sg** for Singapore **inda** for Indonesia **us** for the USA | All | options["country"] = "your country" |
|
|
170
|
+
| appName | Application name, contact operator to obtain | All | options["appName"] = "your appName" |
|
|
171
|
+
| debug | Allow debugging, default false, must be closed before the application release. | All | options["debug"] = true |
|
|
172
|
+
| timeLimit | Network timeout configuration, in seconds, default 15s | All | options["timeLimit"] = 5 |
|
|
173
|
+
| location | whether collecting GPS location information, default allowed | All | options["location"] = true |
|
|
174
|
+
| collectLevel | You can set M to control the maximum length of blackBox to 2000, default around 5000 | All | options["collectLevel"] = "M" |
|
|
175
|
+
| IDFA | Whether collecting IDFA information, default allowed | iOS | options["IDFA"] = true |
|
|
176
|
+
| deviceName | Whether collecting device name, default allowed | iOS | options["deviceName"] = true |
|
|
177
|
+
| runningTasks | Whether collecting running tasks, default allowed | Android | options["runningTasks"] = true |
|
|
178
|
+
| sensor | Whether collecting sensor information, default allowed | Android | options["sensor"] = true |
|
|
179
|
+
| readPhone | Whether collecting READ _PHONE_ STATE permission-related information, default allowed | Android | options["readPhone"] = true |
|
|
180
|
+
| installPackageList | Whether collecting application list information, default allowed | Android | options["installPackageList"] = true |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/debug
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/.transforms/74431a3a20358e468bfc0732882283b0/transformed/desugar_graph.bin
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
i/
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
#
|
|
1
|
+
#Sat Oct 12 17:26:32 CST 2024
|
|
Binary file
|
package/android/build/intermediates/javac/debug/classes/com/trustdevice/TrustdeviceModule$1.class
CHANGED
|
Binary file
|
package/android/build/intermediates/javac/debug/classes/com/trustdevice/TrustdeviceModule.class
CHANGED
|
Binary file
|
package/android/build/intermediates/javac/debug/classes/com/trustdevice/TrustdevicePackage.class
CHANGED
|
Binary file
|
package/android/build/intermediates/javac/debug/classes/com/trustdevice/utils/TDUniRiskUtils.class
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build.gradle
CHANGED