Обработка глубоких ссылок с множественным перенаправлением

#android #nginx #redirect

#Android #nginx #перенаправление

Вопрос:

У меня есть приложение для Android. пытаюсь работать с глубокой ссылкой с множественным перенаправлением.
1-й. Перенаправление — когда я открываю этот URL ( https://www.tiny.com/op/abRh4 ) , Nginx перенаправляет этот URL на http://customdomain.com/internal

2-е перенаправление — этот Url ( http://customdomain.com/internal/abRh4 ) автоматически (с помощью API) перенаправит на https://customdomain.com?screen-no=25amp;notification=show (длинный URL)

Я, наконец, хочу открыть глубокую связь с. https://customdomain.com?screen-no=25amp;notification=show но Android открывает его с помощью http://customdomain.com/internal/abRh4

Кто-нибудь предлагает, как обрабатывать множественные перенаправления с помощью глубокой ссылки (можем ли мы обработать это множественное перенаправление в одно с помощью конфигурации nginx)?

это два разных сервера (1-й сервер -> перенаправление Nginx, 2-й сервер -> Откуда поступает api)

Конфигурация nginx

 server {
        listen 443 ssl http2;
        server_name www.tiny.com;
        location /op {
        add_header 'Access-Control-Allow-Origin' '*' always;
                add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass https://customdomain.com/internal;
    }
}

    //this api will hit when we call http://customdomain.com/internal/abRh4

    @GET
    @Path("/{shortKey}")
    @Produces({MediaType.TEXT_HTML})
    public Response resolveShortUrl(@PathParam("shortKey") String shortUrlKey) {

        UrlShortenerLogicHelper helper = new UrlShortenerLogicHelper();
        try {
            helper.openConnection();
            URI url = new URI(helper.resolveShortUrl(shortUrlKey));
            // return url like https://customdomain.com?screen-no=25amp;notification=show
            return Response.temporaryRedirect(url).build();
        } catch(Exception e){}
    }


 

Комментарии:

1. покажите некоторый код, как вы в настоящее время реализуете глубокую компоновку, а также WebView инициализацию. если первое перенаправление работает, почему второе не должно…

2. @snachmsm добавьте немного кода. может быть, это поможет

Ответ №1:

Вы можете добавить несколько тегов данных с помощью фильтра намерений вашей активности

 <data android:host="www.test.com"
 android:pathPrefix="/op/abRh4"
 android:scheme="https" />

<data android:host="www.myOwnSite.com"
 android:pathPrefix="/shorturl/abRh4"
 android:scheme="https" />
 

Комментарии:

1. спасибо за ответ. Извините, но я меняю доменное имя для более четкого объяснения. не могли бы вы помочь с этим. Я также добавляю некоторый код, чтобы понять