导航:首页 > APP软件 > 友盟微信分享未知错误

友盟微信分享未知错误

发布时间:2024-11-18 09:35:22

『壹』 微信分享sdk

公众号h5中使用微信js-SDK(个人笔记)

通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照、选图、语音、位置等手机系统的能力,同时可以直接使用微信分享、扫一扫、卡券、支付等微信特有的能力,为微信用户提供更优质的网页体验。

例子为在vue中使用微信JS-SDK,步骤如下:

先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

备注:登录后可在“开发者中心”查看对应的接口权限。

插件方式:

引入js文件方式:

在需要调用JS接口的页面引入如下JS文件,(支持https):

如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:(支持https)。

挂载到Vue原型

与使用JS-SDK配置方式相同,所有需要使用开放标签的页面必须先注入配置信息,并通过openTagList字段申请所需要的开放标签,否则将无法使用(同一个url仅需调用一次)。开放标签的申请和JS接口的申请相互独立,因此是可以同时申请的。

配置成功之后,就可以使用相关的api了。例子为微信支付。

3.分享出去的是链接,不是卡片的原因及解决方案:

原因:微信开放全域名访问后出现的限制。

解决方法:

这会导致别人通过分享卡进来的页面不是自己配置的页面。

解决办法:把路由hash模式改成history模式。(让后端把匹配不到的页面重定向到首页)

开发者需要配合使用微信开放平台提供的SDK进行一次性订阅消息授权请求接入。正确接入SDK后,开发者移动应用会在终端本地拉起微信应用进行订阅消息授权,微信用户确认后微信将拉起开发者移动应用,并带上授权用户openid等信息。

使用方式:引导用户打开;appid=wxaba38c7f163da69bscene=1000template_id=_url=http%3a%2f%2fsupport.qq.comreserved=test#wechat_redirect链接。

可拉起微信打开一次性消息订阅授权页:

使用方式:

如需添加参数,可在redirect_uri后面进行拼接,授权成功之后会带回来。

其他问题请参考:

微信分享提示universallink校验不通过

我的是一个老项目需要升级友盟分享的sdk(实际上也是微信和qq的sdk);这边后台给我的配置apple-app-site-association文件的链接,格式是()的,但是设置在备忘录中点开universallink无效,后来后台需改了链接?将端口改为默认端口号,?格式是格式是(),然后备忘录中点开universallink,生效?

然后接着采坑......

在点开分享的时候微信还是提示"由于未验证universallink,......",这边检查了一下,坑的是领导在微信后台设置的账号与我项目用的不匹配,坑爹,?

后面还有几个坑,再次记录一下:

1.分享面板上没有qq,解决:友盟客服提示资源是否导入,我这边是导入了,我这边解决的办法是,白名单为导入(因为我的是老项目,所以替换完sdk后就粗心的没注意修改白名单);

2.qq分享成功以后不回跳,需要配置URLSchemes,对于qq来说,需要设置qq和tencent

3.集成微信分享sdk中的自检函数,通过自检方法后(自检函数会在打印台打印7步,0....6)还是会提示"未验证应用",那就只有一个办法,等,我这边等了大概3周,之前加了一个群,很多同行都遇到这个问题,有些人等的时间短,有些人等的时间长,并且有些人可能说跟成功的分享次数在总分享次数的所占的比重有关,所以就多进行成功分享,所以多分享,多看看,没准哪天就没有这个提示了

微信开放SDK是什么意思微信开放SDK是啥意思

1、就是开发工具包应该是可以用这个开发微信相关软件的。

2、微信开放SDK是采用SDK嵌入的方式,为第三方App提供一个与微信进行内容交换的通道,通过SDK的使用,第三方App可以实现分享信息给用户的微信好友和用户的微信朋友圈。

Unity微信登录分享ShareSDK对接流程

官方文档:MobTechShareSDK文档

ShareSDK可用于多个平台登录和分享,无需再用服务端,本文主要介绍安卓端使用ShareSDK,进行微信登录和分享。

当时使用的是Unity2019.4.5,gradle版本4.0.0。

1、到微信开发平台申请创建应用,申请通过后获得appId,appSecret;

2、到MobTech平台创建应用,获得appKey,appSecret;

按照官方文档步骤对接即可;

1、launcherTemplate.gradle文件,把需要的各平台的appId和appSecret写在里面,在ShareSDKDevInfo.cs里面更改是无效的。

以微信平台为例:

2、如果微信应用正在申请,测试可使用Mob官方demo进行测试:

demo应用包名:cn.sharesdk.demo;

demokey.keystore密钥密码和别名密码,均为123456;

demo应用,Mob的appKey:moba0b0c0d0,appSecret:;

