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

在根目录的build.gradle的repositories中增加
	maven { url 'https://repo1.maven.org/maven2/' }  
在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://repo1.maven.org/maven2/com/umeng/umsdk/

配置QQ

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

 manifestPlaceholders = [qqappid: "你的qq appid"]
配置微信

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

public class WXEntryActivity extends WXCallbackActivity {
	
}
在Manifest中添加权限
    <!-- 必须的权限 -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />

    <!-- 推荐的权限 -->
    <!-- 添加如下权限,以便使用更多的第三方SDK和更精准的统计数据 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
在Manifest中添加meta-data

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

<meta-data
	android:name="UMENG_APPKEY"
	android:value="在友盟上申请的APPKY" />
<meta-data
	android:name="UMENG_CHANNEL"
	android: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,所有有些配置可以配置,也可以选择不配置,这里进行贴出

微信

 <activity
        android:name=".wxapi.WXEntryActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:exported="true"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />

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

 <activity
	android:name="com.tencent.tauth.AuthActivity"
	android:launchMode="singleTask"
	android:noHistory="true" >
	<intent-filter>
	<action android:name="android.intent.action.VIEW" />
	
	<category android:name="android.intent.category.DEFAULT" />
	<category android:name="android.intent.category.BROWSABLE" />
	
	<data android:scheme="tencent100424468" />
	</intent-filter>
	</activity>
	<activity
	android:name="com.tencent.connect.common.AssistActivity"
	android:theme="@android:style/Theme.Translucent.NoTitleBar"
	android:configChanges="orientation|keyboardHidden|screenSize"/>   

新浪

   <activity
       android:name="com.umeng.socialize.media.WBShareCallBackActivity"
       android:configChanges="keyboardHidden|orientation"
       android:theme="@android:style/Theme.Translucent.NoTitleBar"
       android:exported="false">
   </activity>
   <activity android:name="com.sina.weibo.sdk.web.WeiboSdkWebActivity"
             android:configChanges="keyboardHidden|orientation"
             android:exported="false"
             android:windowSoftInputMode="adjustResize">
   </activity>
   <activity
       android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
       android:launchMode="singleTask"
       android:name="com.sina.weibo.sdk.share.WbShareTransActivity">
       <intent-filter>
           <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
           <category android:name="android.intent.category.DEFAULT" />
       </intent-filter>
   </activity>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氦客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值