友盟之分享集成(2018.3月最新版)

如果你还没有使用,那么我劝你还是换个别的吧,比如说Mob的ShareSDK。
讲真,友盟真的很鶸,问题一大堆,问题是你很清楚哪里有问题但还半天解决不了,因为官网上的文档内容没一点卵用。

先去官网注册,下载SDK(可以看截图日期,这是最新版的)


友盟之分享集成(2018.3月最新版)_第1张图片
友盟下载分享skd.png

下面是下载的SDK文件结构

友盟之分享集成(2018.3月最新版)_第2张图片
友盟分享sdk文件目录.png

1.push那个文件夹请忽略,因为我下载时候一块下载了推送。
2.common这个文件夹请注意!!!里面有个umeng-common-1.4.4.jar包,需要拖入项目libs(记得同步项目)的,否则会报错。
java.lang.NoClassDeFoundError:Failed resolution of:Lcom/umeng/commonsdk/statistics/common/DeviceConfig
3.share文件
main————为核心包,里面的JAR包和RES文件都复制到项目
platforms————为平台包,里面的JAR包和RES文件都复制到项目
shareboard————分享面板包,如果不使用,可以不拷贝。(前面这是官方说的话,扯蛋)但是umeng_social_shareboard.jar 必须要,不然报错。
shareview————分享编辑页,如果没有使用新浪精简版,豆瓣人人腾讯微博,可以不使用该文件夹(我下载的精简版,只有QQ,微信,微博,所以没用)
debug.keystore————这个要放在项目的
友盟之分享集成(2018.3月最新版)_第3张图片
友盟分享签名文件导入项目.png

signingConfigs { debug { storeFile file('debug.keystore') storePassword "android" keyAlias "androiddebugkey" keyPassword "android" } }

然后,因为微信回掉比较特殊,先要如图创建一个回掉Activity


友盟之分享集成(2018.3月最新版)_第4张图片
友盟分享微信回掉页面.png

注意,要放在wxapi这个指定目录下,名字WXEntryActivity,继承WXCallbackActivity
wxapi放在包下一级目录。

接着配置清单文件。权限什么的还是不要复制文档了,鶸,啥权限都配啊!
傻逼文档!复制文档过来请注意AuthActivity,AssistActivity包名。
具体路径可以看导入的QQJar包里面。

  

        
            
            
            
            
        
    
    

    

    ·

接着,我们需要在自己的MyApplication文件中配置

    //初始化友盟SDK
    UMShareAPI.get(this);//初始化sd
    //开启debug模式,方便定位错误,具体错误检查方式可以查看
    //http://dev.umeng.com/social/android/quick-integration的报错必看,正式发布,请关闭该模式
    Config.DEBUG = true;
    //微信
    PlatformConfig.setWeixin("wxa236a67eded7a34a", "1203eb81fdf192b301f813f53f29492f");
    //        //新浪微博(第三个参数为回调地址)
    //        PlatformConfig.setSinaWeibo("3111100954", "04b48b094faeb16683c32111124ebdad",
    //                "http://sns.whalecloud.com/sina2/callback");
    //应用宝开放平台  APP ID  APP KEY
    PlatformConfig.setQQZone("1106727511", "r7nD6XTBi98wRPYI");

QQ,微博回掉需要。写在分享那个页面。

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    //QQ,微博回掉需要
    UMShareAPI.get(ShareActivity.this).onActivityResult(requestCode, resultCode, data);
}

最后,具体分享代码

   //----------------以下开始为具体分享代码----------------------
   //连接地址
    UMWeb web = new UMWeb(webUrl);
    web.setTitle(title);
    //描述
    web.setDescription(description);
    if (TextUtils.isEmpty(imageUrl)) {
        //本地缩略图
        web.setThumb(new UMImage(activity, imageID));
    } else {
        //网络缩略图
        web.setThumb(new UMImage(activity, imageUrl));
    }
new ShareAction(activity)
            .setPlatform(SHARE_MEDIA.QQ) //SHARE_MEDIA.等等
            .withMedia(web)
            .setCallback(new UMShareListener() {
                 @Override
                public void onStart(SHARE_MEDIA share_media) {}
                 @Override
                public void onResult(final SHARE_MEDIA share_media) {}
                 @Override
                public void onError(final SHARE_MEDIA share_media, final Throwable throwable) {}
                 @Override
                public void onCancel(final SHARE_MEDIA share_media) {}}).share();

你可能感兴趣的:(友盟之分享集成(2018.3月最新版))