Dynamic deep linking from web url to open mobile application

Hi, I have a dynamic deep link that is generated through an API and then passed on to MailChimp which generates a link in an email for users to click and enter a angularjs web page.

Currently, we are implementing an Android mobile application which wants users with the application when clicked on that web url link to open the mobile application and execute the Activity. Is there a way I can do this?

Answers

  • YkshLeoYkshLeo USMember ✭✭✭✭

    @DARRYLLAU,

    If you want to provide tight integration between your website and your app, you can define your own scheme.

    Add this IntentFilter to your MainActivity.

    [IntentFilter(
        new[] { Intent.ActionView },
        Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
        DataScheme = "my.special.scheme"          // special and specific scheme provide by you
    )]
    

    Then, in your web app you can put links like :

    <a href="my.special.scheme://other/parameters/here">
    

    And when the user clicks it, your app will be launched automatically (because it will probably be the only one that can handle my.special.scheme:// type of uris). The only downside to this is that if the user doesn't have the app installed, they'll get a nasty error.


    You can also make use of these articles refering different ways :

  • DARRYLLAUDARRYLLAU SGMember

    Hi Vaikesh,

    Thanks for your answer. I have tried the above but because my web page is generated via angularJS, I can't put a href link. Instead, on the angularJS controller, we have something like this:

    app.config(["$stateProvider",
    ($stateProvider: ng.ui.IStateProvider) => {
    $stateProvider.state("verifyAccount", {
    url: "/VerifyAccount({userId:.})/{securityToken:.}",
    onEnter: ['$modal', "$stateParams", "$state",
    ($modal: ng.ui.bootstrap.IModalService, $stateParams, $state: ng.ui.IStateService) => {
    $modal.open(
    {
    backdrop: "static",
    templateUrl: UrlTemplate.hash("ng/modules/verifyAccount/verifyAccount.html?{hash}"),
    controller: "VerifyAccountController as verifyAccount",
    resolve: {
    $stateParams: () => $stateParams
    }
    });
    }]
    });
    }]);

    Is there any way I can put the link in the URL with a fallback url if the user does not have the android application in his/her phone?

Sign In or Register to comment.