最近项目中遇到了APP分享微信小程序,记录下来问题,希望能帮助到需要的人

项目中的分享集成的是第三方的友盟,我看了下微信官方的sdk和友盟的小程序分享差不多,于是,就先罗列下友盟的分享

1.首先在微信开放平台添加移动应用,审核通过了就可以使用

2.在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转。

3.如果不在同一开放平台账号,后台需要绑定,打开移动应用详情,拉到最下面,如果未关联,会看到关联小程序按钮,点击进入,填写相关信息,关联即可

已关联小程序 
4.点击小程序模块,会看到"绑定小程序"按钮,这个是有限制的,上面已经有显示

绑定小程序 
5.绑定完之后,点击详情,可以查看到一些信息,比如 "原始ID",后面demo里面需要使用,后面的小程序页面路径及其他需要的信息,找你们的小程序开发者要就可以了

6.接下来上代码:

  1. - (void)shareMiniProgramToPlatformType:(UMSocialPlatformType)platformType
  2. {
  3. //创建分享消息对象
  4. UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
  5. UMShareMiniProgramObject *shareObject = [UMShareMiniProgramObject shareObjectWithTitle:@"小程序标题" descr:@"小程序内容描述" thumImage:[UIImage imageNamed:@"icon"]];
  6. shareObject.webpageUrl = @"兼容微信低版本网页地址";
  7. shareObject.userName = @"小程序username,如 gh_3ac2059ac66f";
  8. shareObject.path = @"小程序页面路径,如 pages/page10007/page10007";
  9. messageObject.shareObject = shareObject;
  10. shareObject.hdImageData = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"logo" ofType:@"png"]];
  11. shareObject.miniProgramType = UShareWXMiniProgramTypeRelease; // 可选体验版和开发板
  12. //调用分享接口
  13. [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:self completion:^(id data, NSError *error) {
  14. if (error) {
  15. UMSocialLogInfo(@"************Share fail with error %@*********",error);
  16. }else{
  17. if ([data isKindOfClass:[UMSocialShareResponse class]]) {
  18. UMSocialShareResponse *resp = data;
  19. //分享结果消息
  20. UMSocialLogInfo(@"response message is %@",resp.message);
  21. //第三方原始返回的数据
  22. UMSocialLogInfo(@"response originalResponse data is %@",resp.originalResponse);
  23. }else{
  24. UMSocialLogInfo(@"response data is %@",data);
  25. }
  26. }
  27. [self alertWithError:error];
  28. }];
  29. }

微信小程序分享目前只支持会话分享,不支持朋友圈和收藏类型的分享。


本文转载:CSDN博客