1.微信准备

第一步:注册开放平台账号

登录开放平台(open.weixin.qq.com),注册成为微信开放平台开发者

第二步:认证开放平台

开放平台需进行开发者资质认证后才可申请微信支付,认证费:300元/年;

(分享功能可以跳过此步)

第三步:创建APP

iOS 友盟 分享小程序 不支持 友盟微信分享_iOS 友盟 分享小程序 不支持


提交APP基本信息

1应用名称,

2应用描述,

3应用官网,

4应用图标(28和108尺寸),

5应用签名(需下载输入包名出签名的软件工具,调试期间应用工程内debug.keystore),

6应用包名

通过开放平台应用审核(3-7日,一般3天)

获得AppID和AppSecret

iOS 友盟 分享小程序 不支持 友盟微信分享_iOS 友盟 分享小程序 不支持_02


签名和包名弄做了可以修改

iOS 友盟 分享小程序 不支持 友盟微信分享_友盟分享_03


微信分享功能所需要的准备工作完毕!

2.友盟准备

创建应用

iOS 友盟 分享小程序 不支持 友盟微信分享_友盟分享_04


填写信息

iOS 友盟 分享小程序 不支持 友盟微信分享_Android_05


获得APPID,去下载最新SDK

iOS 友盟 分享小程序 不支持 友盟微信分享_Android_06


下载

iOS 友盟 分享小程序 不支持 友盟微信分享_android_07


share中的东西重要,common(基础)包可以maven引入,最后一个是组件化三方库

iOS 友盟 分享小程序 不支持 友盟微信分享_微信分享_08


点开share,main和platforms文件夹中的jar和res都放到工程中对应的文件夹中

iOS 友盟 分享小程序 不支持 友盟微信分享_微信分享_09


注意:友盟中所谓的自动集成和手动集成的差别仅仅在于common这个包的引用,其他的包和三方的东西还是都要手动集成的.(也就是平台中的东西都要放到相应的文件夹下)

友盟准备工作完毕!

3.代码集成

目录结构

iOS 友盟 分享小程序 不支持 友盟微信分享_android_10


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();

    }
};

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