當前華爲應用市場(AppGallery,如下簡稱AG)的功能愈來愈全,頁面也愈來愈多,隨着而來的,是對於個各類頁面跳轉的需求愈來愈旺盛。 可是,華爲AppGallery所提供的連接的種類、功能、使用場景愈來愈多,不熟悉的人看到這各類連接,確定會很是頭大。下面根據個人使用是理解,作了一些AppGallery經常使用連接與跳轉場景的整理,僅供你們參考。html
下面各類連接的介紹,主要按照使用場景來劃分,若有錯誤,還請你們指正。java
一、跳轉到AG首頁
典型使用場景: 須要從開發者應用內,拉起跳轉到應用市場首頁,讓用戶自行搜索相關的應用或者活動。ios
使用方法: 使用Intent的action方法,具體動做爲:web
action:com.huawei.appmarket.intent.action.MainActivity
相關代碼示例:瀏覽器
public void launchAGHomePage() { Intent intent = new Intent("com.huawei.appmarket.intent.action.MainActivity"); startActivity(intent); }
二、跳轉到AG應用詳情頁
2.1 應用內經過Intent跳轉
典型使用場景: 應用內拉起跳轉到應用詳情頁,應用用戶進行評分評論等操做。app
使用方法: 使用Intent的action方法,具體可分爲兩類:ide
一、 經過APPID:網站
action:com.huawei.appmarket.appmarket.intent.action.AppDetail. withid setPackage("com.huawei.appmarket"); name: 「appId」, value: 「C100170981」
二、經過包名:ui
action:com.huawei.appmarket.intent.action.AppDetail setPackage("com.huawei.appmarket"); name: 「APP_PACKAGENAME」, value: 「com.huawei.browser」
注意點: 若是使用方式1即APPID的方式,比使用包名的方式,action中多了appmarket以及withid參數。url
參數介紹
參數名 | 參數類型 | 備註與取值 |
---|---|---|
appId | String | 在AGC頁面「個人應用 –> 應用信息」中的APP ID並加上字母C(例如華爲瀏覽器的APPID:C100170981) |
APP_PACKAGENAME | String | 應用包名,例如華爲瀏覽器的包名:com.huawei.browser |
相關代碼示例: // 一、經過APPID:
public void launchAppDetilPage1() { Intent intent = new Intent("com.huawei.appmarket.appmarket.intent.action.AppDetail.withid"); intent.setPackage("com.huawei.appmarket"); intent.putExtra("appId", "C100170981"); startActivity(intent); }
// 二、經過包名packageName」
public void launchAppDetilPage2() { Intent intent = new Intent("com.huawei.appmarket.intent.action.AppDetail"); intent.setPackage("com.huawei.appmarket"); intent.putExtra("APP_PACKAGENAME", "com.huawei.browser"); startActivity(intent); }
2.2 經過URL跳轉
典型使用場景: 用戶經過分享的URL連接等場景,直接點擊URL跳轉到應用詳情頁。
具體方法: 連接地址爲:
hiapplink://com.huawei.appmarket?appId=yourAppID&channelId=yourChannelId&referrer=yourReferrer
**注意點:**斜體加粗部分爲手動修改的變量,其他爲固定值。
參數介紹
參數名 | 參數類型 | 備註與取值 |
---|---|---|
yourAppID | String | 用於定位到具體的應用,其值爲您的AGC上的AppID:例如,華爲瀏覽器的Appid爲C100170981 |
yourChannelId | String | (可選)表示不一樣的渠道,可用於統計渠道點擊量,根據此渠道信息輸出報表。例如:HwBrowserSearch |
yourReferrer | String | (可選)表示不一樣的歸因參數:例如 Keywords |
相關代碼示例:
- 經過APPID
public void launchAppDetilWithURL1() { String text1 = "hiapplink://com.huawei.appmarket?appId=C100170981&channelId=HwBrowserSearch&referrer=Keywords"; Uri uri = Uri.parse(text1); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); }
三、market拉起全部本地商店並跳轉詳情頁
典型使用場景: 傳入包名或者APPID,拉起設備上全部的應用商店,讓用戶自行選擇打開方式,即引導用戶選擇使用哪一個應用市場拉起。選擇好打開的應用商店後能夠直接跳轉到應用的詳情頁。
使用方法: 經過傳入scheme 爲market:// 的連接,Android支持的標準的market協議,可拉起Android設備上的全部應用商店。有以下兩種方式:
一、market://details?id=pkgName // 支持全部商店 二、appmarket://details?id=pkgName // 僅支持華爲應用商店。 三、market://com.huawei.appmarket.applink?appId=APPID" // 僅支持華爲應用商店。
注意點: 方法1經過market://傳入包名的方式,爲Android標準方法,在全部應用商店中都可使用,例如GP,應用包等;。
參數介紹
參數名 | 參數類型 | 備註與取值 |
---|---|---|
APPID | String | 應用的APPID:例如華爲瀏覽器:C100170981 |
pkgName | String | 應用包名,例如華爲瀏覽器:com.huawei.browser |
相關代碼示例: // 一、方式1:market:// + 包名
public void launchAppDetilOnMarket1() { String text1 = "market://details?id=com.huawei.browser"; Uri uri = Uri.parse(text1); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); }
// 二、方式2:appmarket:// + 包名
public void launchAppDetilOnMarket2() { String text1 = "appmarket://details?id=com.huawei.browser"; Uri uri = Uri.parse(text1); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); }
三、方式3:market:// + 華爲商店 + APPID
public void launchAppDetilOnMarket3() { String text1 = "market://com.huawei.appmarket.applink?appId=C100170981"; Uri uri = Uri.parse(text1); Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); }
四、web連接到web AGC的應用詳情頁
典型使用場景: 應用的官網或者web投放等場景,用戶點擊web連接,直接拉起AppGallery中應用的詳情頁面,引導用戶安裝。
使用方法:
-
方法2:https://appgallery.cloud.huawei.com/appDetail?pkgName=pkgName
-
方法4:https://appgallery.huawei.com/#/app/YOUR_APPID?pkgName=pkgName
-
方法3:https://appgallery.cloud.huawei.com/marketshare/app/ YOUR_APPID?locale=LOCALE&shareTo=WAP&shareFrom=channeID
參數介紹
參數名 | 參數類型 | 備註與取值 |
---|---|---|
YOUR_APPID | String | 應用的APPID:例如華爲瀏覽器:C100170981 |
pkgName | String | 應用包名,例如華爲瀏覽器:com.huawei.browser |
LOCALE | String | (可選)設置國家和展現語言,例如:zh-CN |
WAP | String | (可選)分享到何處,能夠自行定義,例如:wap |
channeID | String | (可選)分享來源,能夠設置渠道統計標識,即渠道號碼 |
示例:
// 一、最短連接:經過APPID https://appgallery.huawei.com/#/app/C100170981 // 二、經過包名 https://appgallery.cloud.huawei.com/appDetail?pkgName=com.huawei.browser // 三、APPID與包名組合使用 https://appgallery.huawei.com/#/app/C100170981?pkgName=com.huawei.browser // 四、詳細連接而且加上可選參數(不經常使用,通常在圖章中使用) https://appgallery.cloud.huawei.com/marketshare/app/C100170981?locale=en_US&shareTo=wap&shareFrom=52656
五、圖章連接到web AGC的應用詳情頁
圖章連接,簡單來講,就是有一個AppGallery的圖,點擊這個圖,能夠超連接到華爲應用市場的應用詳情頁。應用的營銷人員,能夠直接將這個圖用於投放(其連接的本質,與上述方法4的web連接相同)。
典型使用場景: 對於與上架的應用,營銷人員但願經過圖章連接,在官網上導流到應用商店,或者直接用於投放。
建立方法: 在AGC首頁 -> 點擊「應用內分發」-> 便可在應用內分發的界面「製做圖章」, 便可爲已上架的應用製做圖章連接。
注意點: 僅已上架的應用才能製做圖章,而且每一個應用只能建立一個圖章;若是應用已建立圖章,則只能在 「圖章查詢」中查看。
使用指南: 圖章建立之後,便可在「圖章查詢」頁籤中,查看當前已經建立的圖章, 你能夠在該界面,下載圖章或者複製連接:
l 下載圖章:下載的結果是一個png圖片,能夠掛在官網或者營銷H5頁面裏。
l 新增連接:用於標識不一樣的渠道,例如:Facebook,baidu等
l 複製連接:可根據不一樣的渠道下載不一樣的連接
使用示例:
// 一、典型的連接 https://appgallery.huawei.com/#/app/C100170981?channelId=baidu&referrer=TestBaidu&id=fa09e0f0f3de489386a7180d7b4b3585&s=6E90164FC0CED39CD11D9BE25BE6D1B333FEDCCBCD90A86F29A8DA2400AA4163&detailType=0&v= // 二、使用典型的圖章,在網站中嵌入該圖章,點擊便可跳轉到應用詳情下載頁,使用實例以下:
六、跨平臺的App Linking連接
App Linking 是華爲AppGallery Connect推出的一項新的服務,你們知道和接觸的比較少,所以下面的介紹會更加詳細而且更加通俗,幫助你們更好的理解這個
AppLinking是什麼: App Linking就是一個能夠跨平臺(Android,iOS,PC-Browser)使用的連接,對標於Firebase的Dynamic Link功能,幫助應用開發者快速構建跨平臺的分享連接。
AppLinking用在哪: 好比說一個應用在Android和iOS都有發佈,此時有個促銷活動須要各個平臺的用戶參與;該活動的邀請連接,在Android和iOS上都要可以生效,而且對於在PC瀏覽器打開的用戶,也可以瀏覽相應的活動H5頁面。
使用AppLinking後有什麼效果:
- 手機上已安裝該應用:AppLinking連接將自動拉起應用,而且跳轉到指定頁面,
- 手機上未安裝該應用:連接將提示你經過應用市場打開,可配置爲華爲AppGallery或者本地應用商店,下載並安裝好應用之後,仍可打開指定頁面。
AppLinking怎麼用: AppLinking有三種建立方式:適用於不一樣的場景:
-
AGC界面建立:在AGC首頁 -> 點擊「個人項目」並選擇相應的項目-> 在左側菜單欄找到「增加」-「 App Linking」。在AppLinking界面先建立連接前綴,而後在建立AppLinking. 該方式主要給不懂代碼的營銷同事使用,但裏面使用到的深度連接地址,仍是須要跟開發同事獲取。
-
Android應用內建立:在Android應用內,集成AppLinking SDK,而且經過build.buildAppLinking()等相關代碼進行連接的實時建立。 該方式主要提供給Android用戶的實時建立,好比應用內的活動頁面,添加一個分享按鈕,點擊分享按鈕,就建立一個AppLinking連接。
-
iOS應用內建立:和Android應用同樣,這個就是在iOS應用內,使用代碼進行連接建立。 該方式主要提供給iOS用戶,讓iOS用戶在應用經過代碼實時建立而且分享。
非華爲手機上怎麼用:
AppLinking是跨平臺的,也即適用於全部Android和iOS,那確定不少同窗關心「在非華爲的Android手機上怎麼使用AppLinking?」這個問題,下面這方面問題作相應的解答:
一、 非華爲手機可否使用AppLinking?—— App Linking不依賴HMS Core,能夠在全部Android設備上使用,GMS和HMS設備通用。
二、 應用未安裝且手機上未安裝華爲應用市場,AppLinking怎麼用? —— 對於沒有安裝AppGallery的Android手機,能夠將AppLinking配置爲 本地應用市場打開,這樣Android系統就會引導讓你選擇經過哪一個商店商店打開,只要你的包名一致,能夠任何商店的應用詳情頁。
使用示例
// 一、典型的連接前綴 https://photoplaza.drcn.agconnect.link // 其中photoplaza爲應用惟一參數,drcn.agconnect.link爲系統固定參數。 // 二、典型的AppLinking連接: https://photoplaza.drcn.agconnect.link/vm3Y // 三、 典型的Android建立AppLinking
private static final String DOMAIN_URI_PREFIX = "https://photoplaza.drcn.agconnect.link";private static final String DEEP_LINK = "https://developer.huawei.com";public void createAppLinking() { AppLinking.Builder builder = new AppLinking.Builder() .setUriPrefix(DOMAIN_URI_PREFIX) .setDeepLink(Uri.parse(DEEP_LINK)) .setAndroidLinkInfo(new AppLinking.AndroidLinkInfo.Builder().build()); String LongAppLinking = builder.buildAppLinking().getUri().toString(); }
// 四、典型的iOS建立AppLinking - (IBAction)CreatLink:(id)sender { AGCAppLinkingComponents *component = [[AGCAppLinkingComponents alloc] init]; component.uriPrefix = @"https://photoplaza.drcn.agconnect.link"; component.deepLink = @"https://www.developer.huawei.com"; component.iosBundleId = @"com.lucky.agc.demo"; component.iosDeepLink = @"agckit://ios/detail"; self.longlink.text = component.buildLongLink.absoluteString;
七、相關參考連接
App Linking官方文檔:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-applinking-introduction-0000001054143215
原做者:Mayism