华为AppGallery常用跳转与链接详解
当前华为应用市场(AppGallery,以下简称AG)的功能越来越全,页面也越来越多,随着而来的,是对于个各种页面跳转的需求越来越旺盛。
但是,华为AppGallery所提供的链接的种类、功能、使用场景越来越多,不熟悉的人看到这各种链接,肯定会非常头大。下面根据我的使用是理解,做了一些AppGallery常用链接与跳转场景的整理,仅供大家参考。
下面各种链接的介绍,主要按照使用场景来划分,如有错误,还请大家指正。
1、跳转到AG首页
典型使用场景:需要从开发者应用内,拉起跳转到应用市场首页,让用户自行搜索相关的应用或者活动。
使用方法:使用Intent的action方法,具体动作为:
1
|
action:com.huawei.appmarket.intent.action.MainActivity
|
相关代码示例:
public void launchAGHomePage() {Intent intent = new Intent("com.huawei.appmarket.intent.action.MainActivity");startActivity(intent);}
2、跳转到AG应用详情页
2.1 应用内通过Intent跳转
典型使用场景:应用内拉起跳转到应用详情页,应用用户进行评分评论等操作。
使用方法:使用Intent的action方法,具体可分为两类:
1、 通过APPID:
1
2
3
|
action:com.huawei.appmarket.appmarket.intent.action.AppDetail. withid
setPackage("com.huawei.appmarket");
name: “appId”, value: “C100170981”
|
2、通过包名:
1
2
3
|
action:com.huawei.appmarket.intent.action.AppDetail
setPackage("com.huawei.appmarket");
name: “APP_PACKAGENAME”, value: “com.huawei.browser”
|
注意点:如果使用方式1即APPID的方式,比使用包名的方式,action中多了appmarket以及withid参数。
参数介绍
参数名 |
参数类型 |
备注与取值 |
appId |
String |
在AGC页面“我的应用 –> 应用信息”中的APP ID并加上字母C(例如华为浏览器的APPID:C100170981) |
APP_PACKAGENAME |
String |
应用包名,例如华为浏览器的包名:com.huawei.browser |
相关代码示例:
// 1、通过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);}
// 2、通过包名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跳转到应用详情页。
具体方法:链接地址为:
1
|
hiapplink://com.huawei.appmarket?appId=yourAppID&channelId=yourChannelId&referrer=yourReferrer
|
注意点:斜体加粗部分为手动修改的变量,其余为固定值。
参数介绍
参数名 |
参数类型 |
备注与取值 |
yourAppID |
String |
用于定位到具体的应用,其值为您的AGC上的AppID:例如,华为浏览器的Appid为C100170981 |
yourChannelId |
String |
(可选)表示不同的渠道,可用于统计渠道点击量,根据此渠道信息输出报表。例如:HwBrowserSearch |
yourReferrer |
String |
(可选)表示不同的归因参数:例如 Keywords |
相关代码示例:
1. 通过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);}
3、market拉起所有本地商店并跳转详情页
典型使用场景:传入包名或者APPID,拉起设备上所有的应用商店,让用户自行选择打开方式,即引导用户选择使用哪个应用市场拉起。选择好打开的应用商店后可以直接跳转到应用的详情页。
使用方法:通过传入scheme 为market:// 的链接,Android支持的标准的market协议,可拉起Android设备上的所有应用商店。有如下两种方式:
1、market://details?id=pkgName // 支持所有商店
2、appmarket://details?id=pkgName // 仅支持华为应用商店。
3、market://com.huawei.appmarket.applink?appId=APPID" // 仅支持华为应用商店。
注意点:方法1通过market://传入包名的方式,为Android标准方法,在所有应用商店中均可使用,例如GP,应用包等;。
参数介绍
参数名 |
参数类型 |
备注与取值 |
APPID |
String |
应用的APPID:例如华为浏览器:C100170981 |
pkgName |
String |
应用包名,例如华为浏览器:com.huawei.browser |
相关代码示例:
// 1、方式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、方式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、方式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);}
4、链接到web AG的应用详情页
典型使用场景:应用的官网或者web投放等场景,用户点击web链接,直接拉起AppGallery中应用的详情页面,引导用户安装。
使用方法:
方法1:https://appgallery.huawei.com/#/app/YOUR_APPID
方法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 |
(可选)分享来源,可以设置渠道统计标识,即渠道号码 |
示例:
// 1、最短链接:通过APPID
https://appgallery.huawei.com/#/app/C100170981
// 2、通过包名
https://appgallery.cloud.huawei.com/appDetail?pkgName=com.huawei.browser
// 3、APPID与包名组合使用
https://appgallery.huawei.com/#/app/C100170981?pkgName=com.huawei.browser
// 4、详细链接并且加上可选参数(不常用,一般在图章中使用)
https://appgallery.cloud.huawei.com/marketshare/app/C100170981?locale=en_US&shareTo=wap&shareFrom=52656
5、图章链接到AG的应用详情页
图章链接,简单来说,就是有一个AppGallery的图,点击这个图,可以超链接到华为应用市场的应用详情页。应用的营销人员,可以直接将这个图用于投放(其链接的本质,与上述方法4的web链接相同)。
典型使用场景:对于与上架的应用,营销人员希望通过图章链接,在官网上导流到应用商店,或者直接用于投放。
创建方法:在AGC首页 -> 点击“应用内分发”-> 即可在应用内分发的界面“制作图章”, 即可为已上架的应用制作图章链接。
注意点:仅已上架的应用才能制作图章,并且每个应用只能创建一个图章;如果应用已创建图章,则只能在 “图章查询”中查看。
使用指南:
图章创建以后,即可在“图章查询”页签中,查看当前已经创建的图章, 你可以在该界面,下载图章或者复制链接:
下载图章:下载的结果是一个png图片,可以挂在官网或者营销H5页面里。
新增链接:用于标识不同的渠道,例如:Facebook,baidu等
复制链接:可根据不同的渠道下载不同的链接
使用示例:
// 1、典型的链接
https://appgallery.huawei.com/#/app/C100170981?channelId=baidu&referrer=TestBaidu&id=fa09e0f0f3de489386a7180d7b4b3585&s=6E90164FC0CED39CD11D9BE25BE6D1B333FEDCCBCD90A86F29A8DA2400AA4163&detailType=0&v=
// 2、使用典型的图章,在网站中嵌入该图章,点击即可跳转到应用详情下载页,使用实例如下:
6、跨平台的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?”这个问题,下面这方面问题做相应的解答:
1、 非华为手机能否使用AppLinking?—— App Linking不依赖HMS Core,可以在所有Android设备上使用,GMS和HMS设备通用。
2、 应用未安装且手机上未安装华为应用市场,AppLinking怎么用? —— 对于没有安装AppGallery的Android手机,可以将AppLinking配置为 本地应用市场打开,这样Android系统就会引导让你选择通过哪个商店商店打开,只要你的包名一致,可以任何商店的应用详情页。
使用示例
// 1、典型的链接前缀
https://photoplaza.drcn.agconnect.link // 其中photoplaza为应用唯一参数,drcn.agconnect.link为系统固定参数。
// 2、典型的AppLinking链接:
https://photoplaza.drcn.agconnect.link/vm3Y
// 3、 典型的Android创建AppLinking
1
2
3
4
5
6
7
|
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();
}
|
// 4、典型的iOS创建AppLinking
1
2
3
4
5
6
7
|
- (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;
|
7、相关参考链接
图章链接官方文档:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallery-agd-introduction-stamped
App Linking官方文档:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-applinking-introduction-0000001054143215
添加归因参数文档:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallery-referrer-createlink
获取归因信息:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/appgallery-referrer-develop
原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201448086867860655?fid=0101271690375130218&pid=0301448086867860778
原作者:Mayism
华为AppGallery常用跳转与链接详解相关推荐
- Linux 链接详解----静态链接实例分析
由Linux链接详解(1)中我们简单的分析了静态库的引用解析和重定位的内容, 下面我们结合实例来看一下静态链接重定位过程. /* * a.c */ int a = 1000; void add(int ...
- Node.js中的不安全跳转如何防御详解
为什么80%的码农都做不了架构师?>>> Node.js中的不安全跳转如何防御详解 导语: 早年在浏览器大战期间,有远见的Chrome认为要运行现代Web应用,浏览器必须有一个 ...
- python常用内置模块-Python常用内置模块之xml模块(详解)
xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...
- Python Unittest-根据不同测试环境跳过用例详解
Python Unittest-根据不同测试环境跳过用例详解 本文章会讲述以下几个内容: 1.Unittest 如何跳过用例 2.如何使用sys.argv 3.自动化测试项目中如何一套代码多套环境运行 ...
- vue设置html自动跳转路由器,vue2.0项目实现路由跳转的方法详解
一.安装 1.安装路由vue-router: npm install vue-router vue项目的依赖文件node_modules存在vue-router依赖,说明安装成功 2.vue项目引入v ...
- python中common在哪个模块导入_python的常用模块之collections模块详解
认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...
- 常用排序:冒泡排序与快速排序详解,看完这篇就够了!风马博客
常用排序:冒泡排序与快速排序详解. 在排序算法中,冒泡排序和快速排序可以算是排序算法入门必会的两种排序了,今天和大家来分析一下如何快速理解并掌握这两种排序.首先冒泡排序是初学者最常用的排序,所以我们先 ...
- 聊聊无线充电——华为Mate RS保时捷版无线充电器详解(上篇)
随着华为Mate RS成为手机奢侈件的新宠后:人们聊起RS保时捷系列的话题也多了起来,今天我们来聊聊这款手机的配件--华为Mate RS保时捷版无线充电器,然后再展开聊聊无线充电这些事 一.华为Mat ...
- 机箱主板跳线接法详解(图) (机箱面板的POWER LED线,POWER SW线,HD线,RESET线,usb线)
机箱主板跳线接法详解(图) 作为一名新手,要真正从头组装好自己的电脑并不容易,也许你知道CPU应该插哪儿,内存应该插哪儿,但遇到一排排复杂跳线的时候,很多新手都不知道如何下手. 钥匙开机其实并不神秘 ...
最新文章
- 浙江理工大学电信宽带校园网访问添加路由表命令(2020.10)(Windows和Liunx)
- STM32端口复用和端口重映射
- 手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
- override和overload的区别
- 如何将STVP的option bytes的配置移植到另外的电脑
- 华为 linux文件系统,华为EROFS文件系统是什么
- 以太坊:分片Sharding FAQ
- 【练习】基于Vue全家桶的仿小米商城系统
- 输入法全角和半角怎么切换(光标变粗)
- 面向自然语言处理的对抗攻防与鲁棒性分析综述 Survey of Adversarial Attack, Defense and Robustness Analysis for Natural Lang
- TED | 怎样成为一个自律的人
- wsp可以编辑html吗,wps和office兼容吗
- 科大讯飞:电信客户流失预测挑战赛baseline
- shn gh wh aisg thtc yi p tc cw cw knx
- 无处不在的谷歌语音助手
- 跟着 Nat Med. 学作图 | GSVA+limma差异通路分析+发散条形图
- 秋招面经——上海汉得Java(9.27)
- acer台式电脑怎么重装系统_acer台式电脑怎么重装系统
- 【思维题】B024_LC_N 天后的牢房(状态压缩 + 循环节)
- 2016系统服务器更新补丁在哪里,windows server 2016 无法更新补丁