Deeplink - это URI (унифицированный идентификатор ресурса), который ведет к этому контенту, а не к его домашней странице.

Когда дело доходит до мобильного приложения, это аналогичная концепция, и мы открываем приложение в этом конкретном месте. Для мобильного приложения возможны два сценария:

Приложение установлено: если приложение установлено, мы можем перейти к этому контенту. Здесь также есть два сценария, но они будут обрабатываться мобильными разработчиками, например, если перенаправление на authorization URL, тогда нам (разработчику мобильных приложений) необходимо проверить, авторизован ли он на этой странице, проще говоря, пользователь login или subscribe на эту страницу или кто-то другой, если у пользователя есть доступ, перейдите к этому мобильному макету или странице, в противном случае выполните перенаправление, чтобы войти в систему или приобрести подписку, в зависимости от требований.

Приложение не установлено. », Чтобы загрузить приложение.

Теперь перейдем к части кодирования, как это можно сделать. Я использую событие javascript под названием «навигатор», и его можно реализовать на любой веб-странице. Я реализовал это с помощью Angular 6.

Предположим, мой URL-адрес - http://myrl.com/mycomponent и внутри него много поездок / событий или чего-то еще, теперь, если я открываю в мобильном браузере, я хочу открыть открытый с этим ссылка

Файл TS компонента: - trips.component.ts

import { Component, OnInit } from '@angular/core';
import { DeeplinkService } from 'folderpath/deeplink.service'
// declare function deeplink(): any;
@Component({
  selector: 'app-trips',
  templateUrl: './trips.component.html',
  styleUrls: ['./trips.component.scss']
})
export class TripsComponent implements OnInit {
  constructor(private deeplinkService : DeeplinkService) {
  }
  ngOnInit() {
  }
  handleTripDetail(params){
    this.deeplinkService.deeplink(params);
  }
}

Теперь я делаю все макеты / страницы с подробностями поездки и для мобильного приложения, поэтому сначала проверю, открыт ли он в браузере Android или iOS, а затем перейду на эту страницу внутри мобильного приложения, в противном случае перенаправляю на URL-адрес веб-сайта.

Сервисный файл: deeplink.service.ts

import { Injectable } from "@angular/core";
@Injectable()
export class DeeplinkService {
 constructor() {}
 deeplink() {
   let ua = navigator.userAgent.toLowerCase();
   let isAndroid = ua.indexOf("android") > -1; // android check
   let isIphone = ua.indexOf("iphone") > -1; // ios check
   if (isIphone == true) {
    let app = { 
      launchApp: function() {
       setTimeout(function() {
         window.location.href = "https://itunes.apple.com/us/app/appname/appid";
       }, 25);
       window.location.href = "bundlename://linkname"; //which page to open(now from mobile, check its authorization)
      },
      openWebApp: function() {
       window.location.href = "https://itunes.apple.com/us/app/appname/appid";
      }
  };
  app.launchApp();
 } else if (isAndroid== true) {
    let app = { 
      launchApp: function() {
        window.location.replace("bundlename://linkname"); //which page to open(now from mobile, check its authorization)
        setTimeout(this.openWebApp, 500);
      },
      openWebApp: function() {
        window.location.href =  "https://play.google.com/store/apps/details?id=packagename";
      }
  };
  app.launchApp();
 }else{
  //navigate to website url
 }
}

Аналогичным образом это можно сделать в REACT, VUE, EJS, PHP и т. Д.