在Xamarin的App開發時,如何加入AppLink以解決App的孤島問題提升App使用率…Android篇
主題: |
在Xamarin的App開發時,如何加入AppLink以解決App的孤島問題提升App使用率…Android篇 |
文章簡介: |
每個開發者辛苦製作的App發布後,當然都希望可以自己的App在使用者的手機上,能夠更快更方便的來使用,甚至可以彼此互相串聯,以解決App的孤島現象。那AppLink就是當前解決App孤島現象不可或缺的手法,就讓本文章的介紹教你如何在Xamarin所做的App當中使用AppLink吧~ |
作者: |
James Tsai |
版本/產出日期: |
V1.0/2016.6.30 |
1. 前言
• AppLink是當前App解決孤島現象的重要手法,那在Xamarin所製作的App當中,如何做呢?就讓本文章的介紹教你解決吧~
2. 環境準備
• Windows 8/8.1/10
• Visual Studio 2015 / Xamarin Studio
3. 本文
在AppLink的製作上該要處理的面向
• 在App當中要增加AppLink的時候,大致上分成兩個面向要處理。
一、處理從其他的App進來的連結要求。
二、Browser或另外的App連結進入。
處理從其他的App進來的連結要求
• 這篇是Android篇,所以我們先建立一個全新的Xamarin.Android專案。
• 在Xamarin.Android的專案當中,我們建立一個新的Activity叫做ProductActivity跟Activity可用的Layout叫做ProductLayout.axml。
• 接著打開ProductLayout.axml增加以下XML描述:
• 接著打開ProductActivity.cs找到class的宣告部分,並且在其上增加類別描述。在描述當中的DataScheme是我們所定義的AppLink的Protocol,DataHost則是我們要連結的位址,Categories若有定義CategoryDefault讓其他App可以連結到這個Acitvity,有定義CategoryBrowserable是讓瀏覽器可以連結到這個Acitvity。
注意: Scheme、Host請都設定為小寫,不然Browser連結會出現找不到的現象。
• 再繼續到OnCreate方法當中(記得先載入ProductLayout.axml),增加以下程式碼:
Browser或另外的App連結進入解決辦法
• 無論是Browser或是另外App連結進入,大致上會用到的連結格式如下:
所以在我們的這個例子當中,按照前述所定義的scheme是myapplinktestapp1,host是products,所以就是採用”myapplinktestapp1://products”。再加上我們要用到的” ?id=12345”當作資料,那串接起來就變成"myapplinktestapp1://products?id=12345"。
• 首先先談談Browser。若在網頁上有定義"myapplinktestapp1://products?id=12345"這樣的連結出現(如下圖呈現),當使用者用手機的瀏覽器瀏覽此網頁並且擊該連結,手機上如果已經裝有這個App,那就會直接啟動到我們這個App的ProductActivity,並且將12345帶入TextView的文字當中。
• 另外的App直接進入其實也不難,只要使用Intent的建立,指定好所需的Uri即可。所以在我們的這個例子當中是”myapplinktestapp1://products?id=12345”,再使用StartActivity做切換即可,如下圖程式碼:
• 那這樣在該App點選此按鈕時,即會跳到ProductActivity並且帶入id的資訊。
4. 參考來源
• Applinks規範文件
http://applinks.org/documentation/
• App Links for Android
https://developer.xamarin.com/recipes/cross-platform/app-links/app-links-android/