失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【腾讯开放平台】Android IOS实现指定QQ临时会话功能

【腾讯开放平台】Android IOS实现指定QQ临时会话功能

时间:2018-09-08 06:44:21

相关推荐

【腾讯开放平台】Android IOS实现指定QQ临时会话功能

腾讯开放平台提供了WPA接口,能够实现对于普通用户,无需加其好友就能和其发起临时会话(但是对于400开头的企业QQ号,如Mob平台的企业QQ:4006852216 ,必须先加其好友才能实现临时会话),官方文档如下:

http://wiki./index.php?title=Android_API调用说明&=45038#2._WPA.E6.8E.A5.E5.8F.A3

对于使用Mob平台的ShareSDK的Android开发者,ShareSDK目前暂不支持腾讯开放平台的WPA接口功能,但是可以通过url中的scheme协议实现。

Android平台:

[java]view plaincopyStringurl="mqqwpa://im/chat?chat_type=wpa&uin=957269193"; startActivity(newIntent(Intent.ACTION_VIEW,Uri.parse(url)));

IOS平台:[objc]view plaincopyUIWebView*webView=[[UIWebViewalloc]initWithFrame:CGRectZero]; NSURL*url=[NSURLURLWithString:@"mqq://im/chat?chat_type=wpa&uin=957269193&version=1&src_type=web"]; NSURLRequest*request=[NSURLRequestrequestWithURL:url]; webView.delegate=self; [webViewloadRequest:request]; [self.viewaddSubview:webView];

JS浏览器:[html]view plaincopy<atarget="_blank"href="/msgrd?v=3&uin=592333407&site=qq&menu=yes">clickhere</a>

注意事项

1. 如果使用当前版本的Android ShareSDK提供的API判断手机端是否安装了某社交平台客户端,必须在ShareSDK.xml文件的相应平台下配置enable属性为true,如微信:

[html]view plaincopy<Wechat Id="1" SortId="1" AppId="******" AppSecret="*******" BypassApproval="false" Enable="true"/>

此时,ShareSDK默认分享界面中将会出现相应社交平台,如果不需要显示,可以在调用分享时使用如下代码屏蔽:

[java]view plaincopyOnekeyShareoks=newOnekeyShare(); oks.addHiddenPlatform(QQ.NAME);

另外,在使用ShareSDK.getPlatform(QQ.NAME).isClientValid()判断手机端是否安装QQ时,容易出现问题,该api接口始终返回false,所以只能使用Android平台的packageManager来进行判断,Android版手机QQ的包名为:com.tencent.mobileqq,代码如下:[java]view plaincopy/** *判断手机设备是否安装指定包名的apk应用程序 *@paramcontext *@parampackageName *@return */ publicstaticbooleanisSpecialApplInstalled(Contextcontext,StringpackageName){ PackageManagerpackageManager=context.getPackageManager(); try{ packageManager.getPackageInfo(packageName,0); returntrue; }catch(NameNotFoundExceptione){ e.printStackTrace(); } returnfalse; }

2. 使用url的scheme方法调用QQ客户端并与指定QQ聊天功能时,目前发现两个因素会导致偶尔发送QQ消息失败并提示必须先添加好友:

第一,手机QQ版本问题:手机版本低了不行,目前最新版本是5.8.0.2505

第二,QQ号问题:企业QQ和个别个人QQ不行......

补充:以上两点也不是很准确,因为实际测试过程中发现,偶尔可以偶尔不可以,也许QQ的临时会话功能不太稳定......

拓展链接:

QQ推广官网:营销QQ的做法

手机端直接调用的JS:/91516/channel/1185266#mp.,如

[html]view plaincopy<!DOCTYPEhtml> <html> <body> <divid="launch_qq">客服QQ</div> <scriptcharset="utf-8"src="http://wpa./cgi/wpa.php"></script> <script> BizQQWPA.addCustom({aty:'0',a:'0',nameAccount:957269193,selector:'launch_qq'}); </script> </body> </html>

可以通过手机端直接调用JS。

参考一个库Rhino,使用案例如:【Android】不使用WebView来执行Javascript脚本(Rhino)

如果觉得《【腾讯开放平台】Android IOS实现指定QQ临时会话功能》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。