最近项目中遇到了APP分享微信小程序,记录下来问题,希望能帮助到需要的人
项目中的分享集成的是第三方的友盟,我看了下微信官方的sdk和友盟的小程序分享差不多,于是,就先罗列下友盟的分享
1.首先在微信开放平台添加移动应用,审核通过了就可以使用
2.在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转。
3.如果不在同一开放平台账号,后台需要绑定,打开移动应用详情,拉到最下面,如果未关联,会看到关联小程序按钮,点击进入,填写相关信息,关联即可
已关联小程序
4.点击小程序模块,会看到"绑定小程序"按钮,这个是有限制的,上面已经有显示
绑定小程序
5.绑定完之后,点击详情,可以查看到一些信息,比如 "原始ID",后面demo里面需要使用,后面的小程序页面路径及其他需要的信息,找你们的小程序开发者要就可以了
6.接下来上代码:
- - (void)shareMiniProgramToPlatformType:(UMSocialPlatformType)platformType
- {
- //创建分享消息对象
- UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
- UMShareMiniProgramObject *shareObject = [UMShareMiniProgramObject shareObjectWithTitle:@"小程序标题" descr:@"小程序内容描述" thumImage:[UIImage imageNamed:@"icon"]];
- shareObject.webpageUrl = @"兼容微信低版本网页地址";
- shareObject.userName = @"小程序username,如 gh_3ac2059ac66f";
- shareObject.path = @"小程序页面路径,如 pages/page10007/page10007";
- messageObject.shareObject = shareObject;
- shareObject.hdImageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"logo" ofType:@"png"]];
- shareObject.miniProgramType = UShareWXMiniProgramTypeRelease; // 可选体验版和开发板
- //调用分享接口
- [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
- if (error) {
- UMSocialLogInfo(@"************Share fail with error %@*********",error);
- }else{
- if ([data isKindOfClass:[UMSocialShareResponse class]]) {
- UMSocialShareResponse *resp = data;
- //分享结果消息
- UMSocialLogInfo(@"response message is %@",resp.message);
- //第三方原始返回的数据
- UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);
- }else{
- UMSocialLogInfo(@"response data is %@",data);
- }
- }
- [self alertWithError:error];
- }];
- }
微信小程序分享目前只支持会话分享,不支持朋友圈和收藏类型的分享