基于蒲公英平台的app发布,更新,反馈功能的实现
# 基于蒲公英平台的app发布,更新,反馈功能的实现
# 一键发布
基于gradle task
脚本里配置好蒲公英平台的apikey和apiToken即可
脚本地址: Gradle自动打包APK上传到蒲公英 (opens new window)
apply from:'uploadToPyger.gradle'
1
效果:
# 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
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
2
3
4
# 用户反馈
在蒲公英应用设置页开启应用反馈功能,那么在应用下载web页面最下方有应用反馈入口按钮
在Android里用webview加载,并模拟点击,即可显示应用反馈弹窗.
图片上传前会在Android侧选图后会压缩其jpg质量,以减少流量消耗,但图片分辨率不变.
可添加文字,可选图.
api 'com.github.skyNet2017.AppUpdate:feedback:4.0.6'
1
FeedbackUtil.showPygerFeedback("https://www.pgyer.com/YVeW");
1
反馈内容会在蒲公英应用管理内看到
编辑 (opens new window)
上次更新: 2023/01/31, 10:16:27