The Clever Dialer SDK can show overlays upon / during (pre-call) and after (post-call) a phone call which provide details about the phone number. Whenever a phone call takes place, the Clever Dialer SDK searches for information and will show these overlays upon success. This happens independently of the call type (incoming / outgoing / missed call). The overlays can show data about private persons, businesses or a warning in case of a known spam number. The overlays can be visually adjusted to perfectly match the hosting applications corporate identity guidelines.

Pre-Call Overlay

The Pre-Call Overlay slides in from the left (upon / during a phone call) and can be closed by a swipe-gesture. It will show the most important information about the phone number like name and address, or a warning in case of a known spam number. The overlay will also contain a hint about online booking, if the contact supports this feature.

Post-Call Overlay

The Post-Call Overlay slides in from the bottom of the screen (after a phone call) and can either be closed by swipe-down, by clicking the back-button or by clicking on the background. Compared to the Pre-Call Overlay, it will show more detailed information about the phone number like ratings, website- or booking link. The fields inside the Post-Call Overlay are clickable and the hosting application can decide, how the click should be handled (which action should take place). There are two buttons in the Post-Call Overlay which define the primary actions. On the left side of each Post-Call Overlay, there is the save-button, which enables the user to store the phone number to his local address book. The button on the right side changes depending on whether it is a spam number or not. For known spam numbers, the button will show more details and open the Clever Dialer website. For non-spam numbers, it will show the profile-button and can for example open the profile belonging to the phone number inside the hosting app. Furthermore, the overlay can optionally contain a button, which enables the user to rate the contact.

If the user tried to call a business, but the phone call was not answered, or he clicked the "Show alternatives"-button within the Post-Call Overlay, the Clever Dialer SDK will search for alternatives and show matching businesses nearby. To give the user the chance to select an alternative which best fits his needs, the alternatives overlay will show ratings, phone number, address, website and booking link for each alternative, according to the available data. These fields are clickable.

Whenever a Post-Call Overlay is shown, the Clever Dialer SDK will send a notification to the user, too. By clicking the notification, the user can reopen the Post-Call Overlay.


The Clever Dialer SDK provides a settings-page which can optionally be used by the hosting app. This settings-page contains all SDK relevant configuration parameters / options, which should be changeable by the user at runtime.

In the settings-page, the user can enable the Clever Dialer SDK by accepting the usage and granting the required permissions, if he did not do so yet. As long as he did not activate the SDK, the settings will be disabled / inactive. As soon as the user activates the Clever Dialer SDK, it will start to show overlays with details about the phone number whenever a phone call takes place, and information is available.

The user can decide, that he does not want to see an overlay, if the given phone number is stored in his local address book. Therefore he has to grant the permission READ_CONTACTS.


To enable the Clever Dialer SDK, the user has to accept the usage and grant a set of required permissions. Since the introduction of Android 6.0 these permissions are requested at runtime. Therefore the Clever Dialer SDK provides a default onboarding process (besides the settings-page), which can optionally be used by the hosting application. Using this default onboarding process, the hosting application can decide when and how often a user should be asked to activate the SDK (if he does not do it at first attempt).

The onboarding process has (as shown in the diagram) two entry points A and B. If the user did not accept the usage of the SDK yet, A will be the starting point. If he already accepted, but did not grant each required permission, the onboarding process will start at B. In both cases, a click on the positive button will request the required permissions by showing the system dialogs. If the user already permanently denied one of those permissions, the process will open the phone settings, where the user can grant each permission even in this case. If A was the entry point and the user denied one of the mandatory permissions, an overlay will be displayed, which will explain the necessity of the permissions again in a different wording. If all mandatory permissions have been granted by the user, the SDK will ask for the permission SYSTEM_ALERT_WINDOW (which is needed to display the Pre-Call Overlay) in the last step.

On "Huawei", "Samsung", or "Xiaomi" phones, some device specific settings are required in order to enable the SDK. Therefore, the onboarding process contains an additional overlay if the user is running the application on one of those devices:

All the overlays which are part of the onboarding process and shown in the diagram, are structured like the Post-Call Overlays and therefore can be visually adjusted to perfectly fit into the design concept of the hosting application. Each overlay is marked by an info-icon and contains a title, a message, a negative and a positive button. Thus, the onboarding process provides a consistent and reliable user experience.

If the user accepted the usage of the Clever Dialer SDK and granted all mandatory permissions except SYSTEM_ALERT_WINDOW, the SDK can not draw Pre-Call Overlays upon / during a phone call. However, it is already able to show Post-Call Overlays after a phone call. If the user closes a Post-Call Overlay in this case, an additional overlay will be displayed, indicating the lack of this permission.

If the user already granted the permission READ_CONTACTS (for example in another context inside of the hosting application), but did never decide, whether he wants to see overlays if the phone number is stored in his address book, the sdk will ask him after a regular Post-Call Overlay was shown.

Furthermore, if the user deactivated overlays for contacts, which are stored in his local address book, but revokes the permission READ_CONTACTS later in the phone settings, another overlay will be displayed after a regular Post-Call Overlay and again explain why this permission is required.


The integration of Clever Dialer SDK can easily be tested, as the SDK provides an optional screen, which enables the tester to comfortably open Pre- and Post-Call Overlays.

A set of mocked contacts (spam, business, business with ratings, business with alternatives, private) is included, too. These mocked contacts are shown in a list on the test screen and can be selected to trigger an overlay. The overlays can be opened by clicking one of the associated buttons or by a regular phone call to / from a given phone number. The phone numbers for these said mocked contacts can be changed at runtime. This way the behaviour of the Clever Dialer SDK can be tested even for incoming calls. The hosting application can decide, when to open / show this test screen.


We have designed our SDK with customisability in mind. Every screen presented to the user can be visually adjusted to perfectly match your corporate identity guidelines.

Apart from visual customizations, the behavior of our SDK can also be configured. The hosting app can either use the default configuration, configure the SDK itself or give the user the option to configure the SDK (for example in the settings-page).

Changeable behavior:

  • Should the SDK warn against spam?
  • Should the SDK do caller identification for non-spam numbers?
  • Should the SDK show alternative suggestions if the phone call has been unsuccessful?
  • Should the SDK support address book access in order to prevent to show overlays in the case, that the given phone number is stored in the users address book?
  • Should the SDK send a notification, when a Post-Call Overlay is shown?
  • Should the SDK show booking links if the contact supports online booking?
  • Should the SDK allow the user to rate contacts?
  • Should the SDk show the profile-button within the Post-Call Overlay to enable the user to open the contacts profile-page?
Last Updated: 6/30/2020, 10:09:03 AM