1.17 Deep linking - To open reset password, claim money links with the application

This topic provides information on Deep linking - To open reset password, claim money links with the application.

  1. Deep linking in IOS works with https URL and a valid ASA configuration. Deep linking keeps the application flow within the application when user clicks on bank’s reset-password or claim-money link on email or message.
  2. AASA- Apple App Site Association file which OS installs on the device when application is installed. This AASA file is hosted on our server for testing and then apple stores that file to its APPLE CDN when application is released on Appstore.
  3. This file is fetched by Apple after a duration of 5 days. So, any new update in the file takes 5 days to gets reflected in the application. In development mode though, every application installation, the AASA file is re-fetched on device.
  4. This is optional setup. If bank wants deep linking, then below steps to setup AASA file.
  5. If Bank doesn’t want to set this up, do not follow below steps to setup AASA file. Also, open Zigbank project in XCode, Select Zigbank target → Signing Capabilities → Delete Associated domain

AASA SETUP:

There are two parts for the setup – Server side and application side.

Server Side AASA Setup:

  1. AASA file needs to be hosted on https server with valid SSL certificate. There should be no rediection to this file.
  2. Update properties in digx-sms.war → com.ofss.digx.app.sms.service.jar → resources/IphoneApplink.properties

    Below are the sample values for a single application supporting deep link. Bank should update banks’ teamID and bundle ID.

    3NXJ972C93.com.ofss.digx.obdx.zigbank In this 3NXJ972C93 is the team Id and com.ofss.digx.obdx.zigbank is bundle identifier. So the format is <TEAM_ID>.<bundleIdentifier>

    Team ID is present in developer account in membership details

    numberofapps=1      
    appid0=3NXJ972C93.com.ofss.digx.obdx.zigbank <Add bank’s teamID.bundleID>                 
                      paths0=*
  3. Need to change host and port in Obdx.conf

    ProxyPass "/.well-known" "http://<OHS host>/digx-sms/v1/.well-known"

    ProxyPassReverse "/.well-known" "http://<OHS host>/digx-sms/ v1/.well-known"

  4. After the setup is done, this AASA file must be accessible on mobile browser with this URL. There should not by any redirects for accessing this file.

    https://<host>/.well-known/apple-app-site-association

    The content output should be as below:

    {  
            "applinks":{     
            "apps":[        
                 
            ],     
            "details":[        
            {           
            "appID":"3NXJ972C93.com.ofss.digx.obdx.zigbank",            
    "appIDs":
    ["3NXJ972C93.com.ofss.digx.obdx.zigbank"            
    ],            
    "components":[               
    {                  
    "comment":"Match",                  
    "/":"*"               
    }            
    ],            
    "paths":[               
    "*"            
    ]        
            }     
            ]  
            },  
            "activitycontinuation":{     
            "apps":[        
            "3NXJ972C93.com.ofss.digx.obdx.zigbank"     
            ]  
            }
    }

Application side.setup:

  1. Open developer portal and enable Associated domain for your appID

  2. Open Zigbank.workspace → Select Zigbank target. Go to Signing and Capabilities → In associated domain section, update the URL with bank’s host for activitycontinuation and applinks.

    Example: Replace ofss-mum-2524.snbomprshared1.gbucdsint02bom.oraclevcn.com?mode=developer with banks host where the ASA file is hosted. No port and https to be added here.

    Note:

    In applinks and activitycontinuation “?mode=developer” is only for development mode and testing on TestFlight. Hence for development with this mode, we can test only with developer profile.

    Once app is ready for distribution to AppStore and the TestFlight, ?mode=developer should be removed.



  3. Update the key_server_url to https URL in the Zigbank project app.plist
  4. Update the host details in IOS Xcode workspace in config.xml
    <universal-links>
    <host name="<domain name where AASA is hosted without http or https>" scheme="https" event="uni" >
              <path url="*" />
            </host>
    

    </universal-links>

    Exanple:
    <host name="ofss-mum-2524.snbomprshared1.gbucdsint02bom.oraclevcn.com" scheme="https" event="uni" >
              <path url="*" />
            </host>
    

    </universal-links>

Device Side setup for development and testing:

  1. To test on device, Developer mode should be enabled. Additionally, goto Phone Settings → Developer mode → Enable “Associated domain Development”.
  2. With all above setup, install the application on the device. Not while installing the device must be connected to network in which the AASA file is accessible.
  3. Under Settings → Developer Option → Goto Diagnostics → Add your server url like below and check if device can identify this link as deep link.

    If all setup is correct and AASA file is successfully installed on device, this will display a valid url as below

    Example: In screenshot below, we have added our server url which is also the url where AASA file is hosted.

    https://ofss-mum-2524.snbomprshared1.gbucdsint02bom.oraclevcn.com/



    If we see below message, then deep link can be tested on this device



  4. Send the link for reset-password/claim money in mail or copy the link and save the link in phone’s notepad. The link should be a https url where the AASA is hosted and should not contain port.
  5. Long press on the link and you must see “Open in Zigbank App” option. Clicking the option page opens in the application.