web-dev-qa-db-ja.com

Ionic foriosでURLを受信

ionicフレームワークを使用しています。別のアプリからURLを受信する方法を設定しようとしています。たとえば、ブラウザで共有をクリックして、別のアプリにリンクを送信します(私のアプリ)。この cordova プラグインを見つけて、アプリに統合しました。しかし、これはAndroidにとっては魅力的です。 IOSにも同じ機能が必要です。

IOSに使用する必要があるプラグインのアイデア

Android用に私が取った手順

1)cordovaプラグインはgit://github.com/Initsogar/cordova-webintent.gitを追加します2)config.xmlファイルを確認し、webintentのコードを見つけました

<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で同じ機能について何か提案はありますか?

ありがとうございました

22
Hitu Bansal

必要なのは 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を追加:(Android 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>
17
engincancan

あなたが探しているものは、iOS 8で導入されたアクション拡張機能と呼ばれます。 URLだけでなく、あらゆる種類のデータを処理できるようになります。

App Extensionプログラミングガイド Appleから

3
Tricertops

あなたが求めているのは、アプリのディープリンク機能です。正確な解決策を提供することはできませんが、ネイティブiosアプリの.plistファイルに数行のコードを書き込むことでかなり簡単です(manifest.xmlのAndroid)に対して行ったのと同じです)。それはURL schemingと呼ばれ、iOSアプリ用にも作成できます。

http://docs.urbanairship.com/topic-guides/ios-deep-linking.html にアクセスしてください。これを行う方法についてのガイダンスが提供されることを願っています。

'ディープリンク機能(youtubeなど)を提供する別のアプリを開く角度/イオンコード' https:/ /medium.com/angularjs-articles/deep-linking-in-ionic-mobile-applications-44d8b4685bb

3

これを願っています ヴァンガーの投稿 あなたの助けになります。

IOSでアプリケーションを開くには、このアプリでサポートされているURLスキームを知る必要があります。

たとえば、「mailto:[email protected]」のようなURLでメールライターを開くことができます。しかし、アプリケーションでは、独自のスキームを宣言できます。たとえば、App1では、「my-app1-scheme」のようなスキームを宣言できます。また、2番目のアプリでは、URL「my-app1-scheme://」を開く必要があり、App1が開きます。

そして、私はあなたがこれをより簡単な方法で行うことを可能にするこのプラグインを見つけました: https://github.com/EddyVerbruggen/Custom-URL-scheme

1
soumya

現在プラグインがあるようです iOS-Phonegap-app-share-extension 。私はそれを試しませんでした。

0
Johnny Oin