Flutter 跳转应用市场评分——超简洁实现

最近在做flutter跳转去应用市场评分的功能,虽然是一个很小的功能,但是要做的既简单又高效,同时又能把细节考虑到,还是有坑要走的,这边记录一下。

背景

做应用市场相关的运营,在app内增加评分引导,提高市场好评数量和评分

预期

1. 直接跳转到手机自带的应用商店,不要拉起应用商店选择弹窗

  • 尽量让用户少一步操作,并且有的商店并没有上架我们的产品,万一用户点到其他市场那好不容易的转化就没了

2. 尽量跳转到应用商店的评论栏,甚至拉起评论弹窗

  • 这个不是每个应用商店都支持的,但是如果能做到,把用户服务到极致,还是能大幅的提升转化率的

3. 如果我们的APP没在该品牌的应用商店上架,不做跳转

  • 现在这几年基本就是华米OV了,其他手机占比也少很多了,对于其他应用市场,其实连评分引导的弹窗也没必要去显示了,避免打扰到这一部分用户

常见方案

其实在网上搜一大圈,Android的跳转大概就是这么几种方式

常见方案优点缺点
通过market://details?id=xxx跳转简单直接会唤起系统应用商店选择弹窗
拉取应用商店列表定制跳转可指定相应的应用市场实现繁琐
通过渠道包判断定制跳转可指定相应的应用市场实现繁琐/渠道包不一定准确(当然关于渠道包可能有特定的产品需求)
判断设备型号定制跳转可指定相应的应用市场不一定准确,存在品牌和商店不对应的情况,如一加手机是oppo应用商店

思考

用Flutter实现还跟Android原生不一样,最好能简单一点,其实我觉得直接通过Uri跳转就可以了

最关键的就是两点:

1. 如何判断跳转对应的应用商店?

  • 思来想去:oppo跳转不了vivo,vivo跳转不了华为,那么为什么非要通过某个条件判断呢?跳转不了就不跳了!oppo手机的用户总不能装华为应用商店吧?就算真有这用户,那么也是极少数,况且就算是这样也算是跳转到了某市场,也有了评论的转化。

2. 能不能跳到评论栏?

  • 这个只能尽力而为,看看哪家支持?

解决问题

所以就有了这个方案:

方案优点缺点
循环遍历应用市场url列表超级简单/可指定相应的应用市场几乎无

各厂商及ios跳转市场评分对比

应用内拉起评分弹窗跳转后进入详情页的
华为不支持推荐栏
小米不支持详情栏
oppo部分手机支持评论栏
vivo不支持评论栏
ios支持/可评星不可评论评论弹窗

附:

vivo应用评论调起能力接入指南:https://dev.vivo.com.cn/documentCenter/doc/257

oppo应用评论调起能力接入指南:https://open.oppomobile.com/new/developmentDoc/info?id=11038

实现方式

pubspec.yaml中依赖url_launcher这个三方库

