我是靠谱客的博主 热情心锁,最近开发中收集的这篇文章主要介绍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>

最后

以上就是热情心锁为你收集整理的Android 友盟快速集成 社会化分享 移动统计的全部内容,希望文章能够帮你解决Android 友盟快速集成 社会化分享 移动统计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部