【Google Play】从 Android 应用中跳转到 Google Play 中 ( 跳转代码示例 | Google Play 页面的链接格式 | Google Play 免安装体验 )

简介: 【Google Play】从 Android 应用中跳转到 Google Play 中 ( 跳转代码示例 | Google Play 页面的链接格式 | Google Play 免安装体验 )

文章目录

前言

一、从 Android 应用跳转到 Google Play 代码

二、Google Play 页面的链接格式

三、Google Play 免安装体验

前言


本博客参考资料


链接到 Google Play : https://developer.android.google.cn/distribute/marketing-tools/linking-to-google-play.html 官方文档 ;





一、从 Android 应用跳转到 Google Play 代码


首先 , 创建 Intent , 设置其 Action 为 “android.intent.action.VIEW” ,


/**
  * 活动操作:向用户显示数据。这是最常见的
  * 对数据执行的操作——这是可以对数据执行的通用操作
  * 获取最合理事件发生的一段数据。例如
  * 在联系人条目上使用时,它将查看该条目;当在机器上使用时
  * mailto:URI 它将弹出一个充满信息的由URI提供的撰写窗口.
  * 当与 tel:URI 一起使用时,它将调用拨号器。
  * <p>输入:{@link#getData}是从中检索数据的URI。
  * <p>输出:无。
  */
    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
    public static final String ACTION_VIEW = "android.intent.action.VIEW";


然后 , 设置 Uri 操作数据 , 该 Uri 就是对应的 Google Play 页面链接 ;


/**
  * 设置此意图操作的数据。这种方法是自动的
  * 清除以前由{@link#setType} 或
  * {@link#setTypeAndNormalize} 设置的内容。
  * 
  * <p><em>注意:Android框架中的方案匹配是
  * 区分大小写,与正式RFC不同。因此
  * 您应该始终使用小写方案编写Uri,
  * 或者使用{@linkuri#normalizeScheme}或者
  * {@link#setDataAndNormalize}
  * 确保方案转换为小写</em>
  * 
  * @param data 此意图现在针对的数据的Uri。
  * 
  * @return 返回相同的Intent对象,用于链接多个调用
  * 变成一句话。
  * 
     * @see #getData
     * @see #setDataAndNormalize
     * @see android.net.Uri#normalizeScheme()
  */
    public @NonNull Intent setData(@Nullable Uri data) {
        mData = data;
        mType = null;
        return this;
    }


最后 , 设置一个明确的应用程序包名 , 设置 “com.android.vending” 包名可以在跳转后直接显示 Google Play 对应的页面 , 不再弹出选择器 ; 否则打开时 , 会显示应用的选择器 ;


/**

 * (通常是可选的)设置一个明确的应用程序包名称,该名称限制此意图将解析到的组件。

 * 如果保留默认值null,则将考虑所有应用程序中的所有组件。

 * 如果非null,则意图只能匹配给定应用程序包中的组件。

 *

 * @param packageName要处理的应用程序包的名称

 * 或null以允许任何应用程序包。

 *

 * @return返回相同的Intent对象,用于链接多个调用

 * 变成一句话。

 *

 * @see#getPackage

 * @see#resolveActivity

 */

   public @NonNull Intent setPackage(@Nullable String packageName) {

       if (packageName != null && mSelector != null) {

           throw new IllegalArgumentException(

                   "Can't set package name when selector is already set");

       }

       mPackage = packageName;

       return this;

   }

/**
  * (通常是可选的)设置一个明确的应用程序包名称,该名称限制此意图将解析到的组件。
  * 如果保留默认值null,则将考虑所有应用程序中的所有组件。
  * 如果非null,则意图只能匹配给定应用程序包中的组件。
  * 
  * @param packageName要处理的应用程序包的名称
  * 或null以允许任何应用程序包。
  * 
  * @return返回相同的Intent对象,用于链接多个调用
  * 变成一句话。
  * 
  * @see#getPackage
  * @see#resolveActivity
  */
    public @NonNull Intent setPackage(@Nullable String packageName) {
        if (packageName != null && mSelector != null) {
            throw new IllegalArgumentException(
                    "Can't set package name when selector is already set");
        }
        mPackage = packageName;
        return this;
    }



代码示例 :


Kotlin :
val intent = Intent(Intent.ACTION_VIEW).apply {
    data = Uri.parse(
            "https://play.google.com/store/apps/details?id=com.example.android")
    setPackage("com.android.vending")
}
startActivity(intent)


Java :

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(
        "https://play.google.com/store/apps/details?id=com.example.android"));
intent.setPackage("com.android.vending");
startActivity(intent);


上述代码来自 链接到 Google Play - 从 Android 应用提供链接 地址 ;






二、Google Play 页面的链接格式


