Как 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
Ответить

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

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

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

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

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