我正在为iOS + Android构建AngularJS(1.x)和Ionic / Cordova移动应用程序。我想添加/创建一个"深层链接"到我的登录页面,这样当我向新用户发送" 确认您的电子邮件"电子邮件,他们点击链接确认他们的注册,然后如果他们在他们的移动设备上(安装了我的应用)他们将直接带入应用程序登录页。
我看到this plugin但我没有在AngularJS / Ionic / Cordova应用中创建深层链接的经验。有什么想法吗?
答案 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
将此插件添加到您应用的模块中 以下链接解释了更多关于
的内容