当前华为应用市场(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