最近小程序真的是井喷式的出现,导致个个讨论组都被轮番轰炸,那么怎么分享微信小程序呢?
前期准备:
首先,我们要明白一点,iOS开发的微信账号和小程序的账号,微信是不允许是同一个的,但是,我们在微信开放平台可以发现
木有错!是可以绑定小程序的,而且上线目前来说不同主题5个,每月5次,相同主体,上线50个,并且不限制次数,那么我们点击绑定小程序:
然后按照流程~~~走下去 绑定成功就会在这里显示:(验证这些需要小程序账号,具体emmmmm可以问你们的小程序开发者要账号)
点击查看可以看到小程序的一些信息:
记得这些ID哦,等下要用到
打开我们的Xcode,如果接入过微信支付或者友盟分享或者shareSDK的话,这里会省略很多步骤,如果没有接入过,emmmm,,,,先去申请key吧~
就像这样子
申请完回来最好写成宏的形式方便以后修改,我这里接手的项目用的shareSDK
但是!实现起来都是一样的,但是记得有一点!!!切记看好了!看好了!看好了!你如果接入了微信支付同时使用第三方的社会化分享(敲黑板:友盟分享或者shareSDK)一定要看清楚,你导入的是带支付的包还是不带支付包!切记切记!重复导入,谁导谁知道(调不起来微信)!
因为我这边使用的是shareSDK,所以以下部分侧重使用shareSDK的方式,但是大同小异,关键是参数配置
我们看到shareSDK里边的这个方法:
/**
v4.0.7 为微信小程序分享增加
@param title 标题
@param description 详细说明
@param webpageUrl 网址(6.5.6以下版本微信会自动转化为分享链接 必填)
@param path 跳转到页面路径
@param thumbImage 缩略图 (必填)
@param userName 小程序的userName (必填)
@param withShareTicket 是否使用带 shareTicket 的转发
@param type 分享小程序的版本(0-正式,1-开发,2-体验)
@param platformSubType 分享自平台 微信小程序暂只支持 SSDKPlatformSubTypeWechatSession(微信好友分享)
*/
- (void)SSDKSetupWeChatMiniProgramShareParamsByTitle:(NSString *)title
description:(NSString *)description
webpageUrl:(NSURL *)webpageUrl
path:(NSString *)path
thumbImage:(id)thumbImage
userName:(NSString *)userName
withShareTicket:(BOOL)withShareTicket
miniProgramType:(NSUInteger)type
forPlatformSubType:(SSDKPlatformType)platformSubType;
此方法就是为调用微信并分享的小程序方法,参数配置和直接使用微信的基本一致,需要注意的是:
此处userName需要填写的是小程序的原始ID!即gh_XXXXX那个!
url和path也一定要写对,可以问小程序同事一下,一般url就是你们的环境,path一般就是"pages/.../..."
值得注意的一点是,小程序分享出去那个默认图片thumbImage(就是占得最多的那一部分)是你自己可以指定的,这张图片微信会压缩的,所以可以提供的图片尺寸尺寸相对较大
{
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
//平台定制
[parameters SSDKSetupWeChatMiniProgramShareParamsByTitle:title
description:text
webpageUrl:[NSURL URLWithString:url]
path:path
thumbImage:thumbImage
userName:APP_SmallProgram
withShareTicket:YES
miniProgramType:0
forPlatformSubType:SSDKPlatformSubTypeWechatSession];
[ShareSDK share:SSDKPlatformSubTypeWechatSession
parameters:parameters
onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
if(state == SSDKResponseStateBeginUPLoad){
return ;
}
switch (state) {
case SSDKResponseStateSuccess:
{
NSLog(@"分享成功");
break;
}
case SSDKResponseStateFail:
{
NSLog(@"error :%@",error);
break;
}
case SSDKResponseStateCancel:
{
break;
}
default:
break;
}
}];
}
这样就可以APP分享小程序了,就像这样子