Как обеспечить и обрабатывать глубокие ссылки в приложениях cordova / phonegap
Привет Я хотел бы знать о плагине Cordova / Phonegap или способе отображения и обработки глубоких ссылок в моем приложении Sencha Touch / Cordova
До сих пор я могу глубоко связываться с другими приложениями, скажем, открыть Google Play на конкретной странице сведений о приложении.
Используя этот плагин https://github.com/code4jhon/org.apache.cordova.startapp
Поэтому я хотел бы разрешить другим приложениям открывать определенные представления или функции в моем приложении. Я хотелось бы поддерживать Android и IOS.
Итак, есть ли плагин Cordova для демонстрации действий для Android и их аналогов на IOS ?
Или как этого добиться?
Заглянул в Cordova docs, но ничего не нашел... любая помощь, док линк будет очень признателен.
4 ответа:
Вы можете попробовать https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin
Для меня это сработало идеально.
Не забудьте очистить / построить после установки
Вы можете обрабатывать переменные, реализующие handleOpenURL
function handleOpenURL(url) { console.log("received url: " + url); }
Есть новый плагин, который обрабатывает универсальные ссылки как для Android, так и для iOS: https://github.com/nordnet/cordova-universal-links-plugin
Я смог добиться этого, используя метрики ветвей. Они являются новым стартапом и супер фантастическим.
Проверьте их Cordova plugin docs для глубоких ссылок здесь:
Я рекомендую прочитать все их документы, чтобы понять, что делать. Однако с помощью Ionicframework и AngularJS я создал сервис, который вы можете использовать в своем приложении:Https://gist.github.com/sean-hill/627fa40f96577baae378
После сборки проекта с помощью плагина Branch выполните следующие действия для настройки iOS и Android.
IOS
Добавьте это в свой файл
.plist
:<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>yourappname</string> </array> </dict> </array>
Затем
cordova build ios; cordova emulate ios
. Чтобы проверить, работает ли он, откройте эмулятор, перейдите в Safari и введитеyourappname://
и посмотрите, перенаправляется ли он на ваше приложение.Андроид
Добавьте это в свой файл
AndroidManifest.xml
после сборки android:<intent-filter> <data android:scheme="yourappname" android:host="open" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> </intent-filter>
Добавьте это в свой файл
config.xml
:<preference name="AndroidLaunchMode" value="singleTask" />
Затем постройте снова, и вы должны быть на пути к большому глубокому успеху!
Согласно запросу @Deminetix, именно так я закрываю сеанс филиала.
document.addEventListener("pause", function(){ var branch = window.Branch; branch.closeSession(); }, false);
Получайте удовольствие от кодирования:)
Я не думаю, что мы можем использовать плагины cordova для этого. Все cordova и плагины предназначены для установления и выполнения связи между веб-страницей и нативным кодом внутри приложения.
В вашем случае вы пытаетесь разрешить другим приложениям иметь глубокие ссылки в вашем приложении. Это можно сделать только с помощью intent-filter в android и custom-app-url в ios.
Appurl.org имеет довольно хороший пошаговый учебник по обработке пользовательских URL-адресов. Посмотрите на следующие ссылки