Google Play 页面的链接格式 :


应用的商品详情页面 :

https://play.google.com/store/apps/details?id=<package_name>
http://play.google.com/store/apps/details?id=com.google.android.apps.maps


指定开发者页面 : 5700313618786177705 是指定的开发者 id ;

https://play.google.com/store/apps/dev?id=<developer_id>
https://play.google.com/store/apps/dev?id=5700313618786177705


搜索结果页面 : 搜索 maps 内容 , c=apps 表示只在 Google Play 中搜索应用 ;

https://play.google.com/store/search?q=<query>
http://play.google.com/store/search?q=maps&c=apps


应用合集页面 : 常见的应用合集参考

https://developer.android.google.cn/distribute/marketing-tools/linking-to-google-play.html?hl=zh-cn#OpeningCollection 文档 ;
https://play.google.com/store/apps/collection/<collection_name>
http://play.google.com/store/apps/collection/topselling_free


启动免安装应用 : 使用该链接的前提是对应 package_name 包名的应用必须是一款免安装应用 , 免安装应用开发参考 https://developer.android.google.cn/topic/google-

play-instant 文章 ;
https://play.google.com/store/apps/details?id=<package_name>&launch=true





三、Google Play 免安装体验


参考 Google Play Instant 文档 ;


目录
相关文章
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
706 11
|
程序员 开发工具 Android开发
Android|WebView 禁止长按,限制非白名单域名的跳转层级
如何限制 WebView 仅域名白名单网址能随意跳转,并禁用长按选择文字。
572 2
|
Android开发 UED Kotlin
Android中如何跳转到Wi-Fi开关设置页
本文介绍如何在Android应用开发中使用隐式Intent引导用户至特定系统设置页面,如Wi-Fi设置页,并提供Kotlin代码示例。通过设置Intent的Action属性并检查设备兼容性,可轻松实现跳转功能,提升用户体验。此外,还列举了其他常用设置页面的Intent Action及注意事项。
490 15
|
存储 安全 物联网
Android经典实战之跳转到系统设置页面或其他系统应用页面大全
本文首发于公众号“AntDream”,关注获取更多技巧。文章总结了Android开发中跳转至系统设置页面的方法,包括设备信息、Wi-Fi、显示与声音设置等,并涉及应用详情与电池优化页面。通过简单的Intent动作即可实现,需注意权限与版本兼容性。每日进步,尽在“AntDream”。
2620 2
|
JSON Java Android开发
Android 开发者必备秘籍:轻松攻克 JSON 格式数据解析难题,让你的应用更出色!
【8月更文挑战第18天】在Android开发中,解析JSON数据至关重要。JSON以其简洁和易读成为首选的数据交换格式。开发者可通过多种途径解析JSON,如使用内置的`JSONObject`和`JSONArray`类直接操作数据,或借助Google提供的Gson库将JSON自动映射为Java对象。无论哪种方法,正确解析JSON都是实现高效应用的关键,能帮助开发者处理网络请求返回的数据,并将其展示给用户,从而提升应用的功能性和用户体验。
475 1
|
开发工具 Android开发
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
上架Google Play报错:For new apps, Android App Bundles must be signed with an RSA key.
544 1
|
存储 数据库 Android开发
🔥Android Jetpack全解析!拥抱Google官方库,让你的开发之旅更加顺畅无阻!🚀
【7月更文挑战第28天】在Android开发中追求高效稳定的路径?Android Jetpack作为Google官方库集合,是你的理想选择。它包含多个独立又协同工作的库,覆盖UI到安全性等多个领域,旨在减少样板代码,提高开发效率与应用质量。Jetpack核心组件如LiveData、ViewModel、Room等简化了数据绑定、状态保存及数据库操作。引入Jetpack只需在`build.gradle`中添加依赖。例如,使用Room进行数据库操作变得异常简单,从定义实体到实现CRUD操作,一切尽在掌握之中。拥抱Jetpack,提升开发效率,构建高质量应用!
691 4
|
Android开发 iOS开发
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
Android项目架构设计问题之将隐式跳转的逻辑进行抽象和封装如何解决
363 0
|
安全 Java Android开发
Android 14适配Google play截止时间临近,适配注意点和经验
本文介绍了Android 14带来的关键更新,包括性能优化、定制化体验、多语言支持、多媒体与图形增强等功能。此外,还强调了适配时的重要事项,如targetSdkVersion升级、前台服务类型声明、蓝牙权限变更等,以及安全性与用户体验方面的改进。开发者需按官方指南更新应用,以充分利用新特性并确保兼容性和安全性。
1165 0
|
Android开发
Android 开发中跳转到评论页面
Android 开发中跳转到评论页面
310 0

热门文章

最新文章