我正在为 iOS + Android 构建 AngularJS (1.x) 和 Ionic/Cordova 移动应用程序。我想在我的登录页面上添加/创建一个“深层链接”,这样当我向新用户发送一封“确认您的电子邮件”电子邮件并且他们点击一个链接以确认他们的注册时,如果他们在他们的移动设备(安装了我的应用程序)他们将被直接带到应用程序的登录页面。
我看到了这个插件,但我没有在 AngularJS/Ionic/Cordova 应用程序中创建深层链接的经验。有任何想法吗?
我正在为 iOS + Android 构建 AngularJS (1.x) 和 Ionic/Cordova 移动应用程序。我想在我的登录页面上添加/创建一个“深层链接”,这样当我向新用户发送一封“确认您的电子邮件”电子邮件并且他们点击一个链接以确认他们的注册时,如果他们在他们的移动设备(安装了我的应用程序)他们将被直接带到应用程序的登录页面。
我看到了这个插件,但我没有在 AngularJS/Ionic/Cordova 应用程序中创建深层链接的经验。有任何想法吗?
如果您不确定深度链接,它将增加您页面的机器人印象,从而增加爬虫的数量。
如果您想了解有关深度链接的更多信息,请访问以下链接:http ://www.divami.com/blog/deep-linking-angular/
现在,您要实现的事情是对现有用户进行身份验证,并对服务器进行 API 调用,以检查用户是否已经存在。如果用户存在,他们将被带到登录页面,否则他们将被带到注册页面。这可以使用 angularjs 中的解析器来实现。
以下是有关如何实现此功能的链接:
https://medium.com/opinionated-angularjs/advanced-routing-and-resolves-a2fcbf874a1c
由于您使用的是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)
试试这个插件,效果很好。
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 模块订阅了一个事件。
实际上,您可以在应用程序的任何位置订阅它:插件在内部存储事件并在有订阅者时调度它。
这是一个链接,告诉如何深度链接 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
将此插件添加到您的应用程序模块中,以下链接对此进行了详细说明