文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Bugly Android SDK 使用

2022-06-06 13:24

关注

集成SDK和NDK

在Module的build.gradle文件中添加依赖和属性配置:

  ​​​​​​​

 

 

参数配置

在AndroidManifest.xml中添加权限:

注:如果您的App需要上传到google play store,您需要将READ_PHONE_STATE权限屏蔽掉或者移除,否则可能会被下架。

请避免混淆Bugly,在Proguard混淆文件中增加以下配置:
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.**{*;}

最简单的初始化

获取APP ID并将以下代码复制到项目Application类onCreate()中,Bugly会为自动检测环境并完成配置:

CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);

为了保证运营数据的准确性,建议不要在异步线程初始化Bugly。

在“AndroidManifest.xml”的“Application”中增加“meta-data”配置项:

<application
    
    <meta-data
            android:name="BUGLY_APPID"
            android:value="" />
    
    <meta-data
            android:name="BUGLY_APP_VERSION"
            android:value="" />
    
    <meta-data
            android:name="BUGLY_APP_CHANNEL"
            android:value="" />
    
    <meta-data
            android:name="BUGLY_ENABLE_DEBUG"
            android:value="" />

不同于“android:versionName”,“BUGLY_APP_VERSION”配置的是Bugly平台的APP版本号。

通过“AndroidManifest.xml”配置后的初始化方法如下:

CrashReport.initCrashReport(getApplicationContext());

Bugly默认从“AndroidManifest.xml”文件中读取“VersionName”作为版本号,自定义设置请使用参考“高级设置”。


private void initBugly(){
    // 这里实现SDK初始化,appId替换成你的在Bugly平台申请的appId
    // 调试时,将第三个参数改为true
  
  Beta.enableHotfix = true;
  //设置是否自动下载补丁,默认为true
    Beta.canAutoDownloadPatch = true;
  //设置是否自动合成补丁,默认为true
    Beta.canAutoPatch = true;
  //设置是否提示用户重启,默认为false
    Beta.canNotifyUserRestart = true;
  //补丁回调接口
   Beta.betaPatchListener = new BetaPatchListener() {
       @Override
       public void onPatchReceived(String s) {
           Toast.makeText(getApplication(), "补丁下载地址" + s, Toast.LENGTH_SHORT).show();
       }
       @Override
       public void onDownloadReceived(long savedLength, long totalLength) {
           Toast.makeText(getApplication(),
                   String.format(Locale.getDefault(),"%s %d%%",Beta.strNotificationDownloading,
                           (int) (totalLength == 0 ? 0 : savedLength * 100 / totalLength)),
                   Toast.LENGTH_SHORT).show();
       }
       @Override
       public void onDownloadSuccess(String s) {
           Toast.makeText(getApplication(), "补丁下载成功", Toast.LENGTH_SHORT).show();
       }
       @Override
       public void onDownloadFailure(String s) {
           Toast.makeText(getApplication(), "补丁下载失败", Toast.LENGTH_SHORT).show();
       }
       @Override
       public void onApplySuccess(String s) {
           Toast.makeText(getApplication(), "补丁应用成功", Toast.LENGTH_SHORT).show();
       }
       @Override
       public void onApplyFailure(String s) {
           Toast.makeText(getApplication(), "补丁应用失败", Toast.LENGTH_SHORT).show();
       }
       @Override
       public void onPatchRollback() {
       }
   } ;
    // 设置开发设备,默认为false,上传补丁如果下发范围指定为“开发设备”,需要调用此接口来标识开发设备
    Bugly.setIsDevelopmentDevice(getApplication(),DEBUG);
    //多渠道需求塞入
    String channel = WalleChannelReader.getChannel(getApplication());
    Bugly.setAppChannel(getApplication(),channel);
    // 这里实现SDK初始化,appId替换成你的在Bugly平台申请的appId
    //        Bugly.init(getApplication(), "70f17237f5", DEBUG);
    Bugly.init(getApplication(), DEBUG ? BuylyConstant.dev_app_id : BuylyConstant.release_app_id, DEBUG);
}

作者:wu311894565


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