当前位置:首页 » 网页前端 » sharesdkforweb
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sharesdkforweb

发布时间: 2022-05-04 09:16:09

A. android sharesdk 分享之后回调怎么写

android shareSDK 微博分享案例

ShareSDK
APP_KEY 219b1121fc68

腾讯微博
key 801517904
secret

新浪微博
key 3815341537
secret

包名+keySotre签名:

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

准备阶段:

使用ShareSDK步骤
1. ShareSDK官网,创建应用 获取Key
2. ShareSDK官网,下载SDK
3. 使ShareSDK的DEMO正常运行
(类库:ShareSDK for Android
demo:ShareSDK for Android Sample)
4.创建新的项目
5.去各平台注册key
新浪微博:
a.证书签名需要个人证书导出项目时获取到
MD5 : 91:F0:5B:CE:67:58:F1:A1:E8:70:A4:F3:FA:5F:87:1B
证书格式为小写字母并不含:


6.sample里所有的图片以及values拷入当前新的项目:
此时需要修改 main_activity.xml and menu.xml 中跟 @String/ 有关的信息!
7.sample里asset里Sharesdk.xml拷入当前新的项目,并且修改指定内容
RedirectUrl:如果指定授权回调页,就填写回调页,如没有,就填写应用网址
8.需要把sample里mainifest中的权限拷入当前新的项目
9.sample里mainifest中的ShareSDKUIShell,activity注册到当前新的项目中,代码如下:
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>
10.拷入需要用到的jar包
必拷:mframework.jar
必拷:ShareSDK-Core-2.3.8jar
分享指定平台:
ShareSDK-XXX.jar

11.将onkeyshare包拷贝到当前项目中

分享步骤:
***************************
1.初始化ShareSDK
ShareSDK.init(this);
2.设置指定平台
Platform p=ShareSDK.getPlatform(XXX.NAME);
3.设置平台监听器
p.setPlatform
AcitonListener{

1.error

2.complete

3.cancel
}
4.进行授权
p.rauthorize();
5.重写平台监听器中的complete
获取某平台参数对象
Platform.ShareParams ps=
new XXX.ShareParams();
添加要分享的数据
ps.setText/setImageUrl/set..
分享

p.share(ps);

分享案例代码:

[html] view plainprint?
package com.example.lovesharesdkdemo;

import java.util.HashMap;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.tencent.weibo.TencentWeibo;

public class MainActivity extends Activity {

private Platform platform;

private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1 初始化SDK
ShareSDK.initSDK(getApplicationContext());
//2.设置指定平台
platform = ShareSDK.getPlatform(TencentWeibo.NAME);
//3 获取组件 注册事件
textView = (TextView) this.findViewById(R.id.buttton);
textView.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
//TOFO 分享SDK
getShareSDK();
}

