Android社会化分享详解~

简介: 前言  现如今app市场竞争激烈,做app不会放过任何推广自己的app的渠道,如果app中没有社会化分享功能,那真的是OUT了,我们先来看下一些app中的分享界面功能吧。 现在主流的分享平台,一般用的都是微信、QQ、微博,国外的话就Fb、Twitter等,如果每一个都要去单独加,对我们来说是耗时耗力,最重要的是每个第三方的SDK都很大,会增大很多包的体积,这个是我们最不想看到的;   现在市面上提供了很多SDK,从集成速度,包的体积,平台多样,服务响应,用户基数上来讲,ShareSDK是个不错的选择,最重要的是,现在上了maven的集成方式,集成超快。

前言
  现如今app市场竞争激烈,做app不会放过任何推广自己的app的渠道,如果app中没有社会化分享功能,那真的是OUT了,我们先来看下一些app中的分享界面功能吧。
Android1

   现在主流的分享平台,一般用的都是微信、QQ、微博,国外的话就Fb、Twitter等,如果每一个都要去单独加,对我们来说是耗时耗力,最重要的是每个第三方的SDK都很大,会增大很多包的体积,这个是我们最不想看到的;

  现在市面上提供了很多SDK,从集成速度,包的体积,平台多样,服务响应,用户基数上来讲,ShareSDK是个不错的选择,最重要的是,现在上了maven的集成方式,集成超快。
简单的准备工作
  下面我们看看我们需要做的准备工作,首先先确定我们想要分享的第三方平台,这里面我们就以国内主流的平台举例,微信、QQ、微博;首先我们必须去其第三方平台去申请应用得到对应的appid等信息,第三方给了appid,我们才可以去做分享;
话不多说上网站:
QQ:http://open.qq.com QQ与QZone共用一套key即可
微信:http://open.weixin.qq.com 微信好友,微信朋友圈,微信收藏共用一套key即可
微博:http://open.weibo.com
  哦对了,ShareSDK有提供一些常见平台的申请步骤,点击这里去围观能帮助我们快速的进行注册;
ShareSDK集成步骤
第一步,注册账号申请ShareSDK应用
  ShareSDK的AppKey直接到Mob官网申请即可,具体的注册应用的流程请参考这里:Mob创建应用流程
  拿到appkey与appsecret了我们去看看文档吧,http://wiki.mob.com/进入ShareSDK快速集成文档猛戳这里,这个时候有人会问,问什么不下载SDK,直接开始看文档集成了呢,因为ShareSDK 提供了Gradle的maven集成方式,无需手动下载,无需手动配置资源,权限;是不是听起来很牛B,忍不住去看看;
第二步,sharesdk的maven集成
  首先、如下图所示,需要在build.gradle中配置

 maven {
    url "http://mvn.mob.com/android"
    }
    dependencies {
    classpath 'com.mob.sdk:MobSDK:+'
    }

添加的位置按照截图上面的配置即可;
Android2
  其次,在使用到Mob产品的module下面的build.gradle文件里面添加引用

applyplugin:'com.mob.sdk'

  maven集成方式可以在Mob产品的module下面的build.gradle文件里面配置ShareSDK各个社交平台的key信息

 MobSDK {

   appKey "d580ad56b4b5"
   appSecret "7fcae59a62342e7e2759e9e397c82bdd"

   ShareSDK {
        gui true //调用ShareSDK默认的界面
       //平台配置信息
       devInfo {
           SinaWeibo {
              appKey "568898243"
              appSecret "38a4f8204cc784f81f9f0daaf31e02e3"
              callbackUri "http://www.sharesdk.cn"//回调地址,需要与微博后台配置的回调地址一致,http://bbs.mob.com/forum.php?mod=viewthread&tid=47
              shareByAppClient true
           }

           Wechat {
               appId "wxdb0f7a71c883b423"
               appSecret "64020361b8ec4c99936c0e3999a9f249"//登录需要配置appsecret 分享不需要配置
           }

           WechatMoments{
               appId "wxdb0f7a71c883b423"
               appSecret "64020361b8ec4c99936c0e3999a9f249"//登录需要配置appsecret 分享不需要配置
               bypassApproval false

           }

           QQ {
               appId "100371282"
               appKey "aed9b0303e3ed1e27bae87c33761161d"
               shareByAppClient true
           }

           QZone {
               appId "100371282"
               appKey "aed9b0303e3ed1e27bae87c33761161d"
               bypassApproval false
           }
       }
   }
}

配置第三方key的字段说明可以点击这里看文档即可;
Android3

  如上图所示配置完之后点击Sync Now进行重新编译,到这里我们就集成完成了,下面我们调用代码即可;
  注意事项:如果您没有在AndroidManifest中设置appliaction的类名,MobSDK会将这个设置为com.mob.MobApplication,但如果您设置了,请在您自己的Application类中调用:
MobSDK.init(this);

并且在Manifest清单文件中配置:tools:replace=”android:name”,如下所示:

<application
   android:name = ".MyApplication"
   tools:replace="android:name">

