Android App通过蒲公英实现更新


前言

平时写点Android 程序都是为了兴趣写的,但是之前给别人写的一个App有Bug,把Bug修复后只能通过QQ或微信发他,现在觉得这种方法实属不可取,要是我写的App 很多人用的话,通过QQ发给他们将是一件非常繁琐的事情。最近准备给公司写个蓝牙App,客户比较大,用的人也自然多。。。
基于以上痛点,于是想着在App里集成自动更新的方法。开干!


提示:以下内容仅供参考,如有不当之处欢迎批评指正。

一、蒲公英自动检测更新机制

以下是官方文档中摘要的

新版本更新机制(Android 2.8.3以后,iOS 2.8.9以后) 新版本蒲公英 SDK 的更新,是根据 本地 App 的
Version和App 本身的 Build来判定更新的。这两个版本号中,任何一个检查到线上版本大于本地版本,都会提示更新。

第一步: 如果本地 App 的 Version小于蒲公英上的 Version,则提示更新。(注意:iOS App 的本地版本号是指
CFBundleShortVersionString, Android 是指 VersionName)

第二步: 如果本地 App 的 Build小于蒲公英上的 Build,则提示更新。(注意:iOS App 的本地版本号是指
CFBundleVersion,Android 是指 VersionCode)

在这两步中,任何一步如果判断出有新版本,都会提示更新。否则不会提示

二、使用步骤

1.添加依赖及仓库地址

第一步:添加仓库地址


maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }

在这里插入图片描述
第二步:添加依赖


    implementation 'com.pgyersdk:sdk:3.0.10'
    

在这里插入图片描述
第三步:添加所需权限

    <!-- 必选-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 -->
    <uses-permission android:name="android.permission.INTERNET" /> <!-- 网络通信-->

    <!-- 用户手机设置中允许未知来源安装包安装状态为关;-->
    <!-- Android8.0 以后,如果要安装 apk 需要额外添加权限:-->
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读写sdcard,storage等等 -->

如图:
在这里插入图片描述

2.APP KEY 获取

第一步:在蒲公英平台上传Android APK 第一个版本,以便于获取APP KEY

提示:该APK需签名打包。

如图:
在这里插入图片描述
第二步:上传完成后填写应用信息
如图:
在这里插入图片描述
第三步:发布应用
在这里插入图片描述
第四步:发布成功后即可查看APP KEY
如图:在这里插入图片描述

3.使用方法

第一步:在myAplication中添加以下方法,其中 Pgyer.setAppId方法中添加的是APP KEY

package com.Young.demo;

import android.app.Application;
import android.content.Context;

import com.pgyersdk.Pgyer;
import com.pgyersdk.PgyerActivityManager;
import com.pgyersdk.crash.PgyCrashManager;
import com.pgyersdk.crash.PgyerCrashObservable;
import com.pgyersdk.crash.PgyerObserver;

public class myAplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        PgyCrashManager.register();
        PgyerCrashObservable.get().attach(new PgyerObserver() {
            @Override
            public void receivedCrash(Thread thread, Throwable throwable) {
            }
        });
        PgyerActivityManager.set(this);
    }


    @Override
    protected void attachBaseContext(Context context) {
        super.attachBaseContext(context);
        Pgyer.setAppId("XXXXXXXX");
    }

}

如图:
在这里插入图片描述
第二步:在MainActivity中添加以下方法

    /** 新版本 **/
   new PgyUpdateManager.Builder()
         .setForced(false)              //设置是否强制更新
         .setUserCanRetry(false)        //失败后是否提示重新下载
         .setDeleteHistroyApk(true)     // 检查更新前是否删除本地历史 Apk
         .register();

如图:
在这里插入图片描述
第三步:将刚才上传到蒲公英的APP APK 安装到手机上,一个简单Hello World

如图:

在这里插入图片描述

第四步:提高版本,改点东西,再签名打包

提示:签名证书和刚才那个一样。

如图:
在这里插入图片描述
如图:
在这里插入图片描述

第五步:在蒲公英平台更新应用上传新版APK,填写应用信息后发布

如图:
在这里插入图片描述
第六步:重新打开手机上的APP就可以检测更新了

如图:APP 重启后自动检测更新
在这里插入图片描述

如图:安装新版本
在这里插入图片描述

如图:安装成功

在这里插入图片描述

如图:更新成功!完美

在这里插入图片描述

总结

已上就是通过蒲公英实现APP 自动检测更新的方法。
好久都没写博客了,突然感觉有点生疏了,第一次用Markdown 写博客感觉是挺不错的。
争取后面有时间多写写学习总结。

觉得不错的话,点个赞吧【手动狗头】

源码:https://gitee.com/wind5280/android-demo.git

  • 6
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
蒲公英是一款非常受欢迎的Android应用,它提供了各种各样的应用程序和游戏供用户下载和安装。每当一个应用程序更新时,蒲公英也会相应更新蒲公英更新频率通常会视具体情况而定。当开发者发布一个新的应用程序版本时,蒲公英就会通过自动更新机制提供给用户。这样一方面可以让用户第一时间体验到新的功能和修复的bug,另一方面也可以确保应用程序的安全性。 蒲公英更新方式一般有两种:主动更新和被动更新。主动更新是指当用户打开蒲公英应用程序时,蒲公英会检查是否有新的版本可供下载。如果有新版本,用户会收到一个通知,可以选择立即更新或稍后再更新。被动更新是指蒲公英会在后台检查应用程序是否有可用的更新,并在用户打开蒲公英时自动进行更新。 当用户选择更新应用程序时,蒲公英会下载最新的应用程序文件并安装在用户的设备上。安装完成后,用户可以立即使用新版本的应用程序。 蒲公英更新除了提供新的功能和bug修复外,还可能包括性能优化、界面改进、安全性增强等方面的改进。开发者会根据用户的反馈和市场变化来持续改进和更新应用程序,以提供更好的用户体验。 综上所述,蒲公英Android应用程序会不断更新,以提供新的功能、修复bug,并不断改进用户体验。用户可以通过主动更新或被动更新方式获得最新的应用程序版本,并享受到更新带来的各种好处。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值