private void getShareSDK() {
//3 给平台添加 listener
platform.setPlatformActionListener(new PlatformActionListener() {

@Override
public void onError(Platform arg0, int arg1, Throwable arg2) {
// TODO error useful
Log.i("error", "---error="+arg2.getLocalizedMessage());
}

@Override
public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
// TODO finished useful

//设置分享的参数:
TencentWeibo.ShareParams shareParams = new TencentWeibo.ShareParams();

shareParams.setText("美女的世界");
shareParams.setImageUrl("http://t12..com/it/u=750616964,1500186643&fm=59");

// 分享
platform.share(shareParams);
}

@Override
public void onCancel(Platform arg0, int arg1) {
// TODO cancel

B. 如何使用ShareSDK让APP快速拥有分享功能

Android 集成指南 1 获取ShareSDK 为了集成ShareSDK,您首先需要到ShareSDK 官方网站注册并且创建应用,获得 ShareSDK 的Appkey,然后到SDK 的下载页面下载SDK 的压缩包,解压以后可以得到 下图的四个目录: 其中的Libs 包含ShareSDK 的类库,Src 包含集成微信和新浪微博需要的回调,Res 是 开发者信息示例,而Sample 则包含一个完整的操作演示。 Libs 里具体包括三个文件夹,分别是ShareSDK 的全局依赖库、ShareSDK 当前支持的 所有平台工具库和ShareSDK 可视化UI 的一些支持库。“全局依赖库”是集成ShareSDK 的基础,ShareSDK 的任何平台都依赖于这个库,而“ShareSDK-GUI”提供的是一个侧栏 控件和一个快捷分享工具,以方便开发者更快速地集成ShareSDK。 2 快速集成 2-1 导入Libs 1) 将“Libs\Global-Dependences”下的jar 包复制到您的libs 目录下。 2) 从“Libs\Platforms”中选择您感兴趣的平台,比方说“新浪微博”、“QQ 空间”、“腾讯 微博”等,复制相应的压缩包您项目的libs 目录下并解压,解压过程中如遇覆盖提示, 请同意覆盖。 3) 如果您决定使用ShareSDK 提供的快捷分享工具,请复制“Libs\ShareSDK-GUI”中复 制“cn.sharesdk.onekeyshare.jar”到您项目中。 4) 如果您的开发环境不能自动加载ShareSDK 的jar 包到您的项目中,请修改您项目 的构建路径,将上述jar 包添加到您的项目中。下图以Eclipse 为例,展示添加后的效果: 2-2 添加代码 1) 打开您项目的入口Activity,在其onCreate 中插入下面的代码: ? 1 AbstractWeibo.initSDK(this); 这行代码用于初始化ShareSDK,必须在程序启动之时调用。 2)使用下面的代码,调用ShareSDK 快捷分享功能: 分享时Notification 的图标 ? 01 02 03 04 05 06 07 08 09 Intent i = new Intent(this, ShareAllGird.class); // 分享时Notification 的图标 i.putExtra("notif_icon", R.drawable.ic_launcher); // 分享时Notification 的标题 i.putExtra("notif_title", getString(R.string.app_name)); // 分享内容的标题(仅部分平台需要此字段) i.putExtra("title", "ShareSDK Demo"); // 分享内容的文本 i.putExtra("text", "share at: " + System.currentTimeMillis()); 10 11 12 13 14 15 // 分享内容的本地图片路径(为null 或文件不存在表示不分享图片) i.putExtra("image", Environment.getExternalStorageDirectory () + "/ssdk.png"); // 分享内容的网络图片地址(仅部分平台需要此字段) i.putExtra("image_url", "http://sharesdk.cn/Public/Frontend/images/logo.png"); // 设置是否跳转内容编辑页面,true 表示不跳转,不传递表示false(跳转) i.putExtra("silent", silent); startActivity(i); 3) 如果您的项目中集成微信平台,请将“Sample/src/cn/sharesdk/demo”中的“wxapi” 目录复制到您的项目主包下。 4) 如果您的项目中集成微博平台,请将“Sample/src”中的“com”目录复制到您的项目 中。 2-3 添加开发者信息 ShareSDK 使用统一的格式管理您在不同平台上注册的开发者信息。这些信息都存放在 您项目的“assets/ShareSDKDevInfor.xml”中。请到“Res”中将ShareSDKDevInfor.xml 复 制到您项目的对应位置,打开文件,然后根据不同的平台的数据,如下面的例子所示, 替换您在这个平台上的开发者信息: ? 1 2 3 4 5 6 7 2-4 配置AndroidManifest.xml 1) 请在您项目的AndroidManifest.xml,添加了如下的所有权限: ? 1 2 3 4 5 6 7 8 这些权限将允许您的项目和ShareSDK 获取连接网络的权限、获取您的设备网络状态的 权限、实现https 安全连接的权限、读取手机设备状态的权限和保存必要配置的权限。 一般来说,即便不集成ShareSDK,大部分的项目也都会注册申请这些权限。 2)在application 下注册下面的Activity: ? 1 2 3 4 5 6 7 3)如果您的项目集成为微信和新浪微博,在application 下注册下面的Activity: ? 01 02 03 04 05 06 07 08 09 104)如果您的项目集微信,在application 下注册下面的Activity: ? 1 2 3 4 5 5)如果您使用ShareSDK 的快捷分享工具,在application 下注册下面的Activity: ? 01 02 03 04 05 06 07 08 09 2-5 签名 对于ShareSDK 的大部分平台,只要您将其jar 包和依赖集成到您的项目以 后就可以开始进行工作了。但是对于微信的两个平台却不行。因为微信开放平台要求 android 的第三方开发者需要提供自己项目的信息和签名指纹数据。为了演示分享功能 Sample 包中携带了一个"demokey.keystore"的keystore 文件,其密码是“123456”,如 果您在调试SSDKDemo 的时候集成了微信的平台,就需要使用这个keystore 对apk 进 行签名,之后才能尝试微信的分享。 3 主要功能解释 ShareSDK 使用同一的接口实现不同平台的同类操作,如:授权、分享、关注等等。因 此开发者可以在不理会平台差异的情况下,简单使用一句代码完成不同平台的各种操作。 3-1 获取已集成的平台列表 下面的代码演示获取已经集成到您项目中的ShareSDK 平台列表: ? 1 AbstractWeibo[] weiboList = AbstractWeibo.getWeiboList(context) 返回的列表中平台的排列顺序依照您在ShareSDKDevInfor.xml 中为其配置的SortId 来 定。 请注意,此方法在第一次调用的时候可能会比较耗时,因此不建议在主线程中调用。 3-2 通过名字获取指定平台实例 除了getWeiboList 的方法可以获取到平台实例以外,如果您想单独获取某一个平台的实 例,还可以利用下面的方法,若获取腾讯微博的实例: ? 1 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, TencentWeibo.NAME); 其中的,其中的TencentWeibo.NAME 是腾讯微博平台的静态字段,每一个平台都有一 个NAME 的字段,表示其名字。 3-3 设置操作回调 不论利用ShareSDK 进行何种操作,如果希望得到操作的结果,都必须为执行操作的平 台设置WeiboActionListener 的回调。下面的代码演示对腾讯微博绑定 WeiboActionListener 的方法: ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, TencentWeibo.NAME); weibo.setWeiboActionListener( new WeiboActionListener() { public void onError(AbstractWeibo weibo, int action, Throwable t) { // 操作失败的处理代码 } public void onComplete(AbstractWeibo weibo, int action, HashMap res) { // 操作成功的处理代码 } public void onCancel(AbstractWeibo weibo, int action) { // 操作取消的处理代码 } } ); 3-4 授权 手动授权并不是必要的操作,但是ShareSDK 提供手动的授权操作,如下面的代码演示 新浪微博的授权操作: ? 1 2 3 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.authorize(); 授权结果将通过WeiboActionListener 接口返回。 3-5 获取用户资料 下面的代码演示新浪微博获取资料的方法,其他的平台(微信除外)也支持类似的操作: ? 1 2 3 String account = "3189087725"; AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.showUser(account); 其中account 是准备获取资料的帐号,如果account 为null,则表示获取授权账户自己 的资料。 获取资料前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执行授权操作。 3-6 分享 下面的代码演示通用的分享操作(QQ 空间、印象笔记请参考另外更合适其平台特性的 接口): ? 1 2 3 4 5 String text = “测试分享的文本”; String image = “/mnt/sdcard/测试分享的图片.jpg” ; AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.share(text, image); 其中的text 是分享的文本内容,image 是分享图片的本地路径。 微信好友和微信朋友圈的分享,应该使用新的分享接口,具体操作可以参考Sample 中 的相关例子,下面的例子展示使用微信分享网页的方法: ? 1 2 3 4 5 6 7 8 AbstractWeibo weibo = AbstractWeibo.getWeibo(menu.getContext(), Wechat.NAME); weibo.setWeiboActionListener(this); String title = "这是标题"; String text = "这是文本内容"; String url = "http://sharesdk.cn"; String thumbUrl = "/mnt/sdcard/网页缩略图.jpg"; weibo.share(AbstractWeibo.SHARE_WEBPAGE, title, text, url, thumbUrl); 其中的share(int, Object…)方法是新版本添加的分享接口,暂时支持微信两个平台的分 享,但后续版本的分享功能会往这个方法迁移。 QQ 空间调用下面的接口更适合其平台特性: ? 1 2 3 4 5 6 String title = “测试分享的标题” String text = “测试分享的文本”; String imageUrl = “[url]http://www.someserver.com/[/url]测试分享的图片.jpg” AbstractWeibo weibo = AbstractWeibo.getWeibo(context, QZone.NAME); weibo.setWeiboActionListener(waListener); weibo.share(title, null, null, text, imageUrl, "ShareSDK", "http://www.sharesdk.cn"); 对于接口的详细解释,请参考QQ 登录平台的add_share 接口。 印象笔记的分享内容需要携带笔记标题,因此调用下面的接口更为合适: ? 1 2 3 4 5 6 String title = “测试分享的标题” String text = “测试分享的文本”; String image = “/mnt/sdcard/测试分享的图片.jpg” AbstractWeibo weibo = AbstractWeibo.getWeibo(context, Evernote.NAME); weibo.setWeiboActionListener(waListener); weibo.save(title, text, image); 对于印象笔记,分享的share 接口依然可用,但是更好的接口是save。 执行分享前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执行授权操作。 信息和邮件分享功能使用send 接口,具体例子如下: ? 1 2 3 4 5 6 7 String address = ”10086”; String title = “测试分享的标题” String text = “测试分享的文本”; String image = “/mnt/sdcard/测试分享的图片.jpg” AbstractWeibo weibo = AbstractWeibo.getWeibo(context, ShortMessage.NAME); weibo.setWeiboActionListener(waListener); ((ShortMessage) weibo).send(address, title, text); 短信的分享只支持SMS 分享,如果直接分享MMS,则分享结果无法获取。至于邮件, 不管分享方式如何,都无法直接获取分享结果。 执行分享前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执行授权操作。 3-7 关注指定用户 当前的ShareSDK 已经实现了新浪微博和腾讯微博的关注功能,下面的代码演示腾讯微 博的关注操作: ? 1 2 3 4 String account = "shareSDK"; AbstractWeibo weibo = AbstractWeibo.getWeibo( context,TencentWeibo.NAME); weibo.setWeiboActionListener(waListener); weibo.followFriend(account); 执行关注前ShareSDK 会自行判断平台是否已经授权,若未授权,会自行执 行授权操作。 3-8 获取平台数据库 ShareSDK 将每一个平台的授权数据都缓存在SharedPreferences 中,并且相互独立。 如果你希望获取任何一个平台的授权数据,可以像下面这样子做: ? 1 2 3 4 AbstractWeibo weibo = AbstractWeibo.getWeibo(this, TencentWeibo.NAME); String accessToken = weibo.getDb().getToken(); String openId = weibo.getDb().get("openid"); // 接下来执行你要的操作 不同平台都会缓存access token 等信息,可以通过getToken()或者setToken()进行操 作。此外,开发者还可以通过直接get()某个字段的办法,获取其数据,如上面通过“openid” 字段获取到腾讯微博的openId。 3-8 取消授权 下面的代码演示新浪微博取消授权的操作: ? 1 2 AbstractWeibo weibo = AbstractWeibo.getWeibo(context, SinaWeibo.NAME); weibo.removeAccount(); 此接口不需要WeiboActionListener,所以直接调用即可。

