Как перенаправить пользователя в мобильное приложение (без браузера) с помощью Django (универсальная ссылка/ссылка на прAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как перенаправить пользователя в мобильное приложение (без браузера) с помощью Django (универсальная ссылка/ссылка на пр

Сообщение Anonymous »

Я работаю над веб-приложением на базе Django, и мне нужно реализовать функцию, позволяющую пользователям перенаправляться в мобильное приложение напрямую (без использования браузера) при посещении определенного URL-адреса. Я хочу использовать универсальные ссылки (для iOS) или ссылки на приложения (для Android) и обеспечить плавное перенаправление.
Мои настройки:
Шаблон URL-адреса: я использую URL-адрес например /api/app/login/str:session_token/.
URL-адрес мобильного приложения: я хочу перенаправлять пользователей на URL-адрес пользовательской схемы, например myapp://path/to/page/.
Текущее представление: Это мое мнение, что пытается обработать перенаправление:

Код: Выделить всё

from django.http import HttpResponseRedirect
from django.views import View

class MobileRedirectView(View):
def get(self, request, *args, **kwargs):
# Custom mobile app URL (Universal Link for iOS or App Link for Android)
mobile_app_url = "myapp://path/to/page/"

# Redirecting to the mobile app
return HttpResponseRedirect(mobile_app_url)

Проблема:
При попытке перенаправления на URL-адрес мобильного приложения с использованием пользовательской схемы (myapp://) я получаю следующую ошибку:
django.core .Exceptions.DisallowedRedirect: небезопасное перенаправление на URL-адрес с протоколом myapp.
Я знаю, что Django по умолчанию разрешает перенаправление только на URL-адреса http:// или https://, но мне нужно чтобы разрешить пользовательские схемы, такие как myapp://.
Цель: я хочу, чтобы перенаправление происходило без использования браузера (непосредственно в мобильное приложение), а также я хочу использовать универсальные ссылки/ссылки на приложения для iOS и Android соответственно.
Дополнительный контекст:
Я настроил .well-known файлы, чтобы настроить свое приложение для обработки этих ссылок на мобильных устройствах. Хорошо известная конфигурация моих приложений для iOS и Android выглядит следующим образом:
Для iOS (внутри apple-app-site-association):

Код: Выделить всё

{
"applinks": {
"details": [
{
"appID": "TEAM_ID.com.myapp",
"paths": ["/path/to/page/*"]
}
]
}
}

Для Android (внутри assetslinks.json):

Код: Выделить всё

{
"applinks": {
"details": [
{
"appID": "com.myapp",
"paths": ["/path/to/page/*"]
}
]
}
}

Как я могу разрешить перенаправление на пользовательскую схему, например myapp://, в Django, гарантируя при этом, что оно обрабатывается непосредственно мобильным приложением (iOS/Android) без использования браузера?
/>Следует ли мне настроить параметры Django, чтобы разрешить перенаправление настраиваемой схемы? Если да, то как?
Нужно ли мне изменить представление Django или использовать JavaScript для запуска перенаправления таким образом, чтобы избежать браузера?
Могу ли я использовать .well-known файлы, чтобы гарантировать, что iOS и Android правильно обрабатывать эти ссылки без каких-либо проблем?
Есть ли лучший подход для достижения этой цели с помощью универсальных ссылок и ссылок на приложения в приложении Django, гарантируя, что пользователь перенаправляется непосредственно в мобильное приложение (а не через браузер)?
Дополнительно Конфигурация:
Есть ли какая-либо специальная конфигурация Nginx или другая серверная конфигурация, которую мне нужно настроить, чтобы разрешить подобные перенаправления на сервере?
Буду очень признателен за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... -universal
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»