欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

phonegap-百度社会化分享-andriod插件-v2.0

Android开发 夜阑小雨 5184℃ 0评论

[目前插件已经支持到Phonegap 3.5]

技术的发展和完善,简直让人跟不上。前段时间才开放了一个百度社会化分享插件,没几个月百度的社会化分享sdk都升级了。而且增加了一些其他的特性,增加qq好友分享,优化了微信分享。

所以今天又基于新的sdk,对从新开发了社会化分享的插件。

先上图看看,根据跟v1.0版本的差不多,ui也做了优化。

本插件支持:微信分享+  微信朋友圈分享

 

12 4 3  5

不得不说这次跟新,对微信和qq分享做了很大优化。

1.下载插件包。

2. 解压所下载的包,从lib目录中得到所需要的所有的库:

Baidu-SocialShare-SDK-Android-2.0.0.jar

添加到你的项目中。

 

3. 修改AndroidManifest.xml,增加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
4. 在AndroidManifest.xml中增加jar中需要的Activity。
<activity android:name="com.baidu.cloudsdk.social.oauth.SocialOAuthActivity"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
        </activity>

        <activity
            android:name="com.baidu.cloudsdk.social.share.handler.LocalShareActivity"
            android:launchMode="singleTask">
        </activity>

        <activity android:name="com.baidu.cloudsdk.social.share.handler.QQFriendShareReceiverActivity"
            android:launchMode="singleTask">
              <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="tencent此处为腾讯开放平台APPKey" />
            </intent-filter>
        </activity>

          <!-- 用户微信回调的 activity -->
        <activity android:name=".wxapi.WXEntryActivity"
                  android:label="@string/app_name"
                  android:exported="true"
                  android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
        </activity>
5.拷贝src文件夹里面的2个java文件到你的src中
6. 拷贝assert目录下config.json文件到你的项目对应文件夹里面。并修改为自己的信息。
{
client_ids:
{
baidu:"填写在百度开发者中心注册的app key",
sinaweibo:"填写在微博开放平台注册的app key",
qqdenglu:"填写在腾讯开放平台注册的app key",
qqfriend:"填写在腾讯开放平台注册的app key",
weixin:"填写在微信开放平台注册的app key"
},
client_names:
{
qqfriend:"分享给qq好友所要显示的应用名称"
},
supported_medias:
["sinaweibo","qqweibo","qqdenglu","kaixin","renren","qqfriend","weixin","weixin_timeline","email","sms"]
}
这些信息可以参考百度开发者中心帮助文档来申请。
 具体的如何设置可以看他们的帮助文档。

00

 

7.在config.xml文件下面引入插件.

2.x  和3.x 的插件添加代码是不同的,一点注意!具体可以参考官网。

<feature name=”Baidushare”>
<param name=”android-package” value=”com.xhuayi.dgoula.Baidushare” />
</feature>

8. 修改html代码

引入baidushare.js文件到主文件里面

添加以下方法调用插件:

 

function shareClick(){
var title= “深圳市贸促委”;
var content = “深圳市贸促委品牌加盟展APP下载!”;
var url = “http://pic1.win4000.com/pic/6/3c/9b5f279921.jpg”;
var imageurl = “http://pic1.win4000.com/pic/6/3c/9b5f279921.jpg”;
window.plugins.Baidushare.bdshare(
title,content,url,imageurl,function(success) {
if(success == 1){
alert(“分享成功!”); //做业务处理
}else if(success == 2){
alert(“未分享成功!”);//做业务处理
}else{
alert(“encode success: ” + success);
}

}, function(fail) {
alert(“encoding failed: ” + fail);
}
);
}

这样基本上就可以运行起来。分享你需要的内容到各个平台。

这些需要注意:

1.需要先把百度社会化分享的开发文档看看

2.如果需要自己配置第三方平台就一个一个申请。如果不需要就默认好了。

3.微信分享就比较麻烦。最好去微信开放平台看看开发文档,需要做好包名和签名,并提交后审核,只有审核通过的才能分享。而且微信的分享是有限制的所有分享的内容和图片最好是小一些。

4.我这里只是做网页分享。其实百度分享还有图片分享,以及单个平台分享,为了满足绝大多数就只做了网页分享。

对于微信分享不能成功的需要说明的几个问题:

为什么测试的时候就能分享,但是一大包就不能分享了呢?其实问题还是签名的问题:

1、还是签名问题,一个项目,几个人完成的话,如果大家都是用各自默认的debug.keystore进行运行的话,在debug版本,微信分享功能肯定只有在申请的微信appid的那台机器生产的apk才能正常。 但是其他人或者发布大包后的apk不能使用?

怎么办?

别担心,还有补救的方法,用我们正式那个签名文件xxx.keystore对程序进行正式的打包,然后安装到手机中,然后再次运行微信那个签名apk工具,将我们的包名输入到里面,重新生成一个MD5的签名,然后到官网http://open.weixin.qq.com/agreement,找到你之前等级那个应用,拉到最后,点击修改,将刚刚生成的那个签名输入到里面,然后保存重新提交审核。

 

对于微信分享,我也一直很混乱,研究了很久总有发现还是自己太粗心。关键在于微信的签名问题,一定记得获取签名的时候是用正式打包后的apk,安装到手机再来获取微信的签名,这样联机调试虽然不能分享,但打包出来之后就能分享了。

插件下载: 百度社会化分享插件v2.0 【商业插件暂不公开使用】

 

=============【3.0以后插件config.xml】============================

 

<feature name=”Baidushare”>
<param name=”android-package” value=”com.phonegap.helloworld.Baidushare” />
</feature>

转载请注明:夜阑小雨 » phonegap-百度社会化分享-andriod插件-v2.0

喜欢 (1)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 🙂
    夜阑小雨2013-11-28 21:13 回复