文档开发者中心
我的

快应用分享方法总结

快应用分享包含如下2种方式:


1、界面交互 → 分享 import share from '@system.share' 这个分享主要用于不同APP之间的数据传递,因此归到“界面交互”中,可以传递文本数据或文件数据


2、第三方服务 → 第三方分享 import share from '@service.share' 这个分享主要用于将快应用中的信息通过社交工具(微信、QQ、新浪微博等)分享出去,可以以图文、纯文字、纯图文、音乐、视频等形式进行分享,分享前需要在manifest.json 的 features 中对service.share进行appSign、wxkey、qqkey、sinakey等参数参数的设置,否则分享出去的内容都将以纯文字方式进行展示。


(微信分享时的appSign和wxkey设置可以参照关于微信分享的实现,亲测可用)


[补充说明]


appSign 其实就是对应快应用开发项目 sign\release\certificate.pem 文件中 -----BEGIN CERTIFICATE----- 与 -----END CERTIFICATE----- 中间的那段


马甲APP 微信开放平台上的移动应用(我们称之为马甲APP)可以使用HBuilder来创建,包名与快应用包名一致,签名也一致,签名可以用OPENSSL将pem签名转文件换为keystore签名文件。马甲APP无需上架到各大APP市场。


第三方分享时需要rom支持,部分厂商现有的rom还没有进行第三方分享适配,通过第三方分享出去的信息暂时只能以纯文字形式展示,甚至压根无法进行分享(总结:rom决定快应用能否实现第三方分享应有的效果,快应用渲染器决定第三方分享功能是否可以调起分享功能。)。


分享虽然初衷用于数据传递,但是将数据传递到社交APP上等同于进行分享,因此在rom不支持第三方分享的设备上,可以使用界面交互中的分享功能进行文本分享。


像华为就属于rom未适配第三方分享的厂商,已发布的快应用在华为设备上,如果通过第三方分享进行分享,系统是没有响应的。你可以通过system.device来判断手机厂商再选择分享方式,但是这样的弊端是得去摸索出还有哪些厂商也不支持第三方分享,而且一旦不支持的厂商将来对rom进行适配了,你的快应用程序还是会忽略第三方分享这种支持图文分享的方式。


如果你只想进行文字分享,建议你直接使用界面交互中的分享功能system.share,这个比较通用。


如果你想进行图文分享,建议你混用2种分享方式:


import share from '@system.share'

import shareSe from '@service.share'

try{

shareSe.share({

shareType: 0,

title: '图文标题',

summary: '图文内容',

imagePath: '/img/图文消息图片.jpg',

targetUrl: 'http://图文消息链接地址',

success: function (data) {

console.log('handling success')

},

fail: function (data, code) {

console.log(`handling fail, code = ${code}`)

}

});

}catch(err){

share.share({

type: 'text/webviewhtml',

data: '分享的文字消息',

success: function (data) {

console.log('handling success')

},

fail: function (data, code) {

console.log(`handling fail, code = ${code}`)

}

});

}


复制代码



附:Hbuilder打包快应用马甲APP(apk)方法:


(资深安卓开发请忽略以下内容)


1、用openssl(点击下载,选择简易版即可,如:v1.1.0h,安装后需要在系统环境变量中添加openssl安装目录的bin文件夹到path)和java jdk的keytool工具(点击下载,[size=13.3333px]安装后需要在系统环境变量中添加java安装目录的bin文件夹到path)生成原生包所需keystore签名文件(其中123456是签名文件的私钥密码,appSignkey是证书别名,certificate.pem和private.pem 对应快应用项目 sign\release\中的签名文件)


openssl pkcs12 -export -in certificate.pem -inkey private.pem -out appSign.pk12 -passin pass:123456 -passout pass:123456 -name appSignkey


keytool -importkeystore -deststorepass 123456 -destkeypass 123456 -destkeystore appSign.keystore -srckeystore appSign.pk12 -srcstoretype PKCS12 -srcstorepass 123456 -alias appSignkey


复制代码



2、下载解压Hbuilder (非HbuilderX)

3、运行Hbuilder新建一个移动app项目,然后在Hbuilder中选择“发行 → 云打包 - 打原生安装包”


4、按下图设置

Android包名:与快应用包名一致

证书别名:对应1中的 appSignkey

私钥密码:对应1中的 123456

证书文件:对应1中生成的证书文件appSign.keystore


5、【打包】后下载apk文件即可


————————————————

版权声明:本文为CSDN博主「yyoinge」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:

点赞
收藏
回复
2
分享
举报
浏览1662 发布于2019-10-24 01:22未知归属地
全部评论
最多点赞
最新发布
最早发布

两种方法:界面交互→分享、第三方服务→第三方分享,你是否懂得?

2楼回复于2019-10-24 01:51 未知归属地

个人觉得作者总结的蛮好的

1楼回复于2019-10-24 01:50 未知归属地
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。