こんにちは、Cordova/Phonegapプラグイン、またはSencha Touch/Cordovaアプリでディープリンクを公開して処理する方法について知りたいです
これまでのところ、他のアプリケーションにディープリンクすることができます。たとえば、GooglePlayを開いて特定のアプリの詳細ページに移動します。
このプラグインの使用 https://github.com/code4jhon/org.Apache.cordova.startapp
したがって、私がやりたいのは、他のアプリケーションが自分のアプリケーションで特定のビューまたは機能を開くことができるようにすることです。 AndroidとIOSをサポートしたいと思います。
つまり、Androidとそれに対応するIOS?
またはこれを達成する方法は?
Cordovaのドキュメントを調べましたが、何も見つかりませんでした...ヘルプがあれば、ドキュメントのリンクをいただければ幸いです。
試すことができます 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
BranchMetricsを使用してこれを達成することができました。彼らは新しいスタートアップで、とても素晴らしいです。
ここでディープリンクについては、cordovaプラグインのドキュメントを確認してください。
何をすべきかを理解するために、すべてのドキュメントを読むことをお勧めします。ただし、IonicframeworkとAngularJSを使用して、アプリケーションで使用できるサービスを構築しました。
https://Gist.github.com/sean-hill/627fa40f96577baae378
Branchのプラグインを使用してプロジェクトをビルドした後、iOSおよびAndroid構成の場合は次の手順に従います。
これを.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
ファイルに追加します。
<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プラグインを使用できるとは思いません。コルドバとプラグイン全体は、アプリケーション内のWebページとネイティブコード間の通信を確立および実行することを目的としています。
あなたの場合、他のアプリがアプリ内にディープリンクを持つことを許可しようとしています。これは、Android&iOSのcustom-app-urlのintent-filterによってのみ実行できます。
appurl.org には、カスタムURLの処理に関する非常に優れたステップバイステップのチュートリアルがあります。次のリンクをご覧ください