`

ShareSDK 微信及其朋友圈集成步骤

 
阅读更多



一直以来很多人都在询问同一个问题“微信怎么不能用”。其实这个问题我老早就写在SDK说明文档里面(就是SDK解压目录下的PDF文件)了,可是大家都不看。考虑到文档很长搜索麻烦,我现在统一整个集成步骤,写下这个文档。

首先你须要获取Share SDK,这话比较多余,所以就跳过了——你需要到微信开放平台上注册你的应用信息。



进到微信的官网以后,点击右上角的“开发者”,然后登录你或者你们公司的微信帐号。

登录帐号以后,点击“登记我的应用”,创建应用信息。创建应用的时候一定要填写正确的应用名称,这个名称以后用来显示在微信消息的“应用表情”里面。

然后填写应用信息。由于微信在最近调整了Android平台的调试策略,导致Android平台的应用只有通过了审核才能调用成功调用微信客户端进行分享,因此请按微信页面要求,填写完整的应用信息,以便提交审核。



完成上述步骤以后,基本上也就算完成应用登录了,但是请注意在最后的地方选择“移动应用”,因为我们创建的应用是一个移动应用,不是网站应用——事实上,微信还没开放网站应用登记。


大部分开发者认为到此应用就算创建了,可以开始集成Share SDK进行开发,但这是严重的误解,完成这个,甚至还不到集成工作的五分之一。

完成应用登记以后,会直接看到一个“移动应用”的页面,页面中间有移动平台信息配置的内容,请至少勾选其中的“Android平台应用”:


勾选以后会展开一个Android信息内容,请务必详细填写里面的东西。
因为很多人会填错这些信息,所以我详细说一下这三个框的内容要求。
首先是下载地址。微信的描述是很矛盾的,一方面要求下载地址,一方面不能填写真正的下载地址,很多人不知道怎么填。其实很简单的,如果你的应用已经发布,不管是什么应用市场,填写你的应用在这个电子商场上面的对应页面地址就行,如果你们只是在自己官网发布,那就下上官网这个应用的下载页面地址就可以。微信不允许连接携带“apk”后缀,因此直接下载地址是不可以的。
其次是应用签名。这个签名其实很容易产生,完全不需要微信的那个工具。但是产生的流程我不想重复了,所以直接复制SDK说明文档里面的内容:
(1)使用微信提供的签名计算工具,来签名:
如果您希望通过这个方法来计算签名,则需要下载微信的签名计算工具。此处需要注意的是下载回来的文件一定是“apk”的,如果您下载回来的文件是zip或者后缀名,请修改其后缀名为“apk”,并复制到您的手机上安装。
然后为您的应用导出一个签过名的apk。请注意,这个签名应该是您将来发布应用时的签名,也就是所谓的“正式包签名”。这里需要解释一下,微信并不要求具体使用的签名文件的性质,但是修改签名经常会导致问题,所以为了避免不必要的麻烦,Share SDK强烈建议您使用正式包的签名。
安装导出的apk文件,然后运行微信的签名计算工具。并在其中输入您应用的包名,微信会自动计算您应用所签keystore的MD5:

转至微信开放平台,将计算好的结果填写到其中并保存。
(2)利用Eclipse导出签名时显示的签名MD5值:
利用此方法,要求您下载最新版本的Eclipse Android开发插件(ADT)。确保此条件后,右键您的项目,选择“Android Tools”—“Export Signed Application Package…”:

此时会弹出一个导出签名apk的窗口,输入您应用正式签名和密码以后,会在导出页面中,显示您签名的MD5值。将其复制出来,调整为小写,并去除多余的风格符。转至微信开放平台,将计算好的结果填写到其中并保存即可。


(3)Linux(Ubuntu)下,利用Shell直接计算:
如果您使用Ubuntu操作系统,可以直接利用下面的Shell命令计算出签名文件的MD5值:
 
keytool -exportcert -alias <keystore别名> -keypass <别名密码> -keystore <keystore路径> -storepass <keystore密码> | md5sum
  如:
 
keytool -exportcert -alias demokey.keystore  -keypass 123456 -keystore demokey.keystore -storepass 123456 | md5sum
  其实出如下:


将其复制出来,转至微信开放平台,将计算好的结果填写到其中并保存即可。
上面的方法,任选其一都可以计算出实际的签名文件md5值出来。其实你也可以尝试自己写代码计算,这个在说明文档中有类似的方法——facebook sso功能的签名base64代码。这个应该就是微信那个蹩脚的工具的计算方法,不过他们没有base64,也不是SHA,而是简单MD5而已。
最后是包名,这个应该不用多说。Android程序的唯一识别符就是包名,写在“AndroidManifest.xml”中。


完成上述三项的填写,然后保存,保存完毕以后,微信会提醒你:


滑到页面底部,提交审核。审核一般需要3天以上的时间,如果审核通过,就可以开始集成的操作,如果不通过,最好修改应用信息。按照微信的说法,android平台不通过审核,是不能调用客户端来操作的:



审核通过以后,和其他平台的集成操作一样:如果需要快捷分享,引用快捷分享的项目,如果不需要,则直接引用mainlibs。对于Unity3D等只能直接引用jar的项目,可以复制mianlibs的jar到你的项目中,同时复制mainlibs的资源文件过去。这些文件是授权时需要的资源文件。接下来参考Sample项目的WechatPage里面的配置,如果需要分享文字,其ShareParams.shareType设置为SHARE_TEXT,如果仅仅只需要图片,设置为SHARE_IMAGE,在微信的两个平台中,SHARE_IMAGE和SHARE_IMAGE_TEXT是同义的,都只能分享图片(请注意,此处说的“只能分享图片”,指的是“分享的时候,你的应用只能设置分享内容中的图片”,因为事实上,微信总是会弹出一个框,让用户输入文字的,因此图文分享并不是不可以,只是分享中的文字你的应用无法设置)。微信并没有直接提供“图文分享”,所以为了模拟图文分享,请使用“SHARE_WEBPAGE”,但别忘记这个类型的图片是thumbPath,而且url字段是必须的。

编写完代码以后,不要直接run。微信注册的时候,如果你的keystore文件不是你用来调试的debugkey,是不能直接run的(事实上android程序都需要签名,平时eclipse run的时候似乎没有签名,其实adt已经用默认的debugkey给你的apk签名了,因此如果你注册应用信息时填写的keystore的md5是你的debugkey的md5,你还是可以直接run的)。因此请在测试的时候导出一个已经使用你上面注册时填写的keystore签过名的apk,然后通过adb命令行或者直接利用“豌豆荚”之类的工具安装到你的测试手机里面,这样子才可以测试。如果签名错误,微信会拒绝分享。

总的来说,一般开发者过来问:“微信为什么不能用”,我会回问他:“请问你在微信开放平台上注册了你的应用信息、包名和签名了吗?”如果他还没有,我会请他去参考SDK说明文档看第一章“签名”部分的说明。如果他已经注册了,那么(我默认他真的没填错MD5值),那么我会问:“那么你的应用已经提交审核了吗?”其实很多人会卡在第二个问题。以前微信是允许未通过审核的应用作测试的,但是现在它不允许了,所以一定要通过审核。如果第二个问题你也给了肯定,那么思考一下:“你是不是很惯性地run了?”请通过“Android Tools”—“Export Signed Application Package…”来导出一个签名的包。如果你还是给了肯定的答复,那就是麻烦的情况了:你最好检查一下你的签名值是否写错了?如果怎么检查都没有错,那是否你调用接口的时候参数传递错误了?参数是否错误,可以通过API文档或者错误的事件回调得到提醒。但是如果参数也没有错,日志也卡在微信那边了,那就应该和微信方面取得联系了。分享的时候,他们的客户端会检查你的应用,如果微信客户端认为你的应用有错误——不管是什么错误——它就会拒绝分享了,而且不给回应,不输出日志。即便是我,也不能知道原因。
  • 大小: 74.9 KB
  • 大小: 577.2 KB
  • 大小: 92.8 KB
  • 大小: 142.1 KB
  • 大小: 82.1 KB
  • 大小: 75.1 KB
  • 大小: 186.2 KB
  • 大小: 91.6 KB
  • 大小: 57.3 KB
  • 大小: 45.6 KB
  • 大小: 21 KB
  • 大小: 44.6 KB
  • 大小: 100.1 KB
  • 大小: 141.3 KB
分享到:
评论

相关推荐

    微信朋友圈分享

    总的来说,通过sharesdk集成微信朋友圈分享功能,可以让开发者更专注于应用的核心功能,而不是繁琐的社交平台对接。对于初学者来说,这是一条快速实现分享功能的捷径,同时也为经验丰富的开发者节省了大量的时间和...

    android分享(微信,朋友圈,微博等)

    Share SDK是MobTech推出的一款社交分享组件,它支持包括微信、微信朋友圈、QQ、QQ空间、微博等在内的众多社交平台。使用Share SDK可以实现一键分享,同时提供了统一的错误处理和统计功能。 三、Share SDK集成与使用...

    sharesdk一款整合了微信等各大平台分享得sdk

    1. **文本分享**:分享纯文本信息到微信朋友圈或聊天窗口。 2. **图片分享**:分享本地图片或者网络图片,支持单张或多张图片。 3. **网页链接分享**:分享带有预览图的网页链接,用户点击后可直接在微信内打开。 ...

    Sharesdk分享demo,一件分享,微信分享QQ分享

    这个“Sharesdk分享demo”是为开发者提供的一个示例项目,旨在演示如何利用Sharesdk库来实现一键分享到多个社交平台,如微信、QQ、朋友圈以及新浪微博。 1. **Sharesdk**: Sharesdk是一个社交SDK(Software ...

    新浪、腾讯微博,微信好友、朋友圈 分享

    本文将深入探讨如何实现新浪、腾讯微博以及微信的好友和朋友圈的分享功能,无需依赖第三方分享平台。 首先,我们关注的是标题提到的“新浪、腾讯微博,微信好友、朋友圈 分享”。这涉及到了三个主要的社交平台:...

    Android_ShareSDK

    通过以上步骤,你就可以在你的Android应用中实现使用ShareSDK与微信朋友圈的集成,让用户轻松分享内容,提高应用的可见性和用户参与度。记得在实际开发中根据具体需求进行调整,例如添加对其他社交平台的支持,处理...

    Android studio集成ShareSDK示例

    以上代码展示了如何配置微信、微信朋友圈和QQ空间的AppId和AppSecret,然后创建了一个分享参数对象,设置了分享的标题、内容、图片和链接。 **步骤五:处理分享结果** 为了监听分享操作的结果,你需要重写`...

    一键分享功能【集成sharesdk】

    4. **分享平台的选择**:sharesdk支持多种社交平台,如微信朋友圈、微信好友、QQ空间、QQ好友、微博等。开发者需要根据用户的偏好,显示一个可选择的列表供用户选择分享的平台。 5. **事件处理与回调**:当用户选择...

    微信分享、邮件分享demo下载

    微信分享是移动应用中常见的一种功能,它允许用户将应用程序内的内容,如文本、图片、链接等,一键发送到微信朋友圈、微信好友或者微信群。在本demo中,开发者已经集成了微信分享的功能,用户可以快速体验如何在自己...

    ShareSDK分享到微博,腾讯,QQ,短信等

    1. **多平台支持**:ShareSDK 支持众多社交平台,包括但不限于新浪、腾讯微博,QQ空间,微信朋友圈,微信聊天,短信,邮件等。这意味着用户可以选择他们最常用的社交平台进行分享,提高分享的便捷性和成功率。 2. *...

    新版本shareSDK的使用

    如果分享内容需要用户授权,如发布到微信朋友圈,ShareSDK也提供了相应的登录授权接口。用户授权后,我们可以通过`AuthInfo`对象获取用户信息。 9. **处理授权状态** 在使用ShareSDK分享之前,需要检查用户是否...

    ShareSDK超级强大的社会化分享(强大分享界面UI)

    1. **多平台集成**:ShareSDK支持包括微信、QQ、微博、豆瓣、Facebook、Twitter等国内外主流社交媒体平台的分享。开发者只需要通过ShareSDK的API就能将应用的内容一键分享到这些平台,大大简化了开发流程。 2. **...

    UnityShareSDK

    2. **内容分享**:提供分享到QQ、微信朋友圈、微信好友、支付宝等平台的功能,支持文本、图片、链接等多种形式的内容分享。 3. **好友邀请**:允许用户邀请社交网络上的朋友一起玩游戏,扩大用户基础。 4. **社交...

    Android-ShareLoginLib是一个类似于友盟的shareSDK的第三方登录分享库

    它支持文本、图片、链接等多种内容类型的分享,用户可以选择将内容分享到QQ空间、微信朋友圈、微博等社交平台。这种跨平台的分享能力,使得应用的内容能够迅速传播,提高应用的曝光度和用户活跃度。同样,...

    基于Share SDK的第三方分享

    - 微信分享:包括微信朋友圈、微信聊天、微信收藏等多种分享场景,同样支持各种媒体类型。 - QQ分享:覆盖QQ空间、QQ好友等,同样支持文本、图片、链接等分享内容。 3. **集成步骤**: - 引入Share SDK的库文件...

    android一键分享、指定分享、第三方登录demo

    例如,如果你想让用户只分享到微信朋友圈,可以这样做: 1. 创建ShareAction对象。 2. 设置分享类型,如文本、图片等。 3. 添加目标平台,例如WechatMoments。 4. 执行分享操作。 最后,我们来看"第三方登录"。第...

    一键分享轻松易懂

    例如,分享到微信朋友圈的代码可能如下: ```java ShareParams shareParams = new ShareParams.Builder() .setTitle("一键分享") .setDescription("这是一个方便快捷的分享功能") .setText("快来试试吧!") ....

    第三方分享

    5. **调用分享接口**:选择合适的分享类型(如好友、朋友圈、微博等),调用相应的分享接口,ShareSDK会自动处理分享流程。 6. **处理回调**:ShareSDK提供了丰富的回调接口,可以监听分享状态,如成功、失败、取消...

    ShareSDKforUnity

    例如,用户可以将游戏成就、精彩瞬间或者邀请码分享到朋友圈,吸引更多的朋友加入游戏,从而提高游戏的曝光率和活跃度。 除了基本的登录和分享功能,ShareSDK还提供了好友邀请、排行榜等功能,这些都极大地丰富了...

    安卓App分享

    例如,你可以设定分享到朋友圈的图文消息,或者分享到微博的纯文本。ShareSDK通常会提供一个统一的接口,允许开发者根据不同的社交平台定制分享内容。 5. **处理分享结果** 当用户完成分享操作后,ShareSDK会回调...

Global site tag (gtag.js) - Google Analytics