demo应用,微信的appId:wx4868b35061f87885,appSecret:;

3、不需要的平台,可以在ShareSDKDevInfo.cs里的DevInfoSet中注释掉;

1、场景中挂载ShareSDK.cs和MobSDK.cs;

2、使用前,必须要提交ShareSDK隐私协议的授权接口:

3、微信登录,使用ShareSDK的获取用户信息接口即可(只会在第一次跳转到第三方平台进行授权),返回结果包含openId,unionId,nickName等信息:

4、微信分享:

微信朋友圈JSSDK分享自定义图片文字

1、在微信公众号添加安全域名(制作的H5页面的主域名);

测试阶段,本人是通过修改hosts文件,将对应域名解析为127.0.0.1;?然后将电脑和手机连接至同个局域网下。修改手机代理为电脑在局域网内的IP地址;这样手机就能正常进行测试;

2、引入jssdk??script??src=''

3、配置jssdk,成功后方可使用相关功能,方式如下

wx.config({

debug:false,//开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId:'XX',//必填,公众号的唯一标识

timestamp:XX,//必填,生成签名的时间戳

nonceStr:?xx,//必填,生成签名的随机串

signature:xx,//必填,签名,见附录1??

jsApiList:['onMenuShareTimeline','onMenuShareAppMessage']//必填,需要使用的JS接口列表,所有JS接口列表见附录2

});

第一次接触时看到网上的文章在此对signature没有过多的说明,这里我自己大概说一下,此参数是通过获取公众号的id及secret获取access_token,然后通过access_token获取jsapi_ticket,然后通过时间戳,随机串,当前页面url,通过sha1加密生成;(这里做下说明,此步骤由后台处理后返回给前端即可);

刚接触的时候领导认为纯前端可实现,这。。。确实可以实现,这里就不做过多说明了;至于要后端处理的原因大致为两点1、公众号id和secret在前端实现不安全?2、access_token和jsapi_ticket每日有请求次数的限制,过期时间两小时,所以需要后台在服务器缓存,每两小时获取一次;

4、wx.config配置正确即可通过wx.ready来调用相应功能

wx.ready(function(){

wx.onMenuShareTimeline({??//分享朋友圈

title:'X',//分享标题

link:window.location.href,//分享链接

imgUrl:url,//分享图标

success:function(){

//用户确认分享后执行的回调函数

console.log('分享成功了哟哟哟')

},

cancel:function(){

//用户取消分享后执行的回调函数

}

});

wx.onMenuShareAppMessage({?//?好友分享

title:'',//分享标题

desc:'',//分享描述

link:window.location.href,//分享链接

imgUrl:'',//分享图标

success:function(){

//用户确认分享后执行的回调函数

},

cancel:function(){

//用户取消分享后执行的回调函数

}

});

});

总结:其实对于前端要处理的很少,只要从后台获取signature签名,调用方法即可实现;具体可看官方文档;首次接触的小伙伴不要被吓到,就是如此简单;

自定义微信分享链接(使用JS-SDK)+实现预览pdf

可参考:微信JS-SDK说明文档

此时可能出现白名单错误(忘截图了),需要在微信公众号中设置错误中的IP

注意:access_token和ticket都需要缓存

4.获取签名signature

将以上内容以键值对形式拼接,类似如下

本地引入sha1算法(需网上查找)

将上述拼接的字符串以参数的形式传递到sha1中得到signature

signature=sha1(拼接完的字符串)

验证signature是否正确

将appId,nonceStr,timestamp和signature返回给前端

官网上是这样描述的:

这时候调用updateAppMessageShareData,updateTimelineShareData的时候就可以生效了,具体原理不清楚。。

注意:imgUrl配置有严格的要求

尺寸120x120,大小不超过10K,不支持GIF格式。必须采用https协议(最好写完整url),不支持base64。由于我使用的是vue,在webpack打包时图片小于10k的是会自动打包成base64导致无法正常显示图片,因此在webpack.base.config.js中修改默认配置

由于在网页中直接查看pdf的路径是无法在微信中查看(安卓)和分享(ios),因此使用pdf插件进行优化---pdf.js。其原理是绘制成canvas,最终在真机上放大时可能出现模糊的问题。

创建之后控制台会报错出现跨域问题,因为pdf.js不支持跨域访问。此时可以将错误跨域信息在上一步你引入的文件中查找,然后将其判断语句注释掉即可解决这个问题。最后会发现pdf出现在这个容器中(忘截图了),也实现了微信中预览和分享的功能。

『贰』 ios开发 友盟分享到微信好友和分享到朋友圈的区别