核心代码

  List<String> _marketUrls = ["vivomarket://details?id=your_package_name&th_name=need_comment","oaps://mk/developer/comment?pkg=your_package_name","appmarket://details?id=your_package_name","mimarket://details?id=your_package_name","itms-apps://itunes.apple.com/app/idyour_package_id?action=write-review",];Future<String?> _getLaunchUrl() async {for (String item in _marketUrls) {if (await canLaunchUrl(Uri.parse(item)) {return item;}}return null;}// 评分引导弹窗出现的时机调用:if (await _getLaunchUrl() != null) {// 显示评分引导弹窗}// 评分按钮点击事件调用:Future<void> _toMarket() async {String url = (await _getLaunchUrl())!;await launchUrl(Uri.parse(url);}

总结

直接通过market://details?id=xxx实现真的很简单。

但是我觉得我们应该考虑:针对当前的产品背景和实际情况,还有没有其他更合理的实现方式?

做这个功能的目的是想拉一拉市场的评分,从而获得更多的转化。

我们在技术层面考虑的越全面越合理,那么到了产品那边产生的价值就会越大。

代码真的很少,但是却查了很多,思考了很多,所以选择记录下来。

希望这简短的代码可以帮你们快速的实现跳转应用市场评分的功能。

其他

真的没有找到华为和小米能直接跳转到应用市场评论栏的方法,好像是不支持的。

有谁找到了欢迎评论告知,谢谢~

创作不易~

给个赞吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/27374.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习——JS进阶 (Day3)

编程思想 面向过程编程 面向对象编程 (oop) 构造函数 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport…

python+allure+jenkins

目录 前言 在 python 中使用 allure 1. 安装 pytest 2. 安装 pytest-allure-adaptor 3. 使用 pytest 执行测试用例并生成 allure 中间报告&#xff08;此步骤可以省略&#xff0c;因为在 jenkins job 中会配置执行类似的命令&#xff09; 4. Jenkins 中安装Allure Jenkin…

行业追踪,2023-07-17,静待减速器macd反转

自动复盘 2023-07-17 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

Spring源码学习-核心注解,架构以及整体流程

目录 核心注解核心组件接口分析基础接口ResourceResourceLoaderResourceResourceLoader BeanFactory结构解析图示核心的子接口 BeanDefinition加载注册流程(xml形式的) BeanDefinitionReaderBeanDefinitionRegistryApplicationContext类结构图示结构解析 Aware接口类图xxAware是…

什么是计算机蠕虫?

计算机蠕虫诞生的背景 计算机蠕虫的诞生与计算机网络的发展密切相关。20世纪60年代末和70年代初&#xff0c;互联网还处于早期阶段&#xff0c;存在着相对较少的计算机和网络连接。然而&#xff0c;随着计算机技术的进步和互联网的普及&#xff0c;计算机网络得以迅速扩张&…

Windows系统如何查看物理cpu核数?

Step1&#xff1a;WinR 打开cmd; Step2&#xff1a;输入dxdiag后&#xff0c;回车&#xff1b; Step3&#xff1a;即可查看&#xff1a;

M1 Mac如何安装CentOS7虚拟机(图文详细解说)

1、下载相应的文件 2、打开VMware Fusion pro进行安装 3、 输入许可证密钥 4、 将CentOS-7拖入“从光盘或映像中安装”中 5、点击继续 6、选择其他-->其他64位ARM-->继续 7、进行自定设置 8、这里更改名为“Centos7”&#xff08;不要加空格&#xff09;&#xff0c;存…

【力扣算法14】之 15. 三数之和 python

问题描述 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 **注意&#xff1a;**答案中不可以包含重复的三元…

程序环境和预处理

程序环境 分为翻译环境和执行环境 在 ANSI C 的任何一种实现中&#xff0c;存在两个不同的环境。 第 1 种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令。 第 2 种是执行环境&#xff0c;它用于实际执行代码。 翻译环境&#xff1a;C语言代码-->二进…

数据库系统 - 家庭教育平台设计开发

目录 1.绪论 1.1项目背景 1.2家庭教育平台的发展现状与优势 1.2.1国内外发展现状 1.2.2家庭教育平台的优势 2.需求分析 2.1可行性分析 2.1.1经济可行性 2.1.2 技术可行性 2.1.3操作可行性 2.2系统功能 2.2.1 家庭教育资源 2.2.2 家庭教育指导师 2.2.3家庭教育咨询…

Jupyter入门使用教程

1 Jupyter Notebook与Jupyter Lab简介 Jupyter Notebook是一个开源的Web应用&#xff0c;在深度学习领域非常活跃。用户可以在这里创建和分享可执行代码、可视化结构和注释说明的文档。 Jupyter Notebook以网页的形式展现&#xff0c;用户可以在此网页中直接编辑代码、运行程…

提升互联网创业项目在搜索结果中的排名的SEO技巧

搜索引擎优化(SEO)技巧&#xff1a;提升互联网创业项目在搜索结果中的排 在当今竞争激烈的互联网创业领域&#xff0c;拥有一个高排名的搜索结果对于项目的成功至关重要。搜索引擎优化&#xff08;SEO&#xff09;是一种有效的策略&#xff0c;可以提高您的互联网创业项目在搜索…