Как Branch.io успешно глубокая ссылка от хромированных iOS, когда настраиваемые домены стержлены?IOS

Программируем под IOS
Anonymous
Как Branch.io успешно глубокая ссылка от хромированных iOS, когда настраиваемые домены стержлены?

Сообщение Anonymous »

Как Branch.io успешно глубоко связана с хромированными iOS, когда настраиваемые домены терпят неудачу? /> Chrome показывает: «Этот сайт пытается открыть еще одно приложение»
racks racks «Alling»
Появляется ошибка: «Что -то пошло не так. /> [*] Универсальные ссылки отлично работают над Safari IOS
[*] Универсальные ссылки работают от WhatsApp, сообщений и т. Д. Applinks: myApp-domain.com
[*] Пользовательская схема URL MyAppscheme: // Зарегистрировано в info.plist

Не работает:
  • chrome ios с универсальными ссылками (https://myapp-mop-mop. /> Chrome ios с пользовательской схемой (myappscheme: //)
Что я попробовал
Многочисленные методы Javascript:
javascript // Метод 1: Прямое изменение местоположения

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

window.location.href = 'myappscheme://path';
// Метод 2: iframe

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

const iframe = document.createElement('iframe');
iframe.style.display = 'none';
iframe.src = 'myappscheme://path';
document.body.appendChild(iframe);
// Метод 3: window.open

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

window.open('myappscheme://path', '_self');
// Метод 4: Динамическая ссылка нажмите

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

const link = document.createElement('a');
link.href = 'myappscheme://path';
link.click();
// Метод 5: location.assign

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

window.location.assign('myappscheme://path');
< /code>
Подход к буферу обмена (аналогично тому, что делает Branch.io): < /p>
javascript// Copy deep link for deferred deep linking
await navigator.clipboard.writeText('myappscheme://path');
// Попытка открыть приложение

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

window.location.href = 'myappscheme://path';
// Запасение в App Store после Timeout
setTimeout(() => {
if (!document.hidden) {
window.location.href = appStoreUrl;
}
}, 2500);
< /code>
Методы обнаружения, чтобы проверить, открыто ли приложение: < /p>
API видимости страницы (Document.hidden)
Окно события размытия
Обнаружение на основе времени ожидания
PageHide и EventUnload < /p>

При тестировании. [ClientName] .App.Link прекрасно работает в Chrome iOS
No Arry Messages Spects
Приложение открывается плавно, если установлено
, изящно отступает в App Store, если не установлено
, они, кажется, обходят «что -то не так». Тем не менее, нажав кнопку «Открыть приложение» на хромированном iOS, она работает каждый раз без ошибки, которую я получаю.
Технический контекст < /p>
ios 17.x (тестируется на нескольких версиях)
chrome ios. published on App Store (not TestFlight)
What I've Observed
The same myappscheme:// URL that fails from my domain works when:
Typed directly in Chrome's address bar
Clicked from Branch.io's domain
Triggered from certain other apps
The Chrome Ошибка iOS происходит сразу после нажатия «Разрешить», предполагая, что схема распознается, но каким -то образом заблокирована при возникновении из моего домена
branch.io Ссылки даже не показывают, что «этот сайт пытается открыть другое приложение» иногда - они просто открывают непосредственно < /p>
Вопрос
Как ветви. Там: < /p>
Специальный белый домен белый список, который Apple /Google поддерживает?
api или метод JavaScript, который они используют? Понять Chrome iOS ограничен WkwebView и не имеет универсального доступа к системному уровню, как Safari, но Branch.io ясно обнаружил обходной путь, который работает в 100% случаев.
Я пытаюсь реализовать решение, не полагаясь на услуги третьих лиц, такие как Branch.io, динамические связи Firebase (сброшенные в конце августа), или другие платные доли. решения будут высоко оценены.

Подробнее здесь: https://stackoverflow.com/questions/797 ... domains-fa

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