技术经验谈 技术经验谈
首页
  • 最佳实践

    • 抓包
    • 数据库操作
  • ui

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 总纲
  • 整体开发框架
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

hss01248

一号线程序员
首页
  • 最佳实践

    • 抓包
    • 数据库操作
  • ui

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • 总纲
  • 整体开发框架
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 最佳实践

    • Android数据库操作最佳实践
    • 基于蒲公英平台的app发布,更新,反馈功能的实现
    • testRss
  • ui

  • 优化

  • aop

  • apm

  • 架构

  • webview

  • rxjava

  • activity-fragment-view的回调和日志
  • Android加密相关
  • Android命令行操作
  • app后台任务
  • kotlin
  • kotlin漫谈
  • kotlin语言导论
  • sentry上传mapping.txt文件
  • so放于远程动态加载方案
  • states
  • Xposed模块开发
  • 一个关于manifest合并的猥琐操作
  • 玩坏android存储
  • 获取本app的安装来源信息
  • Android
  • 最佳实践
hss01248
2023-01-31

基于蒲公英平台的app发布,更新,反馈功能的实现

# 基于蒲公英平台的app发布,更新,反馈功能的实现

# 一键发布

基于gradle task

脚本里配置好蒲公英平台的apikey和apiToken即可

脚本地址: Gradle自动打包APK上传到蒲公英 (opens new window)

apply from:'uploadToPyger.gradle'
1

效果:

image-20230131094833003

image-20230131094916609

# app更新

不使用蒲公英的更新sdk.因为其sdk发现有更新后只是在通知栏提示,并且点击后会使用系统下载器下载,而不是直接app内下载更新.

于是修改为:

将其sdk的请求抓包后,自己构建请求,自己弹窗提示用户并在应用内下载.

无需存储权限,全在app自有目录下操作.

(内部对接改写的AppUpdate库)

其响应格式:

{
  "code": 0,
  "message": "",
  "data": {
    "buildBuildVersion": "10",
    "forceUpdateVersion": "",
    "forceUpdateVersionNo": "",
    "needForceUpdate": false,
    "downloadURL": "https://www.pgyer.com/app/installUpdate/82d62da31ec5fa8de98ea60c296a046f?sig=S7u4G4TdvJ%2FhM%2FDSFvEZ6yCuDYvZTymzdL%2B8x6gZF6IKMuKutUBIpV0shvQlyVcY&forceHttps=",
    "buildHaveNewVersion": true,
    "buildVersionNo": "40",
    "buildVersion": "2.2.0-debug",
    "buildDescription": "牛逼的多媒体文件和文档查看搜索app",
    "buildUpdateDescription": "",
    "buildShortcutUrl": "https://www.pgyer.com/YVeW",
    "appKey": "x'x'x'x",
    "buildKey": "xxxxyyyy",
    "buildName": "FinalCompress",
    "buildIcon": "https://cdn-app-icon.pgyer.com/4/5/1/6/c/4516c32a6c55b59dc9a7316294b1c4f6?x-oss-process=image/resize,m_lfit,h_120,w_120/format,jpg",
    "buildFileKey": "a47fa7adb03bc7e818997bfd17649a0b.apk",
    "buildFileSize": "111871674"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

其中downloadURL看似不是.apk结尾,但实际上会重定向到真正的文件路径,可以用于直接下载.

   api 'com.github.skyNet2017.AppUpdate:update-default:4.0.6'
1
PygerAppUpdateUtil.doUpdate("key", "token",new ExceptionHandler() {
            @Override
            public void onException(Exception e) {
                e.printStackTrace();
1
2
3
4

image-20230130120530421

# 用户反馈

在蒲公英应用设置页开启应用反馈功能,那么在应用下载web页面最下方有应用反馈入口按钮

在Android里用webview加载,并模拟点击,即可显示应用反馈弹窗.

图片上传前会在Android侧选图后会压缩其jpg质量,以减少流量消耗,但图片分辨率不变.

可添加文字,可选图.

   api 'com.github.skyNet2017.AppUpdate:feedback:4.0.6'
1
FeedbackUtil.showPygerFeedback("https://www.pgyer.com/YVeW");
1

image-20230130120502987

反馈内容会在蒲公英应用管理内看到

image-20230131095529699

image-20230131095559744

编辑 (opens new window)
上次更新: 2023/01/31, 10:16:27
Android数据库操作最佳实践
testRss

← Android数据库操作最佳实践 testRss→

最近更新
01
截图后的自动压缩工具
12-27
02
图片视频文件根据exif批量重命名
12-27
03
chatgpt图片识别描述功能
02-20
更多文章>
Theme by Vdoing | Copyright © 2020-2025 | 粤ICP备20041795号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式