友盟SDK升级(手动集成)
友盟SDK升级
- 友盟官方地址:https://developer.umeng.com
- 1,下载SDK jar包
- 2,导入项目中
- 3,添加回调Activity
- 4,申请第三方账号
- 5,需要在工程AndroidManifest.xml清单文件中增加:
- 6,添加权限
- 7,初始化友盟
- 8,混淆设置
在升级之前,把之前项目中手动添加的友盟相关的jar包全部删除。之后在从新添加最新的包。
友盟官方地址:https://developer.umeng.com
1,下载SDK jar包
选择完之后,点击完成,再点击下载。
2,导入项目中
1,把解压之后的文件夹中的所有jar包和 arr包导入项目的lib中。
2,在把所有的res下的文件复制到项目的res文件夹下。
3,在build.gradle中导入jar包 和 导入opensdk相关的包
compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.6.5'compile 'com.tencent.tauth:qqopensdk:3.51.2'//QQ官方SDK依赖库implementation files('libs/umeng-sharetool-7.1.4.jar')implementation files('libs/umeng-share-wechat-full-7.1.4.jar')implementation files('libs/umeng-share-QQ-full-7.1.4.jar')implementation files('libs/umeng-share-core-7.1.4.jar')implementation files('libs/umeng-common-9.3.8.jar')implementation files('libs/umeng-shareboard-widget-7.1.4.jar')implementation files('libs/umeng-asms-armeabi-v1.2.2.aar') // asms包依赖(必选)implementation files('libs/umeng-abtest-v1.0.0.aar') // native crash包依赖(必选)
3,添加回调Activity
微信在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity
代码如下:
package com.myobject.wxapi;
import com.umeng.socialize.weixin.view.WXCallbackActivity;
public class WXEntryActivity extends WXCallbackActivity {}
QQ与新浪QQ与新浪不需要添加Activity,但需要在使用QQ分享或者授权的Activity中,添加:
@Override
protectedvoid onActivityResult(int requestCode,int resultCode,Intent data){super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
4,申请第三方账号
5,需要在工程AndroidManifest.xml清单文件中增加:
// ${applicationId}为你的应用包名,请注意将我们的qq appkey替换成您自己的qq appkey
<activityandroid:name=".wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activityandroid:name="com.tencent.tauth.AuthActivity"android:launchMode="singleTask"android:noHistory="true"><intent-filter><actionandroid:name="android.intent.action.VIEW"/><categoryandroid:name="android.intent.category.DEFAULT"/><categoryandroid:name="android.intent.category.BROWSABLE"/><dataandroid:scheme="tencent100424468"/></intent-filter>
</activity>
<activityandroid:name="com.tencent.connect.common.AssistActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="orientation|keyboardHidden|screenSize"
/>
<providerandroid:authorities="${applicationId}.fileprovider"android:name="android.support.v4.content.FileProvider"android:exported="false"android:grantUriPermissions="true"
><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/filepaths"/>
</provider>
还需要同时需要在工程res目录下新建filepaths.xml配置。
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android"><external-files-path name="umeng_cache" path="umeng_cache/"/><!-- QQ 官方分享SDK 共享路径 --><root-path name="opensdk_root" path=""/><external-files-path name="opensdk_external" path="Images/tmp"/>
</paths>
6,添加权限
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permissionandroid:name="android.permission.INTERNET"/>
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permissionandroid:name="android.permission.READ_EXTERNAL_STORAGE"/>
7,初始化友盟
1,务必确保用户同意《隐私政策》之后,再初始化友盟+SDK。具体初始化步骤详见下文
- 在Applicaiton.onCreate函数中调用预初始化函数UMConfigure.preInit(),预初始化函数不会采集设备信息,也不会向友盟后台上报数据。设置log为true可以查看打印。
- 在用户点击同意协议弹窗之后,再进行初始化,要是用友盟必须要初始化成功才可以用。
UMConfigure.init(getReactApplicationContext(),null, null, UMConfigure.DEVICE_TYPE_PHONE, "");
- 在application中添加微信和qq的设置
8,混淆设置
将下面的混淆代码添加到 proguard-rules.pro 文件中。
-dontshrink
-dontoptimize
-dontwarn com.google.android.maps.**
-dontwarn com.squareup.okhttp.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**
-keep public class javax.**
-keep public class android.webkit.**
-dontwarn android.support.v4.**
-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keepattributes EnclosingMethod
-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**-keep public class com.umeng.socialize.* {*;}-keep class com.umeng.commonsdk.statistics.common.MLog {*;}
-keep class com.umeng.commonsdk.UMConfigure {*;}
-keep class com.umeng.** {*;}
-keep class com.umeng.**
-keep class com.facebook.**
-keep class com.facebook.** { *; }
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**
-keep class com.umeng.socialize.handler.**
-keep class com.umeng.socialize.handler.*
-keep class com.umeng.weixin.handler.**
-keep class com.umeng.weixin.handler.*
-keep class com.umeng.qq.handler.**
-keep class com.umeng.qq.handler.*
-keep class UMMoreHandler{*;}
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
-keep class com.tencent.mm.sdk.** {
*;
}
-keep class com.tencent.mm.opensdk.** {
*;
}
-keep class com.tencent.wxop.** {
*;
}
-keep class com.tencent.mm.sdk.** {
*;
}
-dontwarn twitter4j.**
-keep class twitter4j.** { *; }-keep class com.tencent.** {*;}
-dontwarn com.tencent.**
-keep class com.kakao.** {*;}
-dontwarn com.kakao.**
-keep public class com.umeng.com.umeng.soexample.R$*{public static final int *;
}
-keep public class com.linkedin.android.mobilesdk.R$*{public static final int *;
}
-keepclassmembers enum * {public static **[] values();public static ** valueOf(java.lang.String);
}-keep class com.tencent.open.TDialog$*
-keep class com.tencent.open.TDialog$* {*;}
-keep class com.tencent.open.PKDialog
-keep class com.tencent.open.PKDialog {*;}
-keep class com.tencent.open.PKDialog$*
-keep class com.tencent.open.PKDialog$* {*;}
-keep class com.umeng.socialize.impl.ImageImpl {*;}
-keep class com.sina.** {*;}
-dontwarn com.sina.**
-keep class com.alipay.share.sdk.** {
*;
}-keepnames class * implements android.os.Parcelable {public static final ** CREATOR;
}-keep class com.linkedin.** { *; }
-keep class com.android.dingtalk.share.ddsharemodule.** { *; }
-keepattributes Signature
友盟SDK升级(手动集成)相关推荐
- Android Studio集成友盟SDK
为什么要集成友盟? 在企业开发中往往会给开发人员提出很多的开发要求,如做商城APP的时候,产品经理希望统计某个商品的购买量,或者运营的同事要求你统计APP的启动数,新增客户量,有时候开发人员需要监控A ...
- iOS 调试友盟SDK和微信SDK集成后的兼容性
为了解决App在通过微信登录.分享时提示"未验证的应用"这个问题,更新了友盟SDK,同时也更新了微信SDK. 最新版本的微信SDK,需要设置Universal Links,同时需要 ...
- php upush 友盟 推送_react-native集成友盟推送
react-native-upush 近期由于产品需求,需要在react-native项目上集成友盟推送,笔者翻阅各种这方面资料后,看到RN论坛上面有位大神给出了具体的集成方案,请参考:react-n ...
- Android 友盟社会化分享的集成与封装
Android 友盟社会化分享的集成与封装 分享是APP中非常高频的操作之一,在Android的开发环境中,第三方分享框架也有很多.比较流行的包括 极光社会化分享(sharesdk).友盟社会化分享( ...
- android友盟微信授权登录清除,【转载】Android友盟SDK微信授权登录接入
微信授权登录接入需要先到微信开放平台申请好应用的APPID,交纳300大洋费用得到授权登录权限后才能使用,此处不再赘述. 接入的两种方式 -- 微信SDK接入:使用微信官方SDK接入,需要分" ...
- React-native之友盟(UMeng)推送集成(超详细)(android版)----------小白的天堂
React-native之友盟(UMeng)推送集成(超详细)(android版) 集成环境: React-native: 0.61.5 Umeng push sdk:6.0.5 测试环境: Andr ...
- 试用友盟SDK实现Android第三方登录(以QQ登录为例)
虽然自己在日常工作中用不到第三方登录,但是它的重要性无可厚非. 废话不多说,接下来跟着步骤走,轻松集成第三方登陆. 一,在友盟注册应用 注册好友盟账户后,在http://www.umeng.com/s ...
- 使用友盟SDK实现新浪微博登录
项目需求实现新浪微博登录,并实现文章对第三方平台的分享,使用友盟SDK实现以上功能,在实现的过程中,踩了一些坑,记录下来和大家分享一下. 友盟提供了SSO(免登录)以及非SSO的方式.所谓SSO的方式 ...
- 友盟统计封装android,react native 友盟统计 Android 端集成
ios 端 可参考:https://www.jianshu.com/p/879d28ee74e6 趁热打铁吧,把刚才已经完成的友盟统计集成记录下 Android端集成: 分下面几部: 步骤 sdk的集 ...
最新文章
- 谷歌最新开源BundleTrack: 无需任何CAD模型的6D物体姿态跟踪算法
- IDBA-UD:组装非均匀覆盖度的宏基因组和单细胞数据
- 微软热门知识点之------c#3.0新特性【转】
- php background-color:,background-color属性怎么用
- mybatis$和#的区别
- Kyma registration of webservices and event endpoints
- Spring mvc 上下文初始化过程
- Cesium工作笔记001---地理位置信息js展示框架_Cesium介绍
- Systemd管理示例
- python之heapq
- Think PHP url的四种访问方法。
- JAVA基础编程50道练习题
- 秒变金庸风 | NLP文本风格迁移
- linux思源黑体乱码,Source Han Sans 思源黑体字体包
- 多元统计之因子分析模型及Python分析示例
- 蓝桥杯国信长天单片机--原理图详解(四)
- 微信付费群如何创建?如何搭建教程九块九源码?
- 【偶爱宋词】章良能·小重山
- 安卓笔记:修正Task ‘wrapper‘ not found in project
- 我的创作纪念日-从写作到阿里云专家博主的故事
热门文章
- outlook设置263邮件服务器,[win10outlook邮箱设置]win10系统中outlook中添加263邮箱设置教程...
- NAC公链 区块链技术寒冬已过,优质公链NA(Nirvana)Chain开启快速发展之行
- PCL学习笔记——合并点云
- freeswitch 对接IMS
- 香港专业教育学院学会编写网络钓鱼电子邮件的9件事
- 干货来袭!java编程工具排行榜
- springboot学生宿舍管理系统 毕业设计源码161542
- Tensorflow - from keras.layers import LeakyReLU 实例源码
- VS2008操作Word2007 2010保存为PDF
- C#PopStar【消除类】