关于android:华为AppGallery常用跳转与链接详解

16次阅读

共计 6301 个字符,预计需要花费 16 分钟才能阅读完成。

以后华为利用市场(AppGallery,以下简称 AG)的性能越来越全,页面也越来越多,随着而来的,是对于个各种页面跳转的需要越来越旺盛。

然而,华为 AppGallery 所提供的链接的品种、性能、应用场景越来越多,不相熟的人看到这各种链接,必定会十分头大。上面依据我的应用是了解,做了一些 AppGallery 罕用链接与跳转场景的整顿,仅供大家参考。

上面各种链接的介绍,次要依照应用场景来划分,如有谬误,还请大家斧正。

1、跳转到 AG 首页
典型应用场景:须要从开发者利用内,拉起跳转到利用市场首页,让用户自行搜寻相干的利用或者流动。

应用办法:应用 Intent 的 action 办法,具体动作为:

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:

action:com.huawei.appmarket.appmarket.intent.action.AppDetail. withid
setPackage("com.huawei.appmarket");
name:“appId”, value:“C100170981”

2、通过包名:

action:com.huawei.appmarket.intent.action.AppDetail
setPackage("com.huawei.appmarket");
name:“APP_PACKAGENAME”, value:“com.huawei.browser”

留神点:如果应用形式 1 即 APPID 的形式,比应用包名的形式,action 中多了 appmarket 以及 withid 参数。

参数介绍

相干代码示例:

// 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 跳转到利用详情页。

具体方法:链接地址为:

hiapplink://com.huawei.appmarket?appId=yourAppID&channelId=yourChannelId&referrer=yourReferrer

留神点:斜体加粗局部为手动批改的变量,其余为固定值。

参数介绍

相干代码示例:

  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,利用包等;。

参数介绍

相干代码示例:

// 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…

办法 2:https://appgallery.cloud.huaw…

办法 4:https://appgallery.huawei.com…

办法 3:https://appgallery.cloud.huaw… YOUR_APPID?locale=LOCALE&shareTo=WAP&shareFrom=channeID

参数介绍

示例:

// 1、最短链接:通过 APPID

https://appgallery.huawei.com…

// 2、通过包名

https://appgallery.cloud.huaw…

// 3、APPID 与包名组合应用

https://appgallery.huawei.com…

// 4、具体链接并且加上可选参数(不罕用,个别在图章中应用)

https://appgallery.cloud.huaw…

5、图章链接到 AG 的利用详情页
图章链接,简略来说,就是有一个 AppGallery 的图,点击这个图,能够超链接到华为利用市场的利用详情页。利用的营销人员,能够间接将这个图用于投放(其链接的实质,与上述办法 4 的 web 链接雷同)。

典型应用场景:对于与上架的利用,营销人员心愿通过图章链接,在官网上导流到利用商店,或者间接用于投放。

创立办法:在 AGC 首页 -> 点击“利用内散发”-> 即可在利用内散发的界面“制作图章”,即可为已上架的利用制作图章链接。

留神点:仅已上架的利用能力制作图章,并且每个利用只能创立一个图章;如果利用已创立图章,则只能在“图章查问”中查看。

使用指南:

图章创立当前,即可在“图章查问”页签中,查看以后曾经创立的图章,你能够在该界面,下载图章或者复制链接:


下载图章:下载的后果是一个 png 图片,能够挂在官网或者营销 H5 页面里。

新增链接:用于标识不同的渠道,例如:Facebook,baidu 等

复制链接:可依据不同的渠道下载不同的链接

应用示例:

// 1、典型的链接

https://appgallery.huawei.com…

// 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.agcon… // 其中 photoplaza 为利用惟一参数,drcn.agconnect.link 为零碎固定参数。

// 2、典型的 AppLinking 链接:

https://photoplaza.drcn.agcon…

// 3、典型的 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();}

// 4、典型的 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;

7、相干参考链接
图章链接官网文档:https://developer.huawei.com/…

App Linking 官网文档:https://developer.huawei.com/…

增加归因参数文档:https://developer.huawei.com/…

获取归因信息:https://developer.huawei.com/…

原文链接:https://developer.huawei.com/…
原作者:Mayism

正文完
 0