C. ios 中第三方分享 是怎么 实现的

(1)官方下载ShareSDKiOS2.8.8

D. sharesdk for web 怎么只利用登录功能

使用ShareSDK步骤 1. ShareSDK官网,创建应用 获取Key 2. ShareSDK官网,下载SDK 3. 使ShareSDK的DEMO正常运行 (类库:ShareSDK for Android demo:ShareSDK for Android Sample) 4.创建新的项目 5.去各平台注册key!

E. 如何查看ShareSDK返回的错误码

使用ShareSDK步骤 1. ShareSDK官网,创建应用 获取Key 2. ShareSDK官网,下载SDK 3. 使ShareSDK的DEMO正常运行 (类库:ShareSDK for Android demo:ShareSDK for Android Sample) 4.创建新的项目 5.去各平台注册key!
步骤如下:
打开网站或者要知道这个有没有设置404的网站
在网站的域名后边一个不存在的路径
例如:“”这样一个不存在的路径
如果设置了404页面会提升你这个页面不存在点击返回首页或者等待几秒返回
如果没有设置404错误页面输入错误的路径会显现一下英文出现在网页上,没有返回首页的选项和提升
如果是要做网站优化建议做上404页面利于用户的体验

F. android sharesdk 分享成功执行的什么方法

使用ShareSDK步骤
1. ShareSDK官网,创建应用 获取Key
2. ShareSDK官网,下载SDK
3. 使ShareSDK的DEMO正常运行
(类库:ShareSDK for Android
demo:ShareSDK for Android Sample)
4.创建新的项目
5.去各平台注册key
新浪微博:
a.证书签名需要个人证书导出项目时获取到
MD5 : 91:F0:5B:CE:67:58:F1:A1:E8:70:A4:F3:FA:5F:87:1B
证书格式为小写字母并不含:

