Получать 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?
Спасибо
Ответы
Ответ 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.
Ответ 6
Кажется, теперь есть плагин iOS-Phonegap-app-share-extension. Я не пробовал, хотя.