第三步,代码调用
 下面的代码就是onekeyshare的分享,即ShareSDK下面配置的gui true才可以调用,下面的代码复制到您的工程中,在需要分享的地方调用即可;

private void showShare(String platformToShare) {
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();
        if (platformToShare != null) {
            oks.setPlatform(platformToShare);
        }
        // title标题,微信、QQ和QQ空间等平台使用
        oks.setTitle("测试标题");
        // titleUrl QQ和QQ空间跳转链接
        oks.setTitleUrl("http://www.baidu.com");
        // text是分享文本,所有平台都需要这个字段
        oks.setText("我是分享文本");
        //分享网络图片、分享本地图片用oks.setImagePath("/sdcard/test.jpg");确保SDcard下面存在此张图片
        oks.setImageUrl("https://lanre.smartemple.cn/image/share.png");
        // url在微信、微博,Facebook等平台中使用
        oks.setUrl("http://sharesdk.cn");
        // comment是我对这条分享的评论,仅在人人网使用
        oks.setComment("我是测试评论文本");/*      //onekeyshare默认提供了默认的分享回调Toast提示,如果想要自己定义调用setCallback即可,不需要自定义的可以忽略,值得一提的是callback回调是子线程,需要传到主线程之后去操作后续内容哦;    
        oks.setCallback(new PlatformActionListener() {      
            @Override
            public void onError(Platform arg0, int arg1, Throwable arg2) {
                // TODO Auto-generated method stub              
            }           
            @Override
            public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
                // TODO Auto-generated method stub          
            }
            
            @Override
            public void onCancel(Platform arg0, int arg1) {
                // TODO Auto-generated method stub              
            }
        });*/
        // 启动分享GUI
        oks.show(this);
    }

  值得一提的是,onekeyshare的分享是根据调用的分享的方法自动适配分享类型,每个平台分享的方法不同,具体可以点击这里去看ShareSDK的文档说明

   下面我们就可以去测试了,在监听按钮下调用
showShare(null);

效果如下:

Android4
此时点击平台跳转分享即可;

   如果不想用OneKeyShare的界面很简单,很多小伙伴肯定也发现了刚才我的方法中private void showShare(String platformToShare) 有一个参数,如果想单独调用修改这个参数即可,比如,我想单独跳转QQ,则在这个方法里面传QQ.NAME即可,其他的平台名称看ShareSDK的快速集成文档即可,效果如下

Android5
Demo下载地址:链接:https://pan.baidu.com/s/1nxh2Bqh 密码:j4c3
常见问题说明:
1、微信分享提示分享失败:检查分享内容,特别是图片是否有效,或者只分享文字测试
2、微信分享闪一下调用不起来微信客户端:检查微信后台配置的包名是否与配置的applicationId一致;检查微信后台配置的应用签名是否与您的app的应用签名一致;
3、新浪微博客户端分享提示分享成功,但是会保存到草稿箱发送不出去,检查微博后台配置的包名和签名,与您的app的不一致导致的
4、QQ分享不需要审核通过即可分享,but,需要配置一些基本的信息,IOS与android平台可以共用一套key,但是别忘了两个平台的基本信息都要配置下;
5、微信是通过审核之后才会给我们appid的,所以必须要通过审核才可以正式分享,并且必须保证微信后台配置的包名和应用签名与我们的app的包名和应用签名一致,否则无法正分享,做微信第三方登录的小伙伴,别忘了去申请权限还要每年300块哦;
6、新浪微博、申请的时候就会给我们appkey和appsecret了,但是别忘了配置回调地址,不知道回调地址怎么配置都可以点击这里进行查看,新浪微博和微信一样都需要配置包名和应用签名,这一点需要注意,如果包名和签名不一致客户端分享会报错的哦;

目录
相关文章
|
Android开发
Android开发之社会化分享功能集成
现在越来越多的应用都集成了社交分享功能,国内用的比较多的就是 友盟和Mob 分享,今天以Mob分享为例,来完整介绍一个集成的案例。 1. 获取ShareSDK的AppKey,去官方添加一个Project就得到了 2.
1099 0
|
4天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
23 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
16天前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
121 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
14天前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
37 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
29天前
|
缓存 前端开发 Android开发
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
79 12
【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
|
1月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
36 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
2月前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
77 19
|
2月前
|
JSON Java API
探索安卓开发:打造你的首个天气应用
在这篇技术指南中,我们将一起潜入安卓开发的海洋,学习如何从零开始构建一个简单的天气应用。通过这个实践项目,你将掌握安卓开发的核心概念、界面设计、网络编程以及数据解析等技能。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供一个清晰的路线图和实用的代码示例,帮助你在安卓开发的道路上迈出坚实的一步。让我们一起开始这段旅程,打造属于你自己的第一个安卓应用吧!
92 14

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    Android历史版本与APK文件结构
  • 3
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 5
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 6
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 7
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 8
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 9
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 10
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 1
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    14
  • 2
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    28
  • 3
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    34
  • 4
    Android历史版本与APK文件结构
    121
  • 5
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    29
  • 6
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    23
  • 7
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    60
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 9
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
    73
  • 10
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    121