Android AppLink

在Xamarin的App開發時,如何加入AppLink以解決App的孤島問題提升App使用率…Android篇

James Tsai 2016/06/30 21:45:45
837

主題

XamarinApp開發時,如何加入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叫做ProductActivityActivity可用的Layout叫做ProductLayout.axml



接著打開ProductLayout.axml增加以下XML描述:



接著打開ProductActivity.cs找到class的宣告部分,並且在其上增加類別描述在描述當中的DataScheme是我們所定義的AppLinkProtocolDataHost則是我們要連結的位址,Categories若有定義CategoryDefault讓其他App可以連結到這個Acitvity,有定義CategoryBrowserable是讓瀏覽器可以連結到這個Acitvity



注意: SchemeHost請都設定為小寫,不然Browser連結會出現找不到的現象。

繼續到OnCreate方法當中(記得先載入ProductLayout.axml)增加以下程式碼:




Browser或另外的App連結進入解決辦法


無論是Browser或是另外App連結進入,大致上會用到的連結格式如下:



所以在我們的這個例子當中,按照前述所定義的schememyapplinktestapp1hostproducts,所以就是採用myapplinktestapp1://products再加上我們要用到的 ?id=12345當作資料,那串接起來就變成"myapplinktestapp1://products?id=12345"

首先先談談Browser若在網頁上有定義"myapplinktestapp1://products?id=12345"這樣的連結出現(如下圖呈現),當使用者用手機的瀏覽器瀏覽此網頁並且擊該連結,手機上如果已經裝有這個App,那就會直接啟動到我們這個AppProductActivity,並且將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/


James Tsai