Ir para o conteúdo

DialMyApp, Deeplinks, Applinks

There is functionality when the DialMyApp platform can send users an SMS which contains a deeplink. When user clicks on the link, DMA SDK inside the app can handle it - open a profile e.g.

Example of domains handled by DMA SDK:

<data android:scheme="https"
      android:host="callmyapp.appspot.com" />
<data android:scheme="https"
      android:host="dialmyapp.com"/>
<data android:scheme="https"
      android:host="m.dialmyapp.com"/>

When a user clicks on the deeplink in SMS, usually the android OS shows a list of suggested app for processing it - the list contains installed apps with integrated DMA SDK.

Since android 12 (API level 31), android OS opens deeplink in a browser by default. It is possible for the user to set the app as a default handler for the deeplink in application settings - it'll help to open the deeplink by the app.

In order to make it possible to open the deeplink by the app programmatically, we can turn the Deeplink into the Applink (see official documentation).

We can declare the association between our website and deeplinks in an SMS by hosting a Digital Asset Links JSON file at the following location:

https://domain.name/.well-known/assetlinks.json

An "assetlinks.json" file must be published on your website to indicate the Android apps that are associated with the website and verify the app's URL intents. The JSON file uses the following fields to identify associated apps:

  • package_name: The application ID declared in the app's build.gradle file.
  • sha256_cert_fingerprints: The SHA256 fingerprints of your app's signing certificate.

The following example assetlinks.json file grants link-opening rights to a com.example Android app:

[{
 "relation": ["delegate_permission/common.handle_all_urls"],
 "target": {
 "namespace": "android_app",
 "package_name": "com.example",
 "sha256_cert_fingerprints":
 ["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
}
}]