分享到好友就是分享到你的好友列表里的那些好友啊。就像你跟好友聊天一样,分享之后,你的好友就能收到你分享的内容。
分享到朋友圈就是所有人都能看到啊。

『叁』 分享到微信朋友圈,然后点进去之后进入的是友盟的页面,怎么修改

到API申请里面,修改微信API的回调地址 。我起先是这样的,nil的话他说默认友盟,能否改他的类方法把URL去掉。

『肆』 ios友盟微信分享怎样生成appid

1. 首先在微信开发者页面申请一个APPID。一定要微信审核通过才能使用!
2. 在后台【应用管理-设置-分享设置】中将申请到的微信ID录入到【分享微信AppID】。
3. 保存后系统会编译您的应用,编译后升级您的应用即可。
具体操作流程:
一、申请微信ID:
1.进入微信开放平台
2. 点击页面左上端进行注册或者登陆。
3. 点击页面左下端【移动应用开发】,进入应用接入的页面详情。
4. 填写应用名称和应用的基本信息。
其中的所需上传的图标的水印图片可以从app制作者的管理后台中获取具体路径【应用管理】->【应用推广】。
5. 完善资料。
6. 签名和包名。微信android签名:签名直接复制上面的签名代码即可,一定要记住,复制时不要有多余空格哦。包名类似:com.jh.APPXXX.news,由系统生成,XXX是一串数字,具体包名可以在【应用管理-设置-分享设置】页面获得。填写完毕后,点击【提交】就完成申请了。微信平台会有1-7个工作日的审核周期,通过后即可将appid绑定到平台中。
二、如何绑定微信APPID将按照上面申请的微信appid添加到【应用管理-设置-分享设置】页面的分享微信AppID字段,添加后保存即可。
注意:
申请APPID时,还需要上传应用图标,请提前准备,否则不能提交审核,这些图标在【应用管理-设置-分享设置】页面提供下载。
1)水印图标,水印图标出现在微信聊天界面消息气泡底部,
28*28 png格式 灰度图(没有彩色的图)2)高清图标,高清图标出现在聊天界面附件栏中,
108*108 png格式

『伍』 友盟微信朋友圈分享为什么没有标题

在需要被微信分享的页面中,加入下面这一段JS代码就可以进行控制了。

var imgUrl = 'http://xxx/share_ico.png'; // 分享后展示的一张图片
var lineLink = 'http://xxx'; // 点击分享后跳转的页面地址
var descContent = "xx!"; // 分享后的描述信息
var shareTitle = 'xx'; // 分享后的标题
var appid = ''; // 应用id,如果有可以填,没有就留空

function shareFriend() {
WeixinJSBridge.invoke('sendAppMessage',{
"appid": appid,
"img_url": imgUrl,
"img_width": "200",
"img_height": "200",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
//_report('send_msg', res.err_msg); // 这是回调函数,必须注释掉
})
}
function shareTimeline() {
WeixinJSBridge.invoke('shareTimeline',{
"img_url": imgUrl,
"img_width": "200",
"img_height": "200",
"link": lineLink,
"desc": descContent,
"title": shareTitle
}, function(res) {
//_report('timeline', res.err_msg); // 这是回调函数,必须注释掉
});
}
function shareWeibo() {
WeixinJSBridge.invoke('shareWeibo',{
"content": descContent,
"url": lineLink,
}, function(res) {
//_report('weibo', res.err_msg);
});
}
// 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
// 发送给好友
WeixinJSBridge.on('menu:share:appmessage', function(argv){
shareFriend();
});
// 分享到朋友圈
WeixinJSBridge.on('menu:share:timeline', function(argv){
shareTimeline();
});
// 分享到微博
WeixinJSBridge.on('menu:share:weibo', function(argv){
shareWeibo();
});
}, false);

阅读全文

与友盟微信分享未知错误相关的资料

热点内容
iphone界面设计软件 浏览:675
java测试驱动 浏览:281
如何找到手机下载文件 浏览:416
永劫无间录制视频在哪个文件夹 浏览:798
extjs当前界面刷新 浏览:1000
e3d安装图文教程 浏览:192
网络中的丢包和延迟是如何产生的 浏览:855
程序组件生成的文件名 浏览:575
报告里面套用文件原内容标点符号 浏览:603
如何编程一行代码 浏览:671
javahtml转化pdf文件格式 浏览:106
编程软件做的游戏怎么拷到优盘 浏览:518
网络用语麻油什么意思 浏览:929
决战者90版本毕业武器 浏览:570
数据线怎么折叠成方形 浏览:17
文件转excel数据不分行 浏览:359
云文件和云邮件哪个好 浏览:114
安卓如何打开word 浏览:649
jsp做404 浏览:943
12312app怎么添加驾驶证 浏览:455

友情链接