友盟分享——Android App接入微信开放平台注意事项
一、Android第三方应用接入微信开放平台的注意事项:
1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名、app签名的md5值。至于如何获取app签名信息,官方提供签名包apk
(http://open.weixin.qq.com/download/sdk/gen_signature.apk)
2. 如果只是测试或debug,可以用临时AppID(到官网申请但不需要通过审核)。
二、如何运行SDK Demo?(“分享到好友”之后没反应)自己的App呢?
1. Eclipse打开Window->Preferences,在弹出的对话框中,选择Android目录下的Build,指定Custom debugkeystore选项的路径为sdk demo工程目录中的debug.keystore文件。
2. 在自己的App里,记得把debugkeystore改回来(改成当前用户目录)。并且,debug和正式App的AppID记得切换。
三、如何App中实现微信分享?
1. 申请AppID。
2. 下载微信sdk库:libammsdk.jar。
3. 将jar放入app\libs\。
4. 代码中:createWXAPI和registerApp来注册到微信,isWXAppInstalled和isWXAppSupportAPI来判断微信客户端是否安装及安装的版本是否支持微信开放平台,isTimeLineSupportedVersion用于判断微信是否支持朋友圈。
四、如何让我们的App接收到微信的反馈?
1. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity,并在manifest文件里面加上exported属性,设置为true。
2. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法。
3. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法。当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。
五、其他注意事项:
1. 是不是必须在WXEntryActivity里发送sendReq及WXEntryActivity必须被调用?
WXEntryActivity可以不被调用,在sendReq后微信有响应就会到WXEntryActivity的onReq,所以一般onReq里Toast发送结果后需要finish(),这样直接返回到发送sendReq的UI(用户感觉不到有WXEntryActivity的存在)。
2. 如何发送到好友与朋友圈?
a. 发送到好友:SendMessageToWX.Req的scene成员,填WXSceneSession。
b. 发送到朋友圈:SendMessageToWX.Req的scene成员,填WXSceneTimeline(微信4.2以上支持,如果需要检查微信版本支持API的情况, 可调用IWXAPI的getWXAppSupportAPI方法,0x21020001及以上支持发送朋友圈),那么消息会发送至朋友圈。
c. scene默认值为WXSceneSession。
3. 如何发送图片同时显示title及description?
SDK分享信息发送WXMediaMessage中包含WXImageObject,发送后没有显示title和description,这是由于微信客户端对话框中对图片只会呈现其缩略图,标题和描述文字会自动忽略。
替代办法:
a. 对于分享到好友:以WXFileObject代替WXImageObject,在发送之前截图保存到sdcard,然后发送时设置setFilePath,这样在微信接收方点击缩略图后会提示是否接收文件并显示。
b. 对于分享到朋友圈:由于朋友圈不支持文件传输,只能发送WXImageObject,title及description无法显示。
参考:
友盟分享——Android App接入微信开放平台注意事项的更多相关文章
- Android App接入微信开放平台注意事项
一.Android第三方应用接入微信开放平台的注意事项: 1. 到微信开放平台官网申请正式的AppID(需通过审核),要填写包名.app签名的md5值.至于如何获取app签名信息,官方提供签名包apk ...
- ios应用接入微信开放平台
前几天试了一下服务端接入微信公众平台,昨天又看了一下APP接入开放平台 开放平台和公众平台的差别 公众平台针对的是公众账号,除了提供管理后台之外.也开放了若干接口,让微信server和开发人员自己的应 ...
- 友盟分享--集成QQ和微信
随着社交工具的应用范围越来越广,分享一些内容的功能也开始要求实现了. 用得比较多的第三方,比如说友盟,比如说Share等等... 前几天刚用友盟写了集成QQ和微信客户端的功能,觉得有必要分享一下. 在 ...
- Unity接入友盟分享遇到的坑
最近项目接了一下友盟分享的SDK,中间遇到了几个坑,写下几条注意事项记录一下. 接入之前需要准备友盟开发者账号,相应平台开发者账号(微信.QQ.新浪微博)等... 安卓端: 1.确保 AndroidM ...
- Android 友盟分享躺过的几个坑,大坑,坑爹啊
前言:公司上线了一个项目,做Android 客户端集成友盟分享,在做得过程中,遇到了下面3个问题,希望其他小伙伴注意. ) 错误1: 1.错误描述 我是照着友盟的集成文档一步一步的集成的,做完后,发现 ...
- Android 友盟分享详细集成过程及所遇问题解决
最近项目需要针对微信.朋友圈.QQ.QQ空间集成友盟分享的功能,说实话,我也是第一次做,期间碰到过很多问题,这篇随笔就来写一下我是怎么集成友盟分享的,还有碰到哪些问题,都是怎样解决的! 其实集成友盟并 ...
- Android app 第三方微信支付接入详解
微信支付做了好几遍了,都没有出现什么棘手的问题,下面一一为大家分享一下,欢迎吐槽. 还是老样子,接入微信的支付要第一步添加微信支付官方的包libammsdk.jar 首先就处理略坑的一个问题,app应 ...
- iOS 微信支付SDK与微信友盟分享两者同时集成时,出现的问题与解决之路。
这两天改版一个旧的APP,要旧貌换新颜,拿到app后进行编译,一直报下面的错误. 报不认识的符号名PayReq错误.奇怪,啥也没动就这样,真不知道给的包是不是本来就是个报错的工程. 不管怎样,要对它修 ...
- Android之微信开放平台实现分享(分享好友和朋友圈)
开发中分享操作往往经常遇到,而且还是一些比较大型一定的平台,如微信,QQ,微博等.写这篇博客主要是把微信的的分享和相关操作表达一下,分享可以包含:文字,视频,音乐,图片等分享. 分享可以有 分享给好友 ...
随机推荐
- MyBatis 学习(一)
一.MyBatis 1.MyBatis 介绍(百度) MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数 ...
- Linux常用指令整理
Linux常用命令整理 快捷键 [Tab] [Tab] 接在一串指令的第一个字的后面,则为"命令补全": [Tab] 接在一串指令的第二个字以后时,则为"文件补齐&quo ...
- docker 容器启动并自启动redis
centos7.5 背景:每次开机后都要自动启动redis,也就是宿主机开机,启动容器,然后启动redis 按照网上的做法是:修改redis.conf ,修改redis的启动脚本(utils/...s ...
- MySql中存储引擎MyISAM与InnoDB区别于选择
InnoDB: 支持事务处理等 不加锁读取 支持外键 支持行锁 不支持FULLTEXT类型的索引 不保存表的具体行数,扫描表来计算有多少行 DELETE 表时,是一行一行的删除 InnoDB 把数据和 ...
- PAT 1071. Speech Patterns
又是考输入输出 #include <cstdio> #include <cstdlib> #include <string> #include <vector ...
- Csharp:WebClient and WebRequest use http download file
//Csharp:WebClient and WebRequest use http download file //20140318 塗聚文收錄 string filePath = "20 ...
- LinqToSql EntityFramework(ef)查看生成的sql语句
var dc=new DBDataContext(); TextWriter tw = new StringWriter(); dc.Log = tw; var list = dc.News.Skip ...
- Qt 资料大全
https://blog.csdn.net/liang19890820/article/details/51752029 简述 发福利了.发福利了.发福利了,重要的事情说三遍... 为了方便更多Qte ...
- python 替换指定目录下,所有文本字符串
网页保存后,会把js文件起名为.下载,html里面的引用也会有,很不美观,解决方案:用python替换字符串 import os import re """将当前目录下所 ...
- Build 2016: 发布明天的云创新来服务今天的开发者
每个企业和行业都在被云潜移默化地改变着.随着云计算的速度.规模和灵活性的不断增加,云服务带来的可能性也在不断被拓展.想象一下,通过监测传感器,一位奶农能够将他的奶牛牛奶产量提高:或是一家医院能够自动监 ...