b.授权回调页:https //api weibo com/oauth2/default.html
6.sample里所有的图片以及values拷入当前新的项目:

此时需要修改 main_activity.xml and menu.xml 中跟 @String/ 有关的信息!

7.sample里asset里Sharesdk.xml拷入当前新的项目,并且修改指定内容
RedirectUrl:如果指定授权回调页,就填写回调页,如没有,就填写应用网址
8.需要把sample里mainifest中的权限拷入当前新的项目
9.sample里mainifest中的ShareSDKUIShell,activity注册到当前新的项目中,代码如下:
<activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"android:configChanges="keyboardHidden|orientation|screenSize"android:windowSoftInputMode="stateHidden|adjustResize" >
</activity>
10.拷入需要用到的jar包
必拷:mframework.jar
必拷:ShareSDK-Core-2.3.8jar
分享指定平台:
ShareSDK-XXX.jar
11.将onkeyshare包拷贝到当前项目中

分享步骤:

***************************
1.初始化ShareSDK
ShareSDK.init(this);
2.设置指定平台
Platform p=ShareSDK.getPlatform(XXX.NAME);
3.设置平台监听器
p.setPlatform
AcitonListener{

1.error

2.complete

3.cancel
}
4.进行授权
p.rauthorize();
5.重写平台监听器中的complete
获取某平台参数对象
Platform.ShareParams ps=
new XXX.ShareParams();
添加要分享的数据
ps.setText/setImageUrl/set..

