Android DeepLinkテクノロジー
2510 ワード
DeepLinkって何?
DeepLinkは文字通り「深いリンク」と理解できますが、DeepLinkはAndroid開発にどのような役割を果たしているのでしょうか.簡単に言えば、この技術でwebページがリンクをクリックしてAPPが指定したページにジャンプすることを実現することができます.この技術のメリットは、私たちのアプリをリードできることです.例えば、うちの会社は不動産プラットフォームを作っています.もしユーザーがブラウザで新しい住宅リストの情報を見て、携帯電話にアプリケーションがインストールされていれば、アプリの不動産リストのページに直接ジャンプすることができます.オリジナルのページは体験と機能の上でもちろんH 5ページよりずっと強いです.この時点でアプリケーションがインストールされていない場合は、次のH 5ページに直接ジャンプするか、アプリケーション市場のダウンロードアプリケーションにジャンプするようにユーザーに促すことができます.
DeepLinkの使用方法
私たちの応用はSchemeの方式で実現したもので、くだらないことはあまり言わないで、正しい使用姿勢を見てみましょう.自分のプロジェクトを例に挙げます.インベントリファイルmanifestにintent-filterを追加する必要があります.
対応するActivityのコードは次のとおりです.
途中でビジネスロジックコードを省いたのですが、ここでActivityのコードがどういう意味なのかよく分からないかもしれませんが、URL Schemeプロトコルのフォーマットを簡単に説明します.
URL Schemeプロトコルフォーマット
私自身のプロジェクトで定められたプロトコルを例にとると、完全なURL Schemaプロトコルフォーマット:
scheme、host、path、queryが含まれています. openxxxは、このSchemeプロトコル名(scheme) を表す app.xxx.comはSchemeがどのアドレスドメイン(host)に作用するかを表す newhouselistはSchemeが指定したページ(path) を表します. city_idは伝達パラメータ を表す
その後、Activityでpathを取得して対応するページにジャンプすることができ、getQueryParameter()メソッドでパラメータを取得してジャンプするページに渡すことができます.
テスト
adbコマンドを使用して、APPを起動できるかどうかをテストできます.
まとめ
DeepLinkの役割はまだ大きいことは間違いなく、私たちの応用のために導流し、ユーザー体験を高めることができます.ここではScheme方式を使って実現していますが、もう一つの方式はAndroidのAppLinksで、両者の間に違いがありますが、AppLinksはまだ使っていないので検討していますので、次回検討してからまとめてみましょう.使用中には、リンクをクリックしてジャンプできないブラウザもあります.これらのブラウザ互換性の問題は、Webページのパートナーになって解決する必要があります.
DeepLinkは文字通り「深いリンク」と理解できますが、DeepLinkはAndroid開発にどのような役割を果たしているのでしょうか.簡単に言えば、この技術でwebページがリンクをクリックしてAPPが指定したページにジャンプすることを実現することができます.この技術のメリットは、私たちのアプリをリードできることです.例えば、うちの会社は不動産プラットフォームを作っています.もしユーザーがブラウザで新しい住宅リストの情報を見て、携帯電話にアプリケーションがインストールされていれば、アプリの不動産リストのページに直接ジャンプすることができます.オリジナルのページは体験と機能の上でもちろんH 5ページよりずっと強いです.この時点でアプリケーションがインストールされていない場合は、次のH 5ページに直接ジャンプするか、アプリケーション市場のダウンロードアプリケーションにジャンプするようにユーザーに促すことができます.
DeepLinkの使用方法
私たちの応用はSchemeの方式で実現したもので、くだらないことはあまり言わないで、正しい使用姿勢を見てみましょう.自分のプロジェクトを例に挙げます.インベントリファイルmanifestにintent-filterを追加する必要があります.
対応するActivityのコードは次のとおりです.
if (getIntent() != null && getIntent().getData() != null) {
String refer = getIntent().getData().getQueryParameter("refer");
String path = getIntent().getData().getPath();
...
}
途中でビジネスロジックコードを省いたのですが、ここでActivityのコードがどういう意味なのかよく分からないかもしれませんが、URL Schemeプロトコルのフォーマットを簡単に説明します.
URL Schemeプロトコルフォーマット
私自身のプロジェクトで定められたプロトコルを例にとると、完全なURL Schemaプロトコルフォーマット:
openxxx://app.xxx.com/newhouselist?city_id=xxxx&refer=xxxx
scheme、host、path、queryが含まれています.
その後、Activityでpathを取得して対応するページにジャンプすることができ、getQueryParameter()メソッドでパラメータを取得してジャンプするページに渡すことができます.
テスト
adbコマンドを使用して、APPを起動できるかどうかをテストできます.
adb shell am start -a android.intent.action.VIEW \
-d "openxxx://app.xxx.com/newhouselist?city_id=11" com.xxx.android.app ( APP )
まとめ
DeepLinkの役割はまだ大きいことは間違いなく、私たちの応用のために導流し、ユーザー体験を高めることができます.ここではScheme方式を使って実現していますが、もう一つの方式はAndroidのAppLinksで、両者の間に違いがありますが、AppLinksはまだ使っていないので検討していますので、次回検討してからまとめてみましょう.使用中には、リンクをクリックしてジャンプできないブラウザもあります.これらのブラウザ互換性の問題は、Webページのパートナーになって解決する必要があります.