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

本文详细介绍了百度社会化分享插件的更新情况,包括新增的QQ好友分享功能和微信分享优化,并提供了从下载到配置的完整步骤。特别强调了微信分享的签名问题及其解决方案,以及分享代码示例,方便开发者快速实现分享功能。

技术的发展和完善,简直让人跟不上。前段时间才开放了一个百度社会化分享插件,没几个月百度的社会化分享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>

下载代码方式:https://pan.quark.cn/s/e6c2e312b658 在苹果公司的Mac操作系统环境中,当用户尝试安装非原厂驱动程序时,可能会遭遇系统无法正常启动的困境。这种情况常常源于名为.kext的内核扩展驱动程序存在兼容性问题或安装过程中出现失误。这份指南介绍了一种无需重新安装操作系统且能够保护所有用户数据的修复方法,这一方案对于先前许多面临类似挑战的用户而言,曾是极为棘手的情况。文档中提及的“用户模式启动”实际是指单用户模式,这种启动方式仅加载核心系统功能,而忽略图形用户界面及常规应用程序的加载。在单用户模式下,用户能够访问命令行界面,进而执行一系列修复指令。解决此问题的首要环节是验证存储设备是否存在故障,因为这是导致系统无法启动的常见诱因。借助终端指令`/sbin/fsck -f`,可以诊断并纠正文件系统层面的错误。倘若系统在启动过程中检测到文件系统异常,通常会自动执行`fsck`命令,然而,如果系统卡在进度条100%无法继续,手动运行该命令则显得尤为必要。指令`mount -uw /`的功能是将根目录切换为可读写状态,由于系统默认是以只读模式启动的。这一操作的目的是为了在不重新进入正常模式的前提下,对系统进行必要的调整。随后,文档提供了一个关键操作:对存在问题的驱动程序文件进行修改或更名。在Mac系统中,第三方驱动程序一般安装在`/Library/Extensions/`目录下。每个驱动程序都包含一个以.kext为后缀名的文件夹,例如在此案例中的AX88772.kext。通过命令行将故障的.kext文件更名(例如改为.kext.bak),可以临时禁用该驱动程序。这一操作需在命令行环境中完成,首先使用`cd /Library/Exte...
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值