G. 如何在微信里一键唤醒实现App

由于微信已经占据了大家大部分时间,作为推广app来说是再好不过,用户如果成功打开了app已经算成功的第一步,如何吸引用户是内容的问题,但是当你想让用户在app内进行更多的操作的时候,怎么先让用户在微信内直接唤醒app来提高app的使用率呢?

传统的方法有一下几种:
1,微信内部的白名单,可以把自己的app加到白名单里,你就可以畅通无阻。但不是微信的亲儿子恐怕难以实现。

2,应用宝,可以上架应用宝,在微信浏览器内点击“立即下载”,等微信内跳转到应用宝,应用宝跟APP store有合作,自动点击并且跳转至下载详情页,安装了用户点击【打开】按钮,就可以唤醒app了。但是此举操作麻烦不适合用在推广上。

3, 微信右上角有个“更多”,点击后选择在浏览器中打开,带着参数跳转到浏览器中,可以判定是否安装、是否登录等动作了。

以上三种基本可以劝退,传统的走不通,这时候就要用到微信唤起app接口,简单来说就是点击链接或二维码直接可以唤起app,跳过微信打开app,避免被拦截,这个接口可以说实用性很高,给推广app 的人员来说带来了很大的便捷。

H. android sharesdk分享微信小图标怎么去掉

