Привет Я хотел бы узнать о подключаемом модуле Cordova / Phonegap или способе предоставления и обработки глубоких ссылок в моем приложении Sencha Touch / Cordova

Пока что я могу использовать глубокие ссылки в других приложениях, скажем, открыть Google Play на странице сведений о конкретном приложении.

Используя этот плагин https://github.com/code4jhon/org.apache.cordova.startapp < / а>

Итак, я хотел бы позволить другим приложениям открывать определенные представления или функции в моем приложении. Я хотел бы поддерживать Android и IOS.

Итак, есть ли плагин Cordova для отображения действий для Android и их аналогов на IOS?

Или как этого добиться?

Заглянул в документы Кордовы, но ничего не нашел ... любая помощь, ссылка на документ будет очень признательна.

12
code4jhon 1 Авг 2014 в 07:19

4 ответа

Лучший ответ

Вы можете попробовать https://github.com/EddyVerbruggen/LaunchMyApp-PhoneGap-Plugin

У меня это сработало отлично.

Не забудьте очистить / построить после установки

Вы можете обрабатывать переменную, реализующую handleOpenURL

function handleOpenURL(url) {
  console.log("received url: " + url);
}
14
Reign.85 28 Ноя 2014 в 08:55

Есть новый плагин, который обрабатывает универсальные ссылки как для Android, так и для iOS: https://github.com / nordnet / cordova-universal-links-plugin.

5
MPaulo 30 Сен 2015 в 03:53

Я смог добиться этого с помощью Branch Metrics. Это новый стартап и супер фантастический.

Ознакомьтесь с их документами по плагину Cordova для глубоких ссылок здесь:

https://github.com/BranchMetrics/Branch-PhoneGap-Cordova-SDK#initialize-sdk-and-register-deep-link-routing-function

Я рекомендую прочитать все их документы, чтобы понять, что делать. Однако с помощью 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:// и посмотрите, перенаправляется ли он в ваше приложение.

Android

Добавьте это в свой файл 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 я закрываю сеанс Branch.

document.addEventListener("pause", function(){
    var branch = window.Branch;
    branch.closeSession();  
}, false);

Получайте удовольствие от кодирования :)

4
Community 20 Июн 2020 в 09:12

Я не думаю, что мы можем использовать для этого плагины Cordova. Вся кордова и плагины предназначены для установления и выполнения связи между веб-страницей и собственным кодом в приложении.

В вашем случае вы пытаетесь разрешить другим приложениям иметь глубокие ссылки в вашем приложении. Это можно было сделать только с помощью фильтра намерений в android и custom-app-url в ios.

appurl.org содержит довольно приятное пошаговое руководство по обработке пользовательских URL-адресов. Взгляните на следующие ссылки

1
Chitranshu Asthana 7 Авг 2014 в 18:44