Skip to content

Commit 5312268

Browse files
authored
Release/5.0.0 (#19)
* *5.0.0 release * *5.0.0 release fixes
1 parent e5c7916 commit 5312268

File tree

10 files changed

+71
-37
lines changed

10 files changed

+71
-37
lines changed

README.md

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
Title: TransUnion TruValidate Device Risk Android SDK Library
2-
3-
# TRUVALIDATE DEVICE RISK ANDROID SDK LIBRARY
1+
# TRANSUNION TRUVALIDATE DEVICE RISK ANDROID SDK LIBRARY
42

53
## What is TruValidate Device Risk?
64
**FraudForce is now Device Risk. Our device-based products, such as Device Risk and Device-Based Authentication (formerly ClearKey), are critical components of our fraud and identity solutions; the new names make it easy to quickly understand our extensive capabilities. We have united these solutions under the TransUnion TruValidate brand. We have taken care not to update anything that might affect your implementations; as a result you'll still see legacy names in some places.**
@@ -20,8 +18,8 @@ The Device Risk SDK integrates with native and hybrid apps. Hybrid apps mix nati
2018

2119
| | |
2220
|---------------------------------|-------------------------------------------------------------------------------------------------------------------|
23-
| **SDK Filename** | fraudforce-lib-release-4.3.2.aar |
24-
| **Version** | 4.3.2 |
21+
| **SDK Filename** | fraudforce-lib-release-5.0.0.aar |
22+
| **Version** | 5.0.0 |
2523
| **Package** | com.iovation.mobile.android.FraudForce |
2624
| **Android SDK Dependencies** | Android SDK 5.0 or higher (SDK level 21) |
2725
| **Library Dependencies** | None |
@@ -39,21 +37,21 @@ The Device Risk SDK integrates with native and hybrid apps. Hybrid apps mix nati
3937
4038
> __NOTE__ Android 10 introduced the ACCESS_BACKGROUND_LOCATION permission, protected at the dangerous level as is the case for ACCESS_FINE_LOCATION. Refer to the official Android documentation for when to incorporate this permission.
4139
42-
Version 4.3.2 of the TruValidate Device Risk SDK for Android supports Android 5.0 or higher.
40+
Version 5.0.0 of the TruValidate Device Risk SDK for Android supports Android 5.0 or higher.
4341

4442
## Installing the Device Risk SDK for Android
4543

46-
1. Download iovation-android-sdk-4.3.2.zip from here: [iovation Mobile SDK for Android](https://github.com/iovation/deviceprint-SDK-Android)
44+
1. Download iovation-android-sdk-5.0.0.zip from here: [iovation Mobile SDK for Android](https://github.com/iovation/deviceprint-SDK-Android)
4745

48-
2. Unzip iovation-android-sdk-4.3.2.zip.
46+
2. Unzip iovation-android-sdk-5.0.0.zip.
4947

50-
3. Depending on your IDE, do one of the following:
48+
3. Depending on your IDE, do one of the following:
5149

52-
- In __Maven__, deploy the AAR file to your local Maven repository, using maven-deploy. For more information, see [Guide to installing 3rd party JARs](http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html).
50+
- In __Maven__, deploy the AAR file to your local Maven repository, using maven-deploy. For more information, see [Guide to installing 3rd party JARs](http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html).
5351

54-
- If you are using __Gradle__, add the *fraudforce-lib-release-4.3.2.aar* file to your application module's libs directory. Then, edit the *build.gradle* file in order to add the libs directory as a flat-file repository to the `buildscript` and `repository` sections. This makes the fraudforce-lib-release-4.3.2.aar file accessible to Gradle.
52+
- If you are using __Gradle__, add the *fraudforce-lib-release-5.0.0.aar* file to your application module's libs directory. Then, edit the *build.gradle* file in order to add the libs directory as a flat-file repository to the `buildscript` and `repository` sections. This makes the fraudforce-lib-release-5.0.0.aar file accessible to Gradle.
5553

56-
```
54+
```
5755
buildscript {
5856
repositories {
5957
flatDir {
@@ -67,26 +65,36 @@ Version 4.3.2 of the TruValidate Device Risk SDK for Android supports Android 5.
6765
dirs 'libs'
6866
}
6967
}
70-
```
71-
Also in the application module's `build.gradle` file, make sure that fraudforce-lib-release-4.3.2 is included as a dependency:
68+
```
69+
Also in the application module's `build.gradle` file, make sure that fraudforce-lib-release-5.0.0 is included as a dependency:
7270
73-
```
71+
```
7472
dependencies {
7573
...
76-
implementation(name:'fraudforce-lib-release-4.3.2', ext:'aar')
74+
implementation(name:'fraudforce-lib-release-5.0.0', ext:'aar')
7775
}
78-
```
76+
```
7977
8078
Alternatively, you can include the dependency without exposing your libs folder as a repository by declaring it in the module's `build.gradle` file as follows:
8179
8280
```
8381
dependencies {
8482
...
85-
implementation('libs/fraudforce-lib-release-4.3.2.aar')
83+
implementation files('libs/fraudforce-lib-release-5.0.0.aar')
8684
}
87-
```
85+
```
8886
89-
Save the `build.gradle` file.
87+
Save the `build.gradle` file.
88+
89+
4. If you are not already using Java 8 in your project, please include the following code into your application's 'build.gradle' file.
90+
```
91+
android {
92+
compileOptions {
93+
sourceCompatibility JavaVersion.VERSION_1_8
94+
targetCompatibility JavaVersion.VERSION_1_8
95+
}
96+
}
97+
```
9098
9199
## Integrating into Native Apps
92100
@@ -123,7 +131,7 @@ To integrate into native apps:
123131
3. Initialize the FraudForceManager class using the generated FraudForceConfiguration object, and the application context.
124132
125133
```
126-
FraudForceManager fraudForceManager = FraudForceManager.getInstance();
134+
FraudForceManager fraudForceManager = FraudForceManager.INSTANCE;
127135
fraudForceManager.initialize(configuration, context);
128136
```
129137
@@ -134,13 +142,13 @@ To integrate into native apps:
134142
> __NOTE__: As with initialization, pass the application context when refreshing.
135143
136144
```
137-
FraudForceManager.getInstance().refresh(context);
145+
FraudForceManager.INSTANCE.refresh(context);
138146
```
139147
140-
4. To generate the blackbox, call the getBlackbox(Context context) function on an instance of FraudForceManager. This method is a **blocking** call so it is **recommended** to call it on a background thread/coroutine.
148+
5. To generate the blackbox, call the getBlackbox(Context context) function on an instance of FraudForceManager. This method is a **blocking** call so it is **recommended** to call it on a background thread/coroutine.
141149
142150
```
143-
String blackbox = FraudForceManager.getInstance().getBlackbox(context);
151+
String blackbox = FraudForceManager.INSTANCE.getBlackbox(context);
144152
```
145153
146154
## Integrating into Hybrid Apps
@@ -182,7 +190,7 @@ Integrate into hybrid apps by implementing the following workflow for collecting
182190
3. Initialize the FraudForceManager class using the generated FraudForceConfiguration object, and the application context.
183191
184192
```
185-
FraudForceManager fraudForceManager = FraudForceManager.getInstance();
193+
FraudForceManager fraudForceManager = FraudForceManager.INSTANCE;
186194
fraudForceManager.initialize(configuration, context);
187195
```
188196
@@ -192,7 +200,7 @@ Integrate into hybrid apps by implementing the following workflow for collecting
192200
wv.setWebViewClient(new WebViewClient() {
193201
@Override
194202
public void onPageStarted(WebView view, String url, Bitmap favicon) {
195-
FraudForceManager.getInstance().refresh(getContext());
203+
FraudForceManager.INSTANCE.refresh(getContext());
196204
super.onPageStarted(view, url, favicon);
197205
}
198206
@@ -202,7 +210,7 @@ Integrate into hybrid apps by implementing the following workflow for collecting
202210
if (url.startsWith("iov://") && ref.length > 1 && ref[1] != null) {
203211
String injectedJavascript="javascript:(function() { " +
204212
"document.getElementById('" + ref[1] + "').value = '"
205-
+ FraudForceManager.getInstance().getBlackbox(wv.getContext())
213+
+ FraudForceManager.INSTANCE.getBlackbox(wv.getContext())
206214
+ "';})()";
207215
wv.loadUrl(injectedJavascript);
208216
return true;
@@ -239,7 +247,7 @@ The SDK includes the ability to make a network call to TransUnion TruValidate's
239247
240248
1 In Android Studio, select File | Open or click **Open Existing Android Studio Project** from the quick-start screen.
241249
242-
2. From the directory where you unzipped fraudforce-lib-release-4.3.2.zip or cloned the repo, open the **android-studio-sample-app** directory.
250+
2. From the directory where you unzipped fraudforce-lib-release-5.0.0.zip or cloned the repo, open the **android-studio-sample-app** directory.
243251
244252
3. In the project navigation view, open `src/main/java/com/iovation/mobile/android/sample/MainActivity.java`
245253
@@ -255,6 +263,18 @@ The SDK includes the ability to make a network call to TransUnion TruValidate's
255263
256264
## Changelog
257265
266+
### 5.0.0
267+
- **Java 8 is now required.**
268+
- **The SDK has migrated to Kotlin (1.5.30).**
269+
- If your application does not already include the Kotlin standard library (i.e. your application
270+
- is written entirely in Java), then you must include the kotlin stdlib as a dependency.
271+
- **FraudForceManager can be accessed as a Kotlin object or via FraudForceManager.INSTANCE when using Java).**
272+
- Targeting Android 12 (API 31).
273+
- Changes to cryptography uses.
274+
- Adjusted collection details.
275+
- Improvements to detail caching.
276+
- Fixed Proguard rules.
277+
258278
### 4.3.2
259279
- Adjusted root detection.
260280

android-studio-sample-app/app/build.gradle

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "com.iovation.mobile.android.sample.sampleapp"
88
minSdkVersion 21
99
targetSdkVersion 31
10-
versionCode 3
11-
versionName "4.3.2"
10+
versionCode 4
11+
versionName "5.0.0"
1212
}
1313
buildTypes {
1414
release {
@@ -19,9 +19,14 @@ android {
1919
lintOptions {
2020
abortOnError false
2121
}
22+
compileOptions {
23+
sourceCompatibility JavaVersion.VERSION_1_8
24+
targetCompatibility JavaVersion.VERSION_1_8
25+
}
2226
}
2327

2428
dependencies {
2529
implementation fileTree(dir: 'libs', include: ['*.jar'])
26-
implementation files('libs/fraudforce-lib-release-4.3.2.aar')
30+
implementation files('libs/fraudforce-lib-release-5.0.0.aar')
31+
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.5.30"
2732
}
Binary file not shown.
Binary file not shown.

android-studio-sample-app/app/src/main/java/com/iovation/mobile/android/sample/sampleapp/MainApplication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public void onCreate() {
1717
.subscriberKey("REPLACE WITH SUBSCRIBER KEY")
1818
.build();
1919

20-
FraudForceManager fraudForceManager = FraudForceManager.getInstance();
20+
FraudForceManager fraudForceManager = FraudForceManager.INSTANCE;
2121
fraudForceManager.initialize(fraudForceConfiguration, getApplicationContext());
2222
super.onCreate();
2323
}

android-studio-sample-app/app/src/main/java/com/iovation/mobile/android/sample/sampleapp/NativeActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class NativeActivity extends Activity {
2121
public void onCreate(Bundle savedInstanceState) {
2222
super.onCreate(savedInstanceState);
2323

24-
FraudForceManager.getInstance().refresh(getApplicationContext());
24+
FraudForceManager.INSTANCE.refresh(getApplicationContext());
2525

2626
setContentView(R.layout.activity_main);
2727
}
@@ -39,7 +39,7 @@ public void printDevice(View target) {
3939
private class PrintThread extends AsyncTask<Void, Void, String> {
4040
@Override
4141
protected String doInBackground(Void... voids) {
42-
return FraudForceManager.getInstance().getBlackbox(getApplicationContext());
42+
return FraudForceManager.INSTANCE.getBlackbox(getApplicationContext());
4343
}
4444

4545
@Override

android-studio-sample-app/app/src/main/java/com/iovation/mobile/android/sample/sampleapp/WebViewActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public void onCreate(Bundle savedInstanceState) {
2929
wv.setWebViewClient(new WebViewClient() {
3030
@Override
3131
public void onPageStarted(WebView view, String url, Bitmap favicon) {
32-
FraudForceManager.getInstance().refresh(wv.getContext());
32+
FraudForceManager.INSTANCE.refresh(wv.getContext());
3333
super.onPageStarted(view, url, favicon);
3434
}
3535

@@ -38,7 +38,7 @@ public boolean shouldOverrideUrlLoading(WebView view, String url) {
3838
String[] ref = url.split("#");
3939
if (url.startsWith("iov://") && ref.length > 1 && ref[1] != null) {
4040
String injectedJavascript="javascript:(function() { " +
41-
"document.getElementById('" + ref[1] + "').value = '" + FraudForceManager.getInstance().getBlackbox(getApplicationContext()) +
41+
"document.getElementById('" + ref[1] + "').value = '" + FraudForceManager.INSTANCE.getBlackbox(getApplicationContext()) +
4242
"';})()";
4343
wv.loadUrl(injectedJavascript);
4444
return true;

fraudforce-lib-release-4.3.2.aar

-66.5 KB
Binary file not shown.

fraudforce-lib-release-5.0.0.aar

90.4 KB
Binary file not shown.

release-notes.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,11 @@
11
### What's new
2-
- Adjusted root detection.
2+
- **Java 8 is now required.**
3+
- **The SDK has migrated to Kotlin (1.5.30).**
4+
- If your application does not already include the Kotlin standard library (i.e. your application
5+
- is written entirely in Java), then you must include the kotlin stdlib as a dependency.
6+
- **FraudForceManager can be accessed as a Kotlin object or via FraudForceManager.INSTANCE when using Java).**
7+
- Targeting Android 12 (API 31).
8+
- Changes to cryptography uses.
9+
- Adjusted collection details.
10+
- Improvements to detail caching.
11+
- Fixed Proguard rules.

0 commit comments

Comments
 (0)