友盟微信分享集成

1.微信准备
第一步:注册开放平台账号
登录开放平台(open.weixin.qq.com),注册成为微信开放平台开发者
第二步:认证开放平台
开放平台需进行开发者资质认证后才可申请微信支付,认证费:300元/年;
(分享功能可以跳过此步)
第三步:创建APP
填写基本信息
提交APP基本信息
1应用名称,
2应用描述,
3应用官网,
4应用图标(28和108尺寸),
5应用签名(需下载输入包名出签名的软件工具,调试期间应用工程内debug.keystore),
6应用包名
通过开放平台应用审核(3-7日,一般3天)
获得AppID和AppSecret
这里写图片描述
签名和包名弄做了可以修改
这里写图片描述
微信分享功能所需要的准备工作完毕!
2.友盟准备
创建应用
这里写图片描述
填写信息
这里写图片描述
获得APPID,去下载最新SDK
这里写图片描述
下载
这里写图片描述
share中的东西重要,common(基础)包可以maven引入,最后一个是组件化三方库
这里写图片描述
点开share,main和platforms文件夹中的jar和res都放到工程中对应的文件夹中
这里写图片描述
注意:友盟中所谓的自动集成和手动集成的差别仅仅在于common这个包的引用,其他的包和三方的东西还是都要手动集成的.(也就是平台中的东西都要放到相应的文件夹下)
友盟准备工作完毕!
3.代码集成
目录结构
这里写图片描述
1.友盟分享和微信分享的必要jar包必须添加
2.微信回调必要页面
3.友盟自带一些图片资源
4.分享的布局
项目的build.gradle中添加

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

APP的build.gradle中

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.umeng.sdk:common:latest.integration'
    compile 'com.umeng.sdk:utdid:1.1.5.3'
}

权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

动态权限

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.READ_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);
}

微信回调页面注册

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

初始化友盟(友盟appkey,渠道.设备类型手机等参数)

UMConfigure.init(this,"5b6d2281a40fa3059a00031f" ,"umeng",UMConfigure.DEVICE_TYPE_PHONE,"");

设置Log可见

UMConfigure.setLogEnabled(true);

分享图片

private void sendWX() {
    UMImage image = new UMImage(MainActivity.this, R.drawable.umeng_socialize_share_video);//资源文件
    UMImage thumb =  new UMImage(this, R.drawable.umeng_socialize_share_video);//缩略图
    image.setThumb(thumb);
    new ShareAction(MainActivity.this)
            .setPlatform(SHARE_MEDIA.WEIXIN)//传入平台
            .withText("分享测试")//分享内容
            .withMedia(image)
            .setCallback(umShareListener)//回调监听器
            .share();
}

回调监听

private UMShareListener umShareListener = new UMShareListener() {
  /**
     * @descrption 分享开始的回调
     * @param platform 平台类型
     */
    @Override
    public void onStart(SHARE_MEDIA platform) {

    }

    /**
     * @descrption 分享成功的回调
     * @param platform 平台类型
     */
    @Override
    public void onResult(SHARE_MEDIA platform) {
        Toast.makeText(MainActivity.this,"分享成功",Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享失败的回调
     * @param platform 平台类型
     * @param t 错误原因
     */
    @Override
    public void onError(SHARE_MEDIA platform, Throwable t) {
        Toast.makeText(MainActivity.this,"分享失败"+t.getMessage(),Toast.LENGTH_LONG).show();
    }

    /**
     * @descrption 分享取消的回调
     * @param platform 平台类型
     */
    @Override
    public void onCancel(SHARE_MEDIA platform) {
        Toast.makeText(MainActivity.this,"分享取消",Toast.LENGTH_LONG).show();

    }
};

就此,友盟下的微信分享集成完毕,
第一次写过程,一来记录一下,二来是因为无论友盟还是微信都更新的太快了,而文档又不是很容易理解,我就耽误在文档上面浪费了很多时间,希望大家少走弯路.
如果有错误请指出,我会尽快完善的
demo亲测可以分享
下载地址:https://download.csdn.net/download/qq_23237191/10606217

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值