最近项目中遇到了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];
-
}];
-
}
微信小程序分享目前只支持会话分享,不支持朋友圈和收藏类型的分享