通过实例在AngularJS / Ionic中进行深度链接

时间:2018-03-05 12:29:27

标签: angularjs cordova deep-linking ionic-v1

我正在为iOS + Android构建AngularJS(1.x)和Ionic / Cordova移动应用程序。我想添加/创建一个"深层链接"到我的登录页面,这样当我向新用户发送" 确认您的电子邮件"电子邮件,他们点击链接确认他们的注册,然后如果他们在他们的移动设备上(安装了我的应用)他们将直接带入应用程序登录页。

我看到this plugin但我没有在AngularJS / Ionic / Cordova应用中创建深层链接的经验。有什么想法吗?

4 个答案:

答案 0 :(得分:7)

如果您不确定深层链接,会增加您网页的机器人展示次数,从而增加抓取工具的数量。

如果您想了解有关深层链接的详情,请访问以下链接:http://www.divami.com/blog/deep-linking-angular/

现在,您要实现的是对现有用户进行身份验证以及对服务器进行API调用,以检查用户是否已存在。如果用户存在,他们将被带到登录页面,否则他们将被带到注册页面。这可以使用angularjs中的解析器来实现。

以下是如何实现此目的的链接:

https://medium.com/opinionated-angularjs/advanced-routing-and-resolves-a2fcbf874a1c

答案 1 :(得分:2)

由于您使用的是cordova使用this插件,因此它可以帮助您轻松启动IOS和Android。

使用以下cmd

的URL方案安装插件
$ cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=mycoolapp

就是这样,现在您的应用可以用

引用
<a href="mycoolapp://">Open my app</a>

您可以像

一样发送身份验证代码和您的网址
<a href="mycoolapp://somepath?OauthCode=789456">Open my app</a> 

检索应用中的代码

function handleOpenURL(url) {
  console.log("received url: " + url); ==> this will returnURL after://
}

通过此,您可以在应用程序中验证用户身份。这是一种简单的方法,因为您不熟悉深层链接。浏览插件中的规则以了解有关自定义URL(mycoolapp)的命名约定的更多信息

答案 2 :(得分:2)

尝试this插件,效果很好。

document.addEventListener('eventName', didLaunchAppFromLink, false);
function didLaunchAppFromLink(event) {
  var urlData = event.detail;
  console.log('Did launch application from the link: ' + urlData.url);
  // do some work
}
var app = {
  // Application Constructor
  initialize: function() {
    this.bindEvents();
  },
  // Bind Event Listeners
  bindEvents: function() {
    document.addEventListener('deviceready', this.onDeviceReady, false);
  },
  // deviceready Event Handler
  onDeviceReady: function() {
    universalLinks.subscribe('eventName', app.didLaunchAppFromLink);
  },
  didLaunchAppFromLink: function(eventData) {
    alert('Did launch application from the link: ' + eventData.url);
  }
};
app.initialize();

如您所见,现在您在准备好设备时通过universalLinks模块订阅了一个事件。

实际上,您可以在应用程序的任何位置订阅它:插件在内部存储事件,并在有订阅者时调度它。

答案 3 :(得分:0)

这里是一个告诉如何深层链接的链接  https://blog.ionicframework.com/deeplinking-in-ionic-apps/

安装Cordova和Ionic Native插件:

$ ionic cordova plugin add ionic-plugin-deeplinks --variable URL_SCHEME=myapp --variable DEEPLINK_SCHEME=https --variable DEEPLINK_HOST=example.com --variable ANDROID_PATH_PREFIX=/
$ npm install --save @ionic-native/deeplinks

将此插件添加到您应用的模块中 以下链接解释了更多关于

的内容

https://ionicframework.com/docs/native/deeplinks/