Show / Hide Table of Contents

    DEM 2 1.0.545 Release Notes

    Released 07.12.2021

    View in browser

    This release continues to improve existing features while introducing a few significant feature contributions.

    What's new

    New SDK for Android

    • We imported new merged DLL for mToken and Instant payment for android. It's located in ExternalDependencies/mToken_IPS_droid_2021.11.29.

    PIN validation on device activation

    • We added PIN validation on device activation, such that the user cannot create a PIN containing his date of birth. The PIN for the mobile application must not be set as follows: "yyyy" - year of birth; "ddmm" - day and month of birth; "mmdd" - month and day of birth.

      We also added a new configuration key - FactoryConfig_ValidatePinForBirthDateOnActivation, which controls this feature. It's default value is false, but you can set it to true in order to turn this validation on.

      Please, note that this is added just for username - password activation flow.

    POBA

    Integration with Digital Origination

    • We have successfully integrated DE with DO. When user goes to DO product catalog or DO application list through the WebView, it will be recognized by the DO and already logged in. The token that we received after logging in to DE is forwarded to DO through JavaScript.
    
    var accessToken = apiClient.GetInvocationContext()?.ApplicationAccessToken;
    
    if (!String.IsNullOrWhiteSpace(accessToken))
    {
        System.IdentityModel.Tokens.Jwt.JwtSecurityToken jwtSecurityToken = App.Session.GetJwtToken(accessToken);
        var doc_expires_at1 = jwtSecurityToken.Payload.Where(x => x.Key == "exp").FirstOrDefault().Value.ToString();
        var doc_access_token_stored_at1 = jwtSecurityToken.Payload.Where(x => x.Key == "nbf").FirstOrDefault().Value.ToString();
        var doc_access_token1 = accessToken;
    
        if (!String.IsNullOrEmpty(doc_expires_at1) && !String.IsNullOrEmpty(doc_access_token_stored_at1) && !String.IsNullOrEmpty(doc_access_token1))
        {
            try
            {                                                  
                StringInput = "(function() { localStorage.clear(); window.onmessage = (e) => { if (e.data.hasOwnProperty('type') && e.data.type == 'do-ready'){ window.postMessage({ type: 'provide-access-token','access-token'" + $":'{accessToken}'" + "}, '*'); } }; })();";
    
                var result = await EvaluateJavascript(StringInput);
    
                ResultEvaluateJavascript = result;
            }
            catch (Exception ex)
            {
                Console.WriteLine("***************************JavaScrtipt excetion DO: " + ex.Message);
                ResultEvaluateJavascript = null;
            }
        }
        else
        {
            ResultEvaluateJavascript = null;
        }
    }
    
    

    You can take a look at DigitalOriginationViewModel and ApplicationListViewModel.

    We added another configuration key related to ApplicationList - FactoryConfig_IsApplicationListWebView, to control the logic within the view model depending on whether we want the list to be a classic list preview or a WebView. So now, in addition to the appropriate registration, it is necessary to set this key to the desired value. It's default value is false, but if you register application list to be web view, you should also set this key to true.

    We already described the application list registration and switch between regular application list and web view, all that you can find here.

    Force update

    We already have a feature flag Features.IsUsingLatestVersion, which when turned on forces the user to update the application if a newer version exists on the store.

    Now, on POBA, there is a need for an optional update also, which means that from some version bank won't force every client to update, but just those that don't have the latest mandatory version update.

    This is handled with our ConfigurationSyncService and GET v1/dialog/configuration request at application start-up. We added new configuration key - FactoryConfig_MinimalMandatoryAppVersion, which default value is empty string, but if a version for this key has been returned from the server, for example "1.4.0" and Features.IsUsingLatestVersion is set to false, our application will compare the installed version with the version returned from the server and if it's a smaller one, the user will be redirected to store.

    Huawei

    • We added a description of the integration with Huawei AppLinking, and thus, completed the document related to Huawei Mobile Services. You can find it at this link.

    Bug fixed

    Staging

    • 38202
    • 38190
    • 38215
    • 38200

    Halk

    External

    • 477879, 477912, 479014, 477154

    Latest application on AppCentar

    Halk - SxS MToken - SC 24x7 UAT

    • Android 64.75 MB (163)
    • iOS 69.39 MB (111)

    DEM V2 - Staging - SxS on Halk test

    • Android 51.98 MB (300)
    • iOS 71.14 MB (284)
    • iOS 68.18 MB Momentum (15)
    • Huawei 47.43 MB (25)

    DEM V2 - Demo - SxS on Halk test

    • Android 59.57 MB (239)
    • iOS 67.12 MB (221)

    Packages (545)

    NuGet feed AzureDevOps

    Build Status

    Contributions welcome!

    If you have one or more of some common pieces of code that you are always replicating across delivery apps, don't hesitate to contribute! We are the first NuGet package you install when creating a new .Net Mobile banking app!

    Please have a look at our contribution guide before you get started.

    If you need any help getting started, please let us know.

    Useful Links

    • DEM V2 documentation - what's new
    • Configuration
    • Open-source DEM 2.0 AssecoSee GitHub repository

    Thank you to our community for helping to make DEM even better! Mobile Team

    Back to top Copyright 2020 Asseco SEE