如何在Cocos2d-x中集成安卓版微信SDK 方法/步骤 1.如果能在Cocos2d-x中集成微信SDK,让游戏能分享给好友或者朋友圈,那对游戏推广将会是非常有利的。好了,本文就是手把手地教大伙如何在Cocos2d-x中集成微信SDK。 先看下效果分享给好友,点击即可跳转链接: 分享到朋友圈,点击即可跳转链接: 2.环境 OS: Mac OSX IDE: Xcode v5.11 and Eclipse ADT v22.3 Android SDK:4.3 Adnroid NDK:r9d Cocos2d-x 3.2release 3.创建Cocos2d-x工程这里不再详述,网上的资料多如牛毛了。这里我按自己习惯的方式来。(1)命令行创建Cocos2dxWechat项目 $ cocos new -p com.fusijie.cocos2dxwechat -l cpp -d . Cocos2dxWechat (2)交叉编译生成so文件 $ cd Cocos2dxWechat/proj.android/ $ ./build_native.py (3)导入Eclipse生成APK导入libcocos2dx项目和Cocos2dxWechat项目到Eclipse中。在真机中成功运行Cocos2dxWechat.apk。4.申请创建微信应用这一步主要是在微信开放平台上申请创建移动应用,获取AppID。微信开放平台的网址(1)注册帐号,进入管理中心,点击创建移动应用。(2)第一步是填写应用名,描述,图标等等。如下图。 (3)填写应用官网,勾选Android应用,填写签名,包名等等。如下图。 注意:这里需要特别注意的是应用签名这一项。在第三步的时候,真机中成功运行Cocos2dxWechat.apk之后,我们需要从微信开放平台下载一个签名生成软件GenSignature 安装签名生成后,打开软件输入游戏包名获取即可。 这里的签名和游戏的包名和keystore是相关联的,如果修改了包名或者更换了keystore,必须同步更新微信开放平台管理中心的信息,防止失效。本示例采用的是debug签名。在完成以上工作后,提交审核即可。说是7天,实际上一般1~2天就审核过了。5.集成微信SDK刚才都是铺垫,这里开始才是进入主题了。要在Cocos2d-x调用微信安卓SDK,Jni跑不掉的。这里只演示如何进行分享到朋友圈和分享给好友,微信SDK还有很多高级的功能,如支付,收藏等等接口,有需要自行参考文档(移动应用开发)进行开发。 这里主要分成3部分来解释: 微信SDK下载,jar包导入 Android代码 C++代码 (1)下载微信SDK (2)打开下载的Android_SDK.zip。解压,将lib目录下的libammsdk.jar拷到Cocos2dxWechat项目下的libs目录。(3)右键单击工程,选择Build Path中的Configure Build Path...,选中Libraries这个tab,并通过Add Jars...导入工程libs目录下的libammsdk.jar文件。 (4)在AppActivity中添加成员变量 private static final String APP_ID = "wx81115d2aa55710fa";//AppID,从第四步获取 private static IWXAPI api;//微信API接口 private static AppActivity instance;//类静态实例,为了方便后面静态函数的调用 (5)注册到微信打开AppActivity,在onCreate()中调用regToWX()注册到微信 protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); instance = this; regToWX(); } private void regToWX(){ api = WXAPIFactory.createWXAPI(this, APP_ID, true); api.registerApp(APP_ID); } (6)由于这里采用的分享示例传递了一张icon,所以需要额外的一个bitmap的解析类Util类,这个类可以到微信官方SDK demo下载,也可以在本示例中下载(早期的SDK版本这个类是集成在微信SDK中)。icon放在res目录下的drawable目录,我这里偷个懒直接使用了应用icon。(7)分享给好友 public static void sendMsgToFriend(){ if(api.openWXApp()) { WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = ""; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "Tittle"; msg.description = "Description"; Bitmap thumb = BitmapFactory.decodeResource(instance.getResources(), R.drawable.icon); msg.thumbData = Util.bmpToByteArray(thumb, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("webpage"); req.message = msg; req.scene = SendMessageToWX.Req.WXSceneSession; api.sendReq(req); } else { Toast.makeText(instance, "未安装微信", Toast.LENGTH_SHORT).show(); } } (8)分享到朋友圈 public static void sendMsgToTimeLine(){ if(api.openWXApp()) { if(api.getWXAppSupportAPI() >= 0x21020001) { WXWebpageObject webpage = new WXWebpageObject(); webpage.webpageUrl = ""; WXMediaMessage msg = new WXMediaMessage(webpage); msg.title = "Tittle"; msg.description = "Description"; Bitmap thumb = BitmapFactory.decodeResource(instance.getResources(), R.drawable.icon); msg.thumbData = Util.bmpToByteArray(thumb, true); SendMessageToWX.Req req = new SendMessageToWX.Req(); req.transaction = buildTransaction("webpage"); req.message = msg; req.scene = SendMessageToWX.Req.WXSceneTimeline; api.sendReq(req); } else{ Toast.makeText(instance, "微信版本过低", Toast.LENGTH_SHORT).show(); } } else { Toast.makeText(instance, "未安装微信", Toast.LENGTH_SHORT).show(); } } 其中buildTransaction()用于生成一个唯一的会话标识符。 private static String buildTransaction(final String type) { return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis(); } 代码不难,所以不再逐行解释,可以参考SDK文档。(9)JNI调用在Classes目录下新建一个WeixinShare类,主要包含2个静态函数: void WeiXinShare::sendToFriend() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) //判断当前是否为Android平台 JniMethodInfo minfo; bool isHave = JniHelper::getStaticMethodInfo(minfo,"org/cocos2dx/cpp/AppActivity","sendMsgToFriend", "()V"); if (!isHave) { log("jni:sendMsgToFriend is null"); }else{ //调用此函数 minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID); } #endif } void WeiXinShare::sendToTimeLine() { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) //判断当前是否为Android平台 JniMethodInfo minfo; bool isHave = JniHelper::getStaticMethodInfo(minfo,"org/cocos2dx/cpp/AppActivity","sendMsgToTimeLine", "()V"); if (!isHave) { log("jni:sendMsgToTimeLine is null"); }else{ //调用此函数 minfo.env->CallStaticVoidMethod(minfo.classID, minfo.methodID); } #endif } (10)Cocos2d-x使用这个就比较简单了,只要包含这个WeiXinShare类,调用这两个静态函数即可。 void HelloWorld::menuCloseCallback(Ref* pSender) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) //WeiXinShare::sendToFriend(); WeiXinShare::sendToTimeLine(); #endif } (11)Android.mk的修改最后不要忘记修改Android.mk文件。 复制代码 LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp \ ../../Classes/WeiXinShare.cpp (12)重新交叉编译,打包为APK即可6.总结本文写的比较详细,但是也忽略了比如如何接收微信的请求及返回值的说明以及如何进行混淆等等,算是一个初级教程吧。主要是面向对jni调用,第三方安卓sdk集成不太了解的朋友。这里虽然只是针对微信sdk的部分功能集成进行说明,但是道理都是共通的,如何集成微博分享,如何集成第三方广告等等,用类似的方法都可以实现。

