Skip to content

Commit

Permalink
Final commit for 3.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
JumioMobileTeam committed Aug 12, 2019
1 parent b5e9e55 commit 5f8277e
Show file tree
Hide file tree
Showing 29 changed files with 136 additions and 45 deletions.
50 changes: 21 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
![Jumio](docs/images/jumio_feature_graphic.png)
![Jumio](docs/images/jumio_feature_graphic.jpg)

# Table of Content
- [Release notes](#release-notes)
- [Basic Setup](#basic-setup)
- [Get started](#get-started)
- [Support](#support)
- [FAQ](docs/integration_faq.md)


# Release notes
SDK version: 3.2.0
SDK version: 3.3.0

#### Deprecation notice
This is the last version which will be compatible with iOS 9. The minimum supported iOS version will be iOS 10 in the next SDK version 3.4.0.

#### Changes
* Added support for [Jumio screening](https://www.jumio.com/screening/) [Netverify]
* 3D Liveness improvements [Netverify, Authentication]
* Improved face models to increase conversion rate
* Better UX by accepting faces even if they are not perfectly aligned with the overlay
* Better user guidance in error cases (bad lighting, bad angle)
* Added additional customization options to scan overlay/view [Netverify/Fastfill]

#### Fixes
* Fixed capture problem of Spanish resident permits [Netverify/Fastfill]
* Updated detection models to improve face capture experience
* Fixed a problem that liveness images were rotated by 90 degree in rare situations
* Fixed a problem that wrong Selfie was selected after retry
* New Authentication features [Authentication]
* Added retry handling to allow up to 3 capture attempts per session
* Added support for storing the 3D facemap on customer premise functionality
* Support of Portuguese and Italian language [Netverify/Fastfill, Authentication, Document Verification]
* New technical FAQ section on GitHub
* Various smaller bug fixes/improvements [Netverify/Fastfill, Authentication, Document Verification, BAM Checkout]

# Basic Setup
Expand Down Expand Up @@ -59,12 +63,12 @@ source 'https://github.com/CocoaPods/Specs.git'
use_frameworks! # Required for proper framework handling
pod 'JumioMobileSDK', '~>3.2' # Use Netverify, Authentication, DocumentVerification and BAM Checkout together in your app
pod 'JumioMobileSDK', '~>3.3' # Use Netverify, Authentication, DocumentVerification and BAM Checkout together in your app
pod 'JumioMobileSDK/Netverify', '~>3.2' # Use full Netverify and Authentication functionality
pod 'JumioMobileSDK/Netverify-Light', '~>3.2' # For Fastfill or Document Verification, or Netverify without 3D face liveness capturing technology
pod 'JumioMobileSDK/Netverify', '~>3.3' # Use full Netverify and Authentication functionality
pod 'JumioMobileSDK/Netverify-Light', '~>3.3' # For Fastfill or Document Verification, or Netverify without 3D face liveness capturing technology
pod 'JumioMobileSDK/BAMCheckout', '~>3.2' # Use BAM Checkout only
pod 'JumioMobileSDK/BAMCheckout', '~>3.3' # Use BAM Checkout only
```

Install the pod to your project via Terminal:
Expand All @@ -74,25 +78,13 @@ pod install

### Manually

Download our frameworks manually via [ios-jumio-mobile-sdk-3.2.0.zip](https://mobile-sdk.jumio.com/com/jumio/ios/jumio-mobile-sdk/3.2.0/ios-jumio-mobile-sdk-3.2.0.zip).
Download our frameworks manually via [ios-jumio-mobile-sdk-3.3.0.zip](https://mobile-sdk.jumio.com/com/jumio/ios/jumio-mobile-sdk/3.3.0/ios-jumio-mobile-sdk-3.3.0.zip).

__Note:__ Our sample project on GitHub contains the sample implementation without our frameworks. The project file contains a “Run Script Phase” which downloads our frameworks automatically during build time.

The Jumio Mobile SDK consists of several dynamic frameworks. Add specific frameworks to your Xcode project, depending on which product you use.

The following table shows which frameworks have to be added:

| Product | Size | JumioCore | BAMCheckout | Netverify | NetverifyBarcode & MicroBlink | NetverifyFace & ZoomAuthenticationHybrid |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
| Netverify + Authentication | 25.4 MB | x | | x | x | x |
| Fastfill | 10.8 MB | x | | x | x | |
| Document Verification | 7.67 MB | x | | x | | |
| BAM Checkout credit card scanning | 7.12 MB | x | x | | | |
| BAM Checkout credit card<br/>+ ID scanning | 30.8 MB | x | x | x | x | x |

In case you use a combination of these products, make sure to add frameworks only once to your app and that those frameworks are linked and embedded in your Xcode project. For Document Verification, the frameworks `NetverifyBarcode`, `MicroBlink`, `NetverifyFace` and `ZoomAuthenticationHybrid` can be removed.

The size values in the table above depict the decompressed install size required on a device. It can be compared with the Estimated App Store files size. The size value can vary by a few percent, depending on the actual device used. Testing conducted by Jumio using iPhone X.
Please see [Strip unused frameworks](https://github.com/Jumio/Mobile-SDK-IOS_pilot/blob/master/docs/integration_faq.md#strip-unused-frameworks) for more information.

The framework binaries are available with support for device and simulator architecture. Make sure to remove the simulator architecture from our frameworks for app submissions to the AppStore. If this step is not performed, your submission will be rejection by Apple. Add the following code snippet as run script build phase to your app project and ensure that it is executed after the frameworks are embedded. Please see the required setup in our sample project.

Expand Down Expand Up @@ -140,7 +132,7 @@ Our SDK supports Accessibility. Visually impaired users can enable __VoiceOver__
# Support

## Previous version
The previous release version 3.1.2 of the Jumio Mobile SDK is supported until 2019-08-05.
The previous release version 3.2.0 of the Jumio Mobile SDK is supported until 2019-11-07.

In case the support period is expired, no bug fixes are provided anymore (typically fixed in the upcoming versions). The SDK will keep functioning (until further notice).

Expand Down
Binary file added docs/images/authentication.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/authentication.png
Binary file not shown.
Binary file added docs/images/bam_checkout.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/bam_checkout.png
Binary file not shown.
Binary file added docs/images/document_verification.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/document_verification.png
Binary file not shown.
Binary file added docs/images/jumio_feature_graphic.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/jumio_feature_graphic.png
Binary file not shown.
Binary file added docs/images/netverify.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/netverify.png
Binary file not shown.
Binary file added docs/images/onboardingBadCase.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/onboardingGoodCase.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 9 additions & 3 deletions docs/integration_authentication.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![Jumio Authentication](images/authentication.png)
![Jumio Authentication](images/authentication.jpg)

# Authentication SDK for iOS
Biometric-based Jumio Authentication establishes the digital identities of your users through the simple act of taking a selfie. Advanced 3D face map technology quickly and securely authenticates users and unlocks their digital identities.
Expand Down Expand Up @@ -38,11 +38,17 @@ AuthenticationController *authenticationController;
```

## Configuration
In order to connect the Authentication transaction to a specific Netverify user identity the following parameter must be set.
In order to connect the Authentication transaction to a specific Netverify user identity the parameter [`enrollmentTransactionReference`](http://jumio.github.io/mobile-sdk-ios/NetverifyFace/Classes/AuthenticationConfiguration.html#/c:objc(cs)AuthenticationConfiguration(py)enrollmentTransactionReference) must be set.
```
config.enrollmentTransactionReference = @"ENROLLMENTTRANSACTIONREFERENCE";
```
__Note:__ If the enrollment transaction reference is not eligible to be used (e.g. reference does not exist in the system, mandatory user data has been deleted) an error is returned when the SDK is initialized.

In case an Authentication transaction has been created via the facemap server to server API [`authenticationTransactionReference`](http://jumio.github.io/mobile-sdk-ios/NetverifyFace/Classes/AuthenticationConfiguration.html#/c:objc(cs)AuthenticationConfiguration(py)authenticationTransactionReference) should be used. Therefore `enrollmentTransactionReference` should not be set.
```
config.authenticationTransactionReference = @"AUTHENTICATIONTRANSACTIONREFERENCE";
```

__Note:__ If the enrollment or authentication transaction reference is not eligible to be used (e.g. reference does not exist in the system, mandatory user data has been deleted) an error is returned when the SDK is initialized.


In addition to the on-device result of the transaction, it is possible to define a callbackUrl (see [Callback for Authentication](https://github.com/Jumio/implementation-guides/blob/master/netverify/callback.md#callback-for-netverify)). A callback URL can be specified for individual transactions (for constraints see chapter [Callback URL](https://github.com/Jumio/implementation-guides/blob/master/netverify/portal-settings.md#callback-url)). This setting overrides any callback URL you have set in the Jumio Customer Portal.
Expand Down
2 changes: 1 addition & 1 deletion docs/integration_bam-checkout.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![BAM Checkout](images/bam_checkout.png)
![BAM Checkout](images/bam_checkout.jpg)

# BAM Checkout SDK for iOS
BAM Checkout is a powerful, cutting-edge solution to extract data from your customer´s credit card and / or ID in your mobile application within seconds, including home address. It fits perfectly, and fully automates, every checkout flow to avoid manual input at all which leads to an increased conversion rate.
Expand Down
2 changes: 1 addition & 1 deletion docs/integration_document-verification.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![Document Verification](images/document_verification.png)
![Document Verification](images/document_verification.jpg)

# Document Verification SDK for iOS
Document Verification is a powerful solution to enable scanning various types (Utility Bill, Bank statement and many others) of your customer's documents in your mobile application within seconds, also supporting data extraction on documents like Utility Bills and Bank Statements (see [Supported documents for data extraction](https://github.com/Jumio/implementation-guides/blob/master/netverify/document-verification.md#supported-documents))
Expand Down
61 changes: 61 additions & 0 deletions docs/integration_faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
![FAQ](images/jumio_feature_graphic.jpg)

# FAQ

## Table of Content
- [Improving user experience and reducing drop-off rate](#improving-user-experience-and-reducing-drop-off-rate)
- [Reducing the size of your app](#reducing-the-size-of-your-app)
- [Strip unused frameworks](#strip-unused-frameworks)
- [Bitcode](#bitcode)
- [Jumio Support](#jumio-spport)

### Improve user experience and reducing drop-off rate
When evaluating user flows, one of the most commonly used metrics is the rate of drop-offs. At Jumio, we see considerable variance in drop-off rates across industries and customer implementations. For some implementations and industries, we see a higher rate of drop-offs on the first screens when compared with the average.
Scanning an ID with sensitive personal data printed on it naturally creates a high barrier for participation on the part of the end user. Therefore, conversion rates can be significantly influenced when the application establishes a sense of trust and ensures that users feel secure sharing their information.

One pattern that is recognizable throughout all of our customers’ SDK implementations: the more seamless the SDK integration, and the better job is done of setting user expectations prior to the SDK journey, the lower the drop-off rate becomes.

Our SDK provides a variety of customization options to help customers achieve a seamless integration. For customers using the standard SDK workflow, our [Surface tool](https://jumio.github.io/surface-ios/) provides an easy-to-use WYSIWYG interface to see simple customization options that can be incorporated with minimal effort and generate the code necessary to implement them. For customers who want to have more granular control over look and feel, our SDK offers the [CustomUI](https://github.com/Jumio/mobile-sdk-ios/blob/master/docs/integration_netverify-fastfill.md#custom-ui) option, which allows you to customize the entire user interface.

#### Example case:
![Onboarding bad case](images/onboardingBadCase.jpg)
- Default SDK UI is used and is presented on one of the first screens during onboarding. The user is unprepared for the next steps and might not understand the intention behind the request to show their ID.

#### Suggested improvements with additional customization:
![Onboarding good case](images/onboardingGoodCase.jpg)
- Host application has an explanatory help screen that explains what will happen next and why this information is needed.
- SDK is either customized to have a more embedded appearance or [CustomUI](https://github.com/Jumio/mobile-sdk-ios/blob/master/docs/integration_netverify-fastfill.md#custom-ui) is used to create a completely seamless integration in the UX of our customers.
- Also after the Jumio workflow that shows the displayed results and/or a message that the ID is currently verified, which might take some minutes.

### Reducing the size of your app
The Netverify SDK contains a wide range of different scanning methods. The SDK is able to capture identity documents and extract information on the device using enhanced machine learning and computer vision technologies. The current download size of the sample application containing the SDK is mentioned in the [setup guide](https://github.com/Jumio/mobile-sdk-ios#manually). If you want to reduce the size of the SDK within your application, there are several ways to achieve this.

#### Strip unused frameworks
Depending on your specific needs, you may want to strip out unused functionality. As most of our frameworks can be linked optionally, you can reduce file size by simply not adding them to your project.

The following table shows a range of different product configurations with the frameworks that are required and the corresponding application size. These measurements are based on our sample application after being uploaded to the Appstore.

| Product | Size | JumioCore | BAMCheckout | Netverify | NetverifyBarcode & MicroBlink | NetverifyFace & ZoomAuthenticationHybrid |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
| Netverify + Authentication | 25.4 MB | x | | x | x | x |
| Fastfill | 10.8 MB | x | | x | x | |
| Fastfill without Barcode | 7.67 MB | x | | x | | |
| Document Verification | 7.67 MB | x | | x | | |
| BAM Checkout credit card scanning | 7.12 MB | x | x | | | |
| BAM Checkout credit card<br/>+ ID scanning | 30.8 MB | x | x | x | x | x |

In case you use a combination of these products, make sure to add frameworks only once to your app and that those frameworks are linked and embedded in your Xcode project.

The size values in the table above depict the decompressed install size required on a device. It can be compared with the Estimated App Store files size. The size value can vary by a few percent, depending on the actual device used. Testing conducted by Jumio using iPhone X.

#### Bitcode
Bitcode is an intermediate representation of a compiled program. Apps you upload to App Store Connect that contain bitcode will be compiled and linked on the App Store. Including bitcode will allow Apple to re-optimize your app binary in the future without requiring you to submit a new version of your app to the App Store.

For iOS apps, bitcode is the default, but is optional.
If you provide bitcode, all apps and frameworks in the app bundle (all targets in the project) need to include bitcode.

Read more about bitcode in the [Apple documentation](https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f).

### Jumio Support
The Jumio development team is constantly striving to optimize the size of our frameworks while increasing functionality, to improve your KYC and to fight fraud. If you have any further questions, please reach out to our [support team](mailto:[email protected]).

2 changes: 1 addition & 1 deletion docs/integration_netverify-fastfill.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![Fastfill & Netverify](images/netverify.png)
![Fastfill & Netverify](images/netverify.jpg)

# Fastfill & Netverify SDK for iOS
Netverify SDK offers scanning and authentication of government issued IDs.
Expand Down
5 changes: 4 additions & 1 deletion docs/transition-guide_authentication.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
![Fastfill & Netverify](images/authentication.png)
![Fastfill & Netverify](images/authentication.jpg)

# Transition guide for Authentication SDK

This section only covers the breaking technical changes that should be considered when updating from the previous version.

## 3.3.0
No backward incompatible changes.

## 3.2.0

#### Custom-UI handling
Expand Down
5 changes: 4 additions & 1 deletion docs/transition-guide_bam-checkout.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
![BAM Checkout](images/bam_checkout.png)
![BAM Checkout](images/bam_checkout.jpg)

# Transition guide for BAM Checkout

This section only covers the breaking technical changes that should be considered when updating from the previous version.

## 3.3.0
No backward incompatible changes.

## 3.2.0

#### Changes to the public API
Expand Down
5 changes: 4 additions & 1 deletion docs/transition-guide_document-verification.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
![Jumio](images/document_verification.png)
![Jumio](images/document_verification.jpg)

# Transition guide for Document Verification

This section only covers the breaking technical changes that should be considered when updating from the previous version.

## 3.3.0
No backward incompatible changes.

## 3.2.0
No backward incompatible changes.

Expand Down
5 changes: 4 additions & 1 deletion docs/transition-guide_netverify-fastfill.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
![Fastfill & Netverify](images/netverify.png)
![Fastfill & Netverify](images/netverify.jpg)

# Transition guide for Fastfill & Netverify

This section only covers the breaking technical changes that should be considered when updating from the previous version.

## 3.3.0
No backward incompatible changes.

## 3.2.0

#### 3D-Liveness handling via Custom-UI
Expand Down
Loading

0 comments on commit 5f8277e

Please sign in to comment.