Newsletters

iOS Android

Newsletters with smart links are a great to re-engage your users and drive traffic from e-mails to your app. But smart links must be created beforehand to be shared later. Hence, sending thousands of e-mails would require you to generate a lot of smart links, where most would probably never be used.

Newsletter

We are introducing Lazy Smart Links for Newsletters that will generate smart links on-demand. Tapping on a lazy smart link triggers the creation of smart link that will follow your pre-configured templates and drive the user to your app.

Creating a lazy smart link is extremely easy. All you need to do is to create an HTML hyperlink that follows a specific format and includes the encoded mobile deep link that will drive the user to your view inside your app, in the uri query parameter.

<a href="http://yourapp.hoko.link/lazy?uri=products%2F">Buy Now</a>

You can find more information about Lazy Smart Links in its reference section.

When the user opens your app through a smart link, it’s up to you to present the appropriate view within your app. You also have to define what are the deep linking routes that your app is going to support.

Route mapping with annotations

One way to start mapping your routes with HOKO is to use our simple and straightforward annotations at the beginning of your Activities and Fragments.

@DeeplinkRoute("products/:product_id")
public class ProductActivity extends Activity {

  @DeeplinkRouteParameter("product_id")
  private int mProductId;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    mProductId = getIntent().getIntExtra("product_id", 0);

    // Do something when deeplink is opened
  }
}

Route mapping without annotations

If you wish to manage the deep linking mapping logic manually, all you have to do is to map each route with Hoko.deeplinking().mapRoute() and a DeeplinkCallback callback object.

Hoko.deeplinking().mapRoute("products/:product_id", new DeeplinkCallback() {
  @Override
  public void deeplinkOpened(Deeplink deeplink) {
    String productId = deeplink.getRouteParameters().get("product_id");

    // Start the activity to show the item
  }
})

You can find more information about Route Mapping in the documentation.

More information

Need to know more about this? You can find more information in the following pages:

Check our frequently asked questions or send us a message if you can’t find what you are looking for. We’re always glad to hear from you and answer all your questions.