Android 友盟快速集成 社会化分享 移动统计

在根目录的build.gradle的repositories中增加

	maven { url 'https://dl.bintray.com/umsdk/release' }  

在app的build.gradle中增加

api 'com.umeng.umsdk:common:2.0.2'
//友盟统计
api 'com.umeng.umsdk:analytics:8.0.2'
//友盟分享
api 'com.umeng.umsdk:share-core:6.9.4'
api 'com.umeng.umsdk:share-qq:6.9.4'
api 'com.umeng.umsdk:share-wx:6.9.4'
api 'com.umeng.umsdk:share-sina:6.9.4'
//分享面板
api 'com.umeng.umsdk:share-board:6.9.4'

这是2019年5月份的最新版本,如需获取当前最新的版本,请查看 https://dl.bintray.com/umsdk/release

配置QQ

在app的build.gradle的defaultConfig中添加QQ AppID

 manifestPlaceholders = [qqappid: "你的qq appid"]

配置微信

在包名下,新建wxapi文件夹,然后在此文件夹下新建WXEntryActivity.java,继承WBShareCallBackActivity

public class WXEntryActivity extends WXCallbackActivity {
	
}

在Manifest中添加权限

    
    
    
    
    

    
    
    
    
    
      

在Manifest中添加meta-data

在Manifest中添加meta-data,并修改UMENG_APPKEY的value值为自己账号的



在Application中进行初始化

//友盟相关平台配置,如果不配置会调不起来相关界面
PlatformConfig.setWeixin("你的微信APPID", "你的微信AppSecret");//微信APPID和AppSecret
PlatformConfig.setQQZone("你的QQAPPID", "你的QQAppSecret");//QQAPPID和AppSecret
PlatformConfig.setSinaWeibo("你的微博APPID", "你的微博APPSecret","微博的后台配置回调地址");//微博  
UMConfigure.setLogEnabled(BuildConfig.DEBUG); //是否开启日志
/**
  * 初始化common库
  * 参数1:上下文,不能为空
  * 参数2:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机
  * 参数3:Push推送业务的secret,不用此功能的话传null
  */
UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, null);  

在Activity基类中添加如下代码

public class BaseActivity extends AppCompatActivity {
	@Override
    protected void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }

    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }
}

申请权限

if (Build.VERSION.SDK_INT >= 23) {
        String[] mPermissionList = new String[]{
                Manifest.permission.WRITE_EXTERNAL_STORAGE,
                Manifest.permission.ACCESS_FINE_LOCATION,
                Manifest.permission.CALL_PHONE,
                Manifest.permission.READ_LOGS,
                Manifest.permission.READ_PHONE_STATE,
                Manifest.permission.WRITE_EXTERNAL_STORAGE,
                Manifest.permission.SET_DEBUG_APP,
                Manifest.permission.SYSTEM_ALERT_WINDOW,
                Manifest.permission.GET_ACCOUNTS,
                Manifest.permission.WRITE_APN_SETTINGS};
        ActivityCompat.requestPermissions(this, mPermissionList, 123);
    }

进行使用

//>>>>>>注意这里的URL可能会失效,如果失效了需要替换一个
UMImage image = new UMImage(MainActivity.this, "https://b-ssl.duitang.com/uploads/item/201608/03/20160803105542_Yx2Am.jpeg");//分享图标
final UMWeb web = new UMWeb("https://www.baidu.com/"); //切记切记 这里分享的链接必须是http开头
web.setTitle("你要分享内容的标题");//标题
web.setThumb(image);  //缩略图
web.setDescription("你要分享内容的描述");//描述

new ShareAction(MainActivity.this)
	.setPlatform(SHARE_MEDIA.WEIXIN)
	.withMedia(web)
	.setCallback(umShareListener)
	.share();  

集成完毕

至此,友盟集成就完成了,可以进行测试分享了。

注意事项

  • 你的包名和签名必须和各平台申请的一致,否则会提示包名或签名错误
  • 2019年5月份这个版本,targetsdk为28时,在Android 28的手机上分享QQ会出现闪退,targetsdk使用27则不会有问题,需要等待友盟后期解决这个兼容性问题。
  • 微信6.7.2之后,分享成功和失败的回调统一成了成功,所以如果取消微信分享也会回调分享成功 ,详见微信分享取消分享之后的回调仍是分享成功

其他

参考
Android中友盟第三方登录与分享自动集成的那些坑
友盟-基础组件集成
友盟-U-Share集成文档

可以不再集成的项

由于直接依赖了aar,所有有些配置可以配置,也可以选择不配置,这里进行贴出

微信

 

qq(请注意将我们的qq appkey替换成您自己的qq appkey)

 
	
	
	
	
	
	
	
	
	
	   

新浪

   
   
   
   
   
       
           
           
       
   

你可能感兴趣的:(Android)