Подтвердить что ты не робот

Получать URL-адрес в Ionic для ios

Я использую ионную структуру. Я пытаюсь настроить способ получения URL-адреса из другого приложения. Например, вы находитесь в браузере, щелкаете share и отправляете ссылку на другое приложение (мое приложение). Я нашел этот cordova плагин и интегрировал его в свое приложение. Но это импульс для Android. Мне нужна такая же функциональность в IOS.

Любая идея, которую плагин мне нужно использовать для ios

Шаги, предпринятые мной для Android

1) плагин cordova add git://github.com/Initsogar/cordova-webintent.git 2) Проверен файл config.xml и найден код для веб-сайта

<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>

И код app.js

if (window.plugins && window.plugins.webintent) {
  window.plugins.webintent.getUri(function(url) {
    alert("getUri url:"+url);
  });
}

Любые предложения для тех же функций в ios?

Спасибо

4b9b3361

Ответ 1

Все, что вам нужно, это Custom-URL-scheme плагин cordova.

Вы можете сделать это вручную. Для iOS добавьте в свой *.plist. Или вы можете посмотреть Шаг 5

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>URL_SCHEME</string>
    </array>
  </dict>
</array>

В iOS после добавления пользовательской схемы он автоматически вызывает функцию с именем handleOpenURL.

Для Android добавить AndroidManifest: (В андроиде вы можете даже прослушать http-схему)

<activity android:label="@string/app_name" android:name="com.yourpackage.name">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http" android:host="example.com" android:pathPrefix="/" />
        <data android:scheme="https" android:host="example.com" android:pathPrefix="/" />
    </intent-filter>
</activity>

Ответ 2

то, что вы просите, - это средство глубокой привязки для вашего приложения. Хотя я не могу предоставить вам точное решение, но его довольно просто, написав несколько строк кода в вашем родном файле .plist приложения ios (как и то, что вы сделали для android в manifest.xml). Его называемый URL-код, и вы можете сделать его и для своего приложения ios.

Перейдите в http://docs.urbanairship.com/topic-guides/ios-deep-linking.html. Надеюсь, он предоставит вам рекомендации относительно того, как вы можете это сделать.

angular/ионный код, который открывает другое приложение, которое предоставило средство глубокой привязки (например, YouTube и т.д.) '- https://medium.com/angularjs-articles/deep-linking-in-ionic-mobile-applications-44d8b4685bb3

Ответ 3

То, что вы ищете, называется Action Extension, представленным в iOS 8. Ваше приложение будет отображаться в стандартном актовом/общем листе во всех системных и сторонних приложениях и сможет обрабатывать любые данные, а не только URL-адреса.

Руководство по программированию расширений приложений от Apple

Ответ 4

Надеемся, что этот пост vanger поможет вам.

В iOS для открытия любого приложения вам нужно знать, какие схемы URL поддерживаются этим приложением.

Например, вы можете открыть email-writer по URL-адресу, например "mailto: [email protected]". Но дело в том, что вы можете объявить свою собственную схему. Например, в App1 вы можете объявить схему типа "my-app1-scheme". И в вашем втором приложении вам нужно будет открыть URL-адрес "my-app1-scheme://", и ваше App1 будет открыто.

И я просто нашел этот плагин, который позволяет вам сделать это проще: https://github.com/EddyVerbruggen/Custom-URL-scheme

Ответ 5

В Android вы можете использовать плагин WebIntent, чтобы зарегистрировать ваше приложение в качестве получателя для намерения Share. Я не уверен, что аналогичное расширение доступно для iOS.