跟踪 302 重定向 (/app) 到应用商店的获取渠道

Track acquisition channels for 302 redirects (/app) to app stores

我们创造了一个智能linkunblnd.com/app

此 link 检测设备:桌面、iphone 或 android。 根据设备的不同,它会转到主页或特定的应用商店。

link 是一个没有索引的 302 重定向。

目标: 在 google 分析中包含 /app 重定向路由并跟踪获取渠道

想法:

是否有一些干净、简单的方法被认为是最佳实践?

更多信息:

要创建重定向,我们使用此 Laravel 控制器方法

routes/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;
    }