最近有一个业务需要从公司的app跳转到公司的小程序,在此记录一下集成流程。
-
登录微信开放平台 微信开放平台
创建一个移动应用 拿到 appid -
向小程序开发者要到 小程序原始Id
-
在Android端集成相关的api
build.gradle(app):
implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.5.8'
为了以防万一 也要在项目根目录的build.gradle下面配置仓库地址 国内的用阿里云比较快一点
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
-
build完成后 集成相关代码
也可以下载一个官方demo 参考着来 大致有两部分:
第一部分 主动跳转小程序String appId = "wxd930ea5d5a258f4f"; // 填移动应用(App)的 AppId,非小程序的 AppID IWXAPI api = WXAPIFactory.createWXAPI(context, appId); WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req(); req.userName = "gh_d43f693ca31f"; // 填小程序原始id req.path = path; 拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 req.miniprogramType = WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE;// 可选打开 开发版,体验版和正式版 api.sendReq(req);
第二部分 接收回调
创建一个包名为 wxapi(包名必须为这个)在包里创建一个名为 WXEntryActivity.java的类
在回调函数里 根据业务需要做处理public void onResp(BaseResp resp) { if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) { WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp; String extraData =launchMiniProResp.extMsg; //对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性 } }
特此鸣谢 参考博客