I. Android 中如何集成vk官方平台分享

就是将一些文本分享给你的微信好友或者微信的朋友圈。
由于之前有过做新浪微博、QQ、人人网第三方登录的经验,所以我很自然的就去微信的开发者平台去下SDK,注册我的应用。麻烦的事情就来了。

微信的官方demo想运行起来真心难啊,而且官网上面居然资料很少。坑。。。。。。。。
运行微信的官方demo
下面我来说一下运行微信的官方demo:
首先去开发者平台的资源中心-->点击资源下载-->选择android资源下载-->下载范例代码(HelloWeixin@Android)。

1、将该项目导入eclipse。
2、导入的目录结构

3、现在运行肯定不行的。点击Windows-->Preference

将demo中自带的debug.keystore的路径写入到Custom debug deystore.
4、现在就可以运行了。

我真是服了微信了,做的简直不人性化。用官方的集成简直就是要命。

为什么要设置Custom debug deystore??
因为微信有自身的限制。它需要你在注册该应用的时候,填写应用签名,这个签名就是你要最终打包发布使用的签名的加密MD5值。具体就是你先用这个签名打个包,然后在你的手机里面运行,然后在微信的官网下一个获取签名MD5值的工具(开发者平台-->资源中心-->资源下载-->android资源下载-->签名生成工具)。
官方的demo如果不设置这个Custom debug deystore,默认是使用eclipse提供的签名,这个签名和demo的本身的签名肯定不一致的。所以我们分享的时候是不成功的。

再吐槽一下,微信的接口写的真是奇葩,我分享不成功还返回ture,而且什么提示都没有,简直垃圾。

ShareSDK集成步骤
经历了这些,我以为应该可以自己集成了吧。可悲的是我整了两天都没成功分享。我确定了APPID、签名、应用包名、应用名称与注册的信息一模一样,TMD就是分享失败。最后没办法,我只能放弃了官方的SDK,使用了ShareSDK集成。

不得不说真心强大。微信、易信、微博都可以集成。官网地址:http://mob.com/
点开选择SDK下载-->ShareSDK社会化分享-->ShareSDK For Android.

强大的一笔。刚看见这个的时候不知从哪边下手。
然后参考http://wiki.mob.com/Android_ShareSDK%E5%AE%8C%E6%95%B4%E7%9A%84%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3
这个集成文档,基本就可以搞定了。大致说一下步骤:
首先必须要在ShareSDK里面注册你的应用,非常简单的,只填写基本信息就行,一路next获取Appkey、App Secret。

1、下载SDK页面选择"打包下载SDK",这个下载的里面包含依赖的项目

将下载的文件解压得到:
http://blog.csdn.net/dalancon/article/details/39322159

J. 电商App如何让用户直接打开商品详情页

但是作为程序员,开发者,如何在技术上助力电商平台的运营,引进更多的用户呢。其实,问题也就是怎么实现点击分享商品的链接就能直接打开App。目前MobTech、Umeng、Jshare平台都有相关业务功能提供,推荐您使用MobTech的ShareSDK,可以做到Web到App的无缝链接,集成速度很快,操作便利,兼容性强,并且完成免费。