Android 发布蒲公英平台自动更新

 蒲公英官网:https://www.pgyer.com/

首先弄明白蒲公英平台的SDK更新机制:蒲公英 - 文档中心 - SDK 自动更新机制 (pgyer.com)

下面直接开始代码操作

1.添加蒲公英maven库

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

 2.添加蒲公英依赖

implementation 'com.pgyersdk:sdk:3.0.10'

 3.新建myAplication

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("xxxxxxxxx"); //这个就是蒲公英平台你发布的APP的key,没有发布应用的需要发布第一版查看
    }

}

 4.在AndroidManifest.xml添加myAplication

添加相关权限

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

    <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" /> 

5.添加请求是否更新的代码

这部分代码一般都是放在APP打开的首页,如果有新版本一打开APP就提示更新

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-19 10:26:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-19 10:26:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-19 10:26:01       87 阅读
  4. Python语言-面向对象

    2024-02-19 10:26:01       96 阅读

热门阅读

  1. k8s的一些关键信息(归类摘抄,非提炼)

    2024-02-19 10:26:01       39 阅读
  2. Latex一些报错问题总结

    2024-02-19 10:26:01       50 阅读
  3. vue3导入文件夹、导入文件、导出zip、导出

    2024-02-19 10:26:01       57 阅读
  4. 单例模式的优点和缺点分别是什么?

    2024-02-19 10:26:01       44 阅读
  5. 微服务- 熔断、降级和限流

    2024-02-19 10:26:01       50 阅读
  6. CSS如何将图片变为圆形?

    2024-02-19 10:26:01       48 阅读
  7. tcpdump

    2024-02-19 10:26:01       43 阅读
  8. springMVC中指定Autowired要自动装配的对象

    2024-02-19 10:26:01       87 阅读