Skip to content

Commit e1bbe28

Browse files
Releasing 4.3.1 (#15)
Releasing 4.3.1
1 parent 773f972 commit e1bbe28

File tree

16 files changed

+135
-95
lines changed

16 files changed

+135
-95
lines changed

.github/workflows/main.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: Build & Archive App
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- 'release/**'
8+
pull_request:
9+
branches: [ main ]
10+
11+
workflow_dispatch:
12+
13+
jobs:
14+
build:
15+
runs-on: ubuntu-latest
16+
17+
defaults:
18+
run:
19+
working-directory: ./android-studio-sample-app
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v2
24+
25+
- name: Clean
26+
run: ./gradlew clean --refresh-dependencies --stacktrace
27+
28+
- name: Build APK
29+
run: ./gradlew --stacktrace assembleRelease
30+
31+
- name: Build AAB
32+
run: ./gradlew --stacktrace bundleRelease
33+
34+
- name: Archive Artifacts
35+
uses: actions/upload-artifact@v2
36+
with:
37+
name: APK & AAB artifacts
38+
path: |
39+
**/app/build/outputs/apk/
40+
**/app/build/outputs/bundle/
41+
!**/*.json
42+
43+
- name: Send Slack Message
44+
uses: 8398a7/action-slack@v3
45+
with:
46+
status: ${{ job.status }}
47+
fields: repo,message,commit,author,action,eventName,ref,workflow,job,took
48+
env:
49+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
50+
if: always()

.github/workflows/release.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Draft Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
- uses: ncipollo/release-action@v1
15+
with:
16+
artifacts: "fraudforce-lib*.aar"
17+
draft: true
18+
bodyFile: "release-notes.md"
19+
token: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
**/.gradle/**
2+
**/build/
3+
**/.idea/

README.md

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -20,35 +20,38 @@ The Device Risk SDK integrates with native and hybrid apps. Hybrid apps mix nati
2020

2121
| | |
2222
|---------------------------------|-------------------------------------------------------------------------------------------------------------------|
23-
| **SDK Filename** | fraudforce-lib-release-4.3.0.aar |
24-
| **Version** | 4.3.0 |
23+
| **SDK Filename** | fraudforce-lib-release-4.3.1.aar |
24+
| **Version** | 4.3.1 |
2525
| **Package** | com.iovation.mobile.android.FraudForce |
2626
| **Android SDK Dependencies** | Android SDK 5.0 or higher (SDK level 21) |
2727
| **Library Dependencies** | None |
2828
| **Required Permissions** | None |
29-
| **Optional Permissions** | BLUETOOTH, CAMERA, ACCESS\_WIFI\_STATE, READ\_PHONE\_STATE, ACCESS\_FINE\_LOCATION, ACCESS\_BACKGROUND\_LOCATION, |
29+
| **Optional Permissions** | BLUETOOTH (up to Android 11), BLUETOOTH_CONNECT (starting on Android 12), CAMERA, ACCESS\_WIFI\_STATE, |
30+
| | READ\_PHONE\_STATE, ACCESS\_FINE\_LOCATION, ACCESS\_BACKGROUND\_LOCATION, |
3031
| | GET\_ACCOUNTS, ACCESS\_NETWORK\_STATE |
3132
| **Supported NDK Architectures** | x86, x86_64, arm64-v8a, armeabi-v7a |
3233

34+
> __NOTE__ Android 12 introduced the BLUETOOTH_CONNECT permission, protected at the dangerous level. Refer to the [official Android documentation](https://developer.android.com/about/versions/12/features/bluetooth-permissions) on how to include it.
35+
3336
> __NOTE__ Regarding Android 11 background location changes: The Device Risk SDK neither requires nor requests location when the application is in a background state.
3437
3538
> __NOTE__ If the permissions listed are not required by the application, the values collected using those permissions will be ignored. The permissions are not required to obtain a usable blackbox, but they do help obtain some unique device information.
3639
3740
> __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.
3841
39-
Version 4.3.0 of the TruValidate Device Risk SDK for Android supports Android 5.0 or higher.
42+
Version 4.3.1 of the TruValidate Device Risk SDK for Android supports Android 5.0 or higher.
4043

4144
## Installing the Device Risk SDK for Android
4245

43-
1. Download iovation-android-sdk-4.3.0.zip from here: [iovation Mobile SDK for Android](https://github.com/iovation/deviceprint-SDK-Android)
46+
1. Download iovation-android-sdk-4.3.1.zip from here: [iovation Mobile SDK for Android](https://github.com/iovation/deviceprint-SDK-Android)
4447

45-
2. Unzip iovation-android-sdk-4.3.0.zip.
48+
2. Unzip iovation-android-sdk-4.3.1.zip.
4649

4750
3. Depending on your IDE, do one of the following:
4851

49-
- In __Eclipse and 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).
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).
5053

51-
- If you are using __Android Studio with Gradle__, add the *fraudforce-lib-release-4.3.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-4.3.0.aar file accessible to Gradle.
54+
- If you are using __Gradle__, add the *fraudforce-lib-release-4.3.1.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.1.aar file accessible to Gradle.
5255

5356
```
5457
buildscript {
@@ -65,12 +68,21 @@ Version 4.3.0 of the TruValidate Device Risk SDK for Android supports Android 5.
6568
}
6669
}
6770
```
68-
Also in the application module's `build.gradle` file, make sure that fraudforce-lib-release-4.3.0 is a compile-time dependency:
71+
Also in the application module's `build.gradle` file, make sure that fraudforce-lib-release-4.3.1 is included as a dependency:
6972

7073
```
7174
dependencies {
72-
compile fileTree(dir: 'libs', include: ['*.jar'])
73-
compile(name:'fraudforce-lib-release-4.3.0', ext:'aar')
75+
...
76+
implementation(name:'fraudforce-lib-release-4.3.1', ext:'aar')
77+
}
78+
```
79+
80+
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:
81+
82+
```
83+
dependencies {
84+
...
85+
implementation('libs/fraudforce-lib-release-4.3.1.aar')
7486
}
7587
```
7688
@@ -115,7 +127,7 @@ To integrate into native apps:
115127
fraudForceManager.initialize(configuration, context);
116128
```
117129
118-
4. Call the `refresh()` method in the same Activity or Fragment where `getBlackbox()` will be called. The integrating application only needs to call this method on the Fragments where the `getBlackbox()` method will be called.
130+
4. Call the `refresh()` method in the same Activity/Fragment/ViewModel where `getBlackbox()` will be called. The integrating application only needs to call this method on the Fragments where the `getBlackbox()` method will be called.
119131
120132
> __NOTE__: This method calls updates the geolocation and network information, if enabled.
121133
@@ -125,27 +137,8 @@ To integrate into native apps:
125137
FraudForceManager.getInstance().refresh(context);
126138
```
127139
128-
4. Do one of the following to generate the blackbox:
129-
* To build a blackbox **asynchronously**, create an AsyncTask object to generate the blackbox off the main thread.
130-
```
131-
private class FraudForceThread extends AsyncTask<Void, Void, String> {
132-
@Override
133-
protected String doInBackground(Void... voids) {
134-
return FraudForceManager.getInstance().getBlackbox(context);
135-
}
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.
136141
137-
@Override
138-
protected void onPostExecute(String blackbox) {
139-
// Integrator's code to store the blackbox
140-
}
141-
}
142-
```
143-
* Then execute the FraudForceThread object to get the blackbox.
144-
```
145-
new FraudForceThread().execute();
146-
```
147-
148-
* To build a blackbox **synchronously**, call the `getBlackbox(Context context)` function on a FraudForceManager object.
149142
```
150143
String blackbox = FraudForceManager.getInstance().getBlackbox(context);
151144
```
@@ -246,7 +239,7 @@ The SDK includes the ability to make a network call to TransUnion TruValidate's
246239
247240
1 In Android Studio, select File | Open or click **Open Existing Android Studio Project** from the quick-start screen.
248241
249-
2. From the directory where you unzipped fraudforce-lib-release-4.3.0.zip, open the **android-studio-sample-app** directory.
242+
2. From the directory where you unzipped fraudforce-lib-release-4.3.1.zip or cloned the repo, open the **android-studio-sample-app** directory.
250243
251244
3. In the project navigation view, open `src/main/java/com/iovation/mobile/android/sample/MainActivity.java`
252245
@@ -262,6 +255,12 @@ The SDK includes the ability to make a network call to TransUnion TruValidate's
262255
263256
## Changelog
264257
258+
### 4.3.1
259+
- Update target and compilation SDK versions to 31.
260+
- Adjusted collection details.
261+
- Compatible with the new bluetooth changes/permissions in Android 12.
262+
- Fixed crashes on devices running below SDK version 24.
263+
265264
### 4.3.0
266265
267266
- Minimum supported Android version updated, from 16 to 21.
Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 30
4+
compileSdkVersion 31
55

66
defaultConfig {
7-
applicationId "com.iovation.mobile.android.sample.androidstudiosampleapp"
7+
applicationId "com.iovation.mobile.android.sample.sampleapp"
88
minSdkVersion 21
9-
targetSdkVersion 30
10-
versionCode 1
11-
versionName "4.3.0"
9+
targetSdkVersion 31
10+
versionCode 2
11+
versionName "4.3.1"
1212
}
1313
buildTypes {
1414
release {
@@ -21,27 +21,7 @@ android {
2121
}
2222
}
2323

24-
buildscript {
25-
repositories {
26-
mavenLocal()
27-
jcenter()
28-
mavenCentral()
29-
flatDir {
30-
dirs 'libs'
31-
}
32-
}
33-
}
34-
35-
repositories {
36-
mavenLocal()
37-
jcenter()
38-
mavenCentral()
39-
flatDir {
40-
dirs 'libs'
41-
}
42-
}
43-
4424
dependencies {
45-
api fileTree(dir: 'libs', include: ['*.jar'])
46-
api(name:'fraudforce-lib-release-4.3.0', ext:'aar')
25+
implementation fileTree(dir: 'libs', include: ['*.jar'])
26+
implementation files('libs/fraudforce-lib-release-4.3.1.aar')
4727
}
Binary file not shown.
Binary file not shown.

android-studio-sample-app/app/src/androidTest/java/com/iovation/mobile/android/sample/androidstudiosampleapp/ApplicationTest.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

android-studio-sample-app/app/src/main/AndroidManifest.xml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.iovation.mobile.android.sample.androidstudiosampleapp" >
3+
package="com.iovation.mobile.android.sample.sampleapp">
44

55
<!-- 1.0 Permissions -->
6-
<uses-permission android:name="android.permission.BLUETOOTH"/>
7-
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
8-
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
9-
<uses-permission android:name="android.permission.INTERNET"/>
6+
<uses-permission
7+
android:name="android.permission.BLUETOOTH"
8+
android:maxSdkVersion="30" />
9+
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
10+
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
11+
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
12+
<uses-permission android:name="android.permission.INTERNET" />
1013
<!-- 1.1 Permissions -->
14+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
1115
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
12-
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
16+
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
1317
<!-- Required for NewRelic -->
1418
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
1519

@@ -18,10 +22,11 @@
1822
android:allowBackup="true"
1923
android:icon="@mipmap/ic_launcher"
2024
android:label="@string/app_name"
21-
android:theme="@style/AppTheme" >
25+
android:theme="@style/AppTheme">
2226
<activity
2327
android:name=".NativeActivity"
24-
android:label="@string/app_name" >
28+
android:exported="true"
29+
android:label="@string/app_name">
2530
<intent-filter>
2631
<action android:name="android.intent.action.MAIN" />
2732

@@ -30,7 +35,8 @@
3035
</activity>
3136
<activity
3237
android:name=".WebViewActivity"
33-
android:label="@string/wv_name" >
38+
android:exported="false"
39+
android:label="@string/wv_name">
3440
<intent-filter>
3541
<action android:name="android.intent.action.MAIN" />
3642

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.iovation.mobile.android.sample.androidstudiosampleapp;
1+
package com.iovation.mobile.android.sample.sampleapp;
22

33
import android.app.Application;
44

0 commit comments

Comments
 (0)