当前位置: 首页 > 后端技术 > Node.js

快速实现基于深度链接的闭环分享功能

时间:2023-04-04 00:27:37 Node.js

什么是闭环分享现在市面上主流的APP都有分享功能。然而,大部分App的分享功能仅限于分享,而在微信限制开发者获取分享结果状态后,通过分享功能进行App或商家推广的方式受到很大限制。例如:1.你不知道用户是否真的分享了。2.你不知道分享链接的效果如何。从几个问题入手,打造基于深度链接的闭环分享功能,真正解决上述问题。用户体验如下:快速实现基于深度链接的闭环分享功能快速实现流程1、注册并登录开发者后台打开Mob官网,点击右上角登录或之后注册成功,点击进入“产品中心”,如下图:快速实现基于深度链接的闭环分享功能在“开发者服务”-->“开发者平台”栏目,点击“立即进入”》,进入后如下图:快速实现基于深度链接的闭环分享功能2.下载SDK包,首先进入Mob官网SDK下载页面。iOS开发者请到官网下载,如下图:快速实现基于深度链接的闭环分享功能。保存配置后,点击“下载”,如下图:基于链接的闭环分享功能Android请使用Gradle在线集成,先选择配置,然后使用Gradle脚本,如下图下图:快速实现基于深度链接的闭环分享功能快速实现基于深度链接的闭环分享功能3.开发者后台配置如果您没有使用过ShareSDK,请点击“添加应用”,输入您的“应用”名称”,点击“保存”,如下图:快速实现基于深度链接的闭环分享功能然后点击“ShareSDK”,在弹出的框中选择“确定添加”,如图下图:快速实现基于深度链接的闭环分享功能如果您已经使用过ShareSDK,请选择您的应用,打开ShareSDK侧边栏,点击“闭环分享”标签,如下图:快速实现基于深度链接的闭环分享功能。图上有闭环分享功能的简单介绍和相关集成文档。只需点击“立即体验”即可开始使用。基于链接的闭环分享功能iOS开发者请配置“TeamID”、“BundleID”和“DownloadURL”,然后点击“保存设置”,如下图:快速实现闭环分享基于深度链接的功能图中系统自动生成的“Scheme”和“AssociationDomain”用于Xcode项目配置,请参考如下:5.iOS客户端开发配置Android开发者请切换配置标签到“Android”,填写“下载地址”和“微信应用商店”微下载链接,如下图:快速实现基于深度链接的闭环分享功能“方案”和“应用链接”图中系统自动生成的“Host”用于Android项目配置(如果使用Gradle集成,则无需考虑),请参考以下六、Android客户端开发配置至此,开发者后台完成,请开始您的简易客户端和web开发配置!4.前端网页JS初始化闭环分享讲究的是网页内容不仅可以分享,还可以环回App,所以在使用闭环分享功能时,前端-端网页需要做简单的JS集成初始化打开您App中分享的网页源码(只需在需要的网页进行如下配置),在合适的位置引用我们提供的线上JS,如下图:快速实现分享闭环基于深度链接的功能。在线JS地址为开发者后台看到的iOS配置中的“AssociationDomain”域名或Android配置中的“AppLinksHost”域名下的moblink.js,例如根据在开发者后台显示的结果上面的开发者背景:ahmn.t4m.cn/moblink.js,通过引入JS后可以写一段JS初始化代码,如下图:快速实现基于深度链接“share/link”的闭环分享功能,//path字段是一个保留字段,暂时没有意义。params:{//params字段是网页循环回跳转到App时带给App的参数。//targetAction_iOS和targetAction_And这两个字段为必填字段,对应iOS的Controller名称和Android的Activity名称,请iOS和Android小伙伴提供targetAction_iOS:"MOBAaboutMobLinkViewController",targetAction_And:"ShareMobLinkActivity",//下面是可选字段,会保持原样小说是,你当前在看第几页[pageid],阅读进度是多少[process]name:"closed-loopsharing",pageid:1,process:89,}}])初始化后上面的JS代码完成后,你的网页会多出一个类似下图的浮层:快速实现基于深度链接的闭环分享功能注意:仅限手机机型公式下可见!建议通过谷歌浏览器的检查器进行调试。至此,前端JS的配置就完成了,比较简单。这时候在配置好客户端后,点击上图中浮层中的“打开App”按钮,就可以立即跳转到你的App客户端,并为你的App携带相应的参数。五、iOS客户端开发配置iOS客户端只有两个简单的步骤,Xcode配置和代码开发:1.Xcode配置主要配置Scheme和“AssociationDomain”,直接从开发者后台复制粘贴配置scheme如图下图:快速实现基于深度链接的闭环分享功能关联域配置如下:快速实现基于深度链接的闭环分享功能注意:由于“关联域”需要iOS证书开启此权限,您可能需要更新它检查您的证书并确保启用此权限,否则Xcode会报错。2.代码开发场景还原设置proxyimportimport@interfaceAppDelegate()@end@implementationAppDelegate(BOOL)application:(UIApplication)applicationdidFinishLaunchingWithOptions:(NSDictionary)launchOptions{[ShareSDKsetRestoreSceneDelegate:self];...}...pragmamark-ISSERestoreSceneDelegate(void)ISSEWillRestoreScene:(SSERestoreScene*)sceneRestore:(void(^)(BOOL))restoreHandler{//YES:执行场景还原,NO:不执行场景还原restoreHandler(YES);}@endRestorationsceneviewconfiguration//以下类已经默认实现-(instancetype)initWithShareSDKScene:(SSERestoreScene*)scene方法,BuildSettings->OtherLinkerFlagsAdd-ObjCAllViewControllersautomaticallyimplementthismethodimport//如果用户需要获取透明参数,可以通过赋初值的方式覆盖和覆盖ViewController的其他属性-(instancetype)initWithShareSDKScene:(SSERestoreScene*)scene方法如下://比如DemoViewController就是还原后的场景视图@interfaceDemoViewController()@property(nonatomic,strong)SSERestoreScene*scene;@end@implementationDemoViewController(instancetype)initWithShareSDKScene:(SSERestoreScene*)scene{if(self=[superinit]){self.scene=scene;...}returnself;}(void)viewDidLoad{[superviewDidLoad];...}....@end6.Android客户端开发配置指定要跳转到的activity4.在前面的JS初始化部分-端网页,初始化代码中targetAction_And字段中设置的值为跳转到Activity的名称,需要在项目中创建一个与设置名??称同名的Activity获取场景数据HashMapcustomDataMap=ShareSDK.getCustomDataFromLoopShare();在跳转目标Activity(也就是上一步中设置的Activity)中,调用该接口获取需要的场景数据。类型已经转换为HashMap类型,可以直接调用toString()方法获取数据。