首页 文章

firebase的 Cloud 功能重定向到URL

提问于
浏览
4

我正在尝试为我的移动应用创建下载 endpoints . 该应用程序可在应用程序商店和游戏商店中使用 . 我希望有一个URL可供用户在iOS设备或Android设备上下载应用程序 . 我试图找出是否可以为此目的为firebase创建 Cloud 功能 . 我正在考虑检查请求的 user-agent ,并根据请求是来自iOS设备还是Android设备或Web浏览器,将用户重定向到适当的URL . 我已经验证了 user-agent 标头中存在设备信息 . 对于例如

"user-agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_2 like Mac OS X) AppleWebKit/602.3.12 (KHTML, like Gecko) Version/10.0 Mobile/14C89 Safari/602.1 AppEngine-Google; (+http://code.google.com/appengine; appid: s~gcf-http-proxy)"

我想下一步要做的是在上述情况下将用户重定向到应用商店网址 . 我试图使用 res.redirect 但这不起作用 . 最终将用户重定向到 cloud-function-base-url/redirect-url 而不是 redirect-url .

以下是 Cloud 功能的代码,该功能只是在从浏览器触发功能时尝试重定向到www.google.com .

exports.appDownload = functions.https.onRequest((req, res) => {
  console.log(stringify(req.headers))
  // This will eventually redirect to a store URL based on the phone in user-agent
  res.redirect('www.google.com');
});

这最终将浏览器重定向到 base-url/www.google.com 而不是 www.google.com ,我收到一条错误消息,提示 Not Found . 我想将浏览器重定向到 www.google.com .

我想检查是否可以使用firebase的 Cloud 功能来实现上述功能 .

2 回答

  • 7

    documentation for redirect()建议您必须为其提供完全限定的URL . 注意这里存在方案"https"(你只是给出"www.google.com",它将被视为相对于当前URL的路径):

    res.redirect('https://www.google.com/')
    
  • 2

    最近,Firebase团队发布了“动态链接”功能,可以完全满足您的需求,甚至更多功能 .

    Firebase Dynamic Links

相关问题