6

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

我看到了这个插件,但我没有在 AngularJS/Ionic/Cordova 应用程序中创建深层链接的经验。有任何想法吗?

4

4 回答 4

7

如果您不确定深度链接,它将增加您页面的机器人印象,从而增加爬虫的数量。

如果您想了解有关深度链接的更多信息,请访问以下链接:http ://www.divami.com/blog/deep-linking-angular/

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

以下是有关如何实现此功能的链接:

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

于 2018-03-05T12:52:36.643 回答
4

由于您使用的是cordova,请使用插件,它将帮助您轻松开始IOS和Android。

使用以下 cmd 使用 URL Scheme 安装插件

$ cordova plugin add cordova-plugin-customurlscheme --variable URL_SCHEME=mycoolapp

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

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

您可以将身份验证代码与您的 URL 一起发送,例如

<a href="mycoolapp://somepath?OauthCode=789456">Open my app</a> 

在您的应用程序中检索代码

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

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

于 2018-03-07T13:45:49.227 回答
2

试试这个插件,效果很好。

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 模块订阅了一个事件。

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

于 2018-03-09T02:51:53.113 回答
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/

于 2018-03-14T06:51:49.363 回答