我们创建了一个智能链接unblnd.com/app
此链接检测设备:台式机、iphone 或 android。根据设备,它会转到主页或特定的应用程序商店。
该链接是未编入索引的 302 重定向。
目标: 在 google 分析中包含 /app 重定向路由并跟踪获取渠道
想法:
是否有一些干净、简单的方法被认为是最佳实践?
更多信息:
为了创建重定向,我们使用这个 Laravel 控制器方法
路线/ web.php
Route::get('/app', 'LandingController@app');
着陆控制器
public function app(Request $request)
{
if (!Agent::isMobile()) {
return redirect('/');
}
else if(Agent::isAndroidOS()) {
return Redirect::away(config('app.android_url'));
}
else if (Agent::isIphone()) {
return Redirect::away(config('app.apple_url'));
}
return redirect('/');
}
好的,我相信我们找到了一个很好的答案!
我们将控制器方法更改为始终重定向到主页,但使用查询字符串参数:
public function app(Request $request)
{
if (!Agent::isMobile()) {
return redirect('/?app=desktop');
}
else if(Agent::isAndroidOS()) {
return redirect('/?app=android');
}
else if (Agent::isIphone()) {
return redirect('/?app=iphone');
}
return redirect('/?app=desktop');
}
当主视图安装在浏览器中时,它会检查查询参数并在必要时重定向:
let app_url = false;
const urlParams = new URLSearchParams(window.location.search);
if (urlParams.get('app') && urlParams.get('app') === 'android') app_url = "{{config('app.android_url')}}";
if (urlParams.get('app') && urlParams.get('app') === 'iphone') app_url = "{{config('app.apple_url')}}";
if (app_url) {
window.location.href = app_url;
}