【问题标题】:Click email verification link to open app点击邮箱验证链接打开应用
【发布时间】:2015-08-07 16:03:41
【问题描述】:

我正在使用 Meteor 构建一个移动应用程序。当用户注册时,我会向他发送一封验证电子邮件。当他打开电子邮件并单击链接时,他被重定向到myapp.com/,这是我的应用程序的移动网络版本。相反,当他单击链接时,我希望应用程序打开,以便他可以立即启动应用程序。

我认为可以通过设置自定义 URL 方案来实现。要设置它,我可以使用这个cordova plugin。但是,如果用户在电脑上打开验证链接怎么办?有没有办法在他在电脑上打开时将其重定向到移动网页,否则打开应用程序?

【问题讨论】:

    标签: cordova meteor


    【解决方案1】:

    第一句话:我测试了这个流程,发现自定义 url 方案并不总是有效,并根据用户使用的电子邮件应用程序打开移动应用程序。 因此,我最终在验证电子邮件中获得了一个“正常”网络链接,该链接在浏览器中打开页面并立即将用户(通过路由器)重定向到自定义 url 方案,效果很好。

    关于您的问题,除了检查用户代理之外,我看不到任何其他方法可以检查用户是在移动设备上还是桌面设备上。 在重定向到自定义 url 方案之前,我会检查它是否是移动浏览器,然后重定向到自定义 url 方案,或者如果它看起来是桌面浏览器,请继续页面。

    似乎有一些软件包可以用于正确的设备检测,比如这个: https://atmospherejs.com/mystor/device-detection

    【讨论】:

    • 嗨!这是一个有趣的方法。请告诉我我是否理解正确。当用户打开 myapp.com/verified 时,在我的路由中我可以将它们路由到 myapp://something?
    • 是的,这就是想法,因为某些电子邮件应用程序似乎不支持自定义 URL,但浏览器重定向可以解决问题。 (但恐怕没有完美的解决方案)
    • 还有一个问题。打开应用程序时,我想重定向到应用程序内部的某个位置,但似乎在第一次打开应用程序时我失去了反应。收听 Cordova resume 活动对您有用吗?
    • 如果应用程序在后台,您可能会失去与服务器的连接。后果是您必须等待下一次重试,每次重试后它会变得更长,但它是不可见的......为了解决这个问题,我创建了一个包(atmospherejs.com/255kb/meteor-status)在连接丢失时发出警报,并允许用户重新连接手动。我也知道有一个包会在科尔多瓦恢复事件时自动重新连接,但我不记得名字了。您也可以自己为此事件添加侦听器并重新连接Meteor.reconnect()
    • 但是如何检测用户是否安装了应用程序?他本可以使用常规的移动网页进行注册。然后重定向到 myapp:// 会出错,对吧?
    猜你喜欢
    • 2020-08-14
    • 1970-01-01
    • 2022-01-19
    • 2014-12-29
    • 2014-12-09
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    相关资源
    最近更新 更多