IOS之React Native友盟微信分享小程序

微信分享小程序

在React Native开发过程中,常需要使用到原生IOS的一些方法进行扩展。

  • 在react-native 中的 UMShareModule.m文件中添加以下扩展
  • 下面调用友盟分享例子

/**
 分享到微信小程序

 @param shareText 分享文本
 @param icon 分享的icon图标
 @param link 分享的链接
 @param title 分享的标题
 @param platform 平台id 详情见官方平台id文档
 @return completion 结束回调
 */
RCT_EXPORT_METHOD(shareToMinProgram:(NSString *)shareText icon:(NSString *)icon link:(NSString *)link title:(NSString *)title platform:(NSInteger)platformType completion:(RCTResponseSenderBlock)completion)
{
  //创建分享消息对象
  UMSocialMessageObject *messageObject = [UMSocialMessageObject messageObject];
  UMShareMiniProgramObject *shareObject = [UMShareMiniProgramObject shareObjectWithTitle:title descr:shareText thumImage:icon];
  shareObject.webpageUrl = link;
  shareObject.userName = @"gh_367905c462a0";  // 当前使用小程序的原始id  需修改为配置文件中
  shareObject.path = link;
  messageObject.shareObject = shareObject;
  //调用分享接口
  [[UMSocialManager defaultManager] shareToPlatform:platformType messageObject:messageObject currentViewController:nil completion:^(id data, NSError *error) {
    if (error) {
      RCTLog(@"************Share fail with error %@*********",error);
      completion(@[@1, error]);
    }else{
      if ([data isKindOfClass:[UMSocialShareResponse class]]) {
        UMSocialShareResponse *resp = data;
        //分享结果消息
        RCTLog(@"response message is %@",resp.message);
        completion(@[@(0), resp.message]);
        //第三方原始返回的数据
        RCTLog(@"response originalResponse data is %@",resp.originalResponse);
      }else{
        RCTLog(@"response data is %@",data);
        completion(@[@0, @"share success"]);
      }
    }
  }];
}
  • 在对应的分享js页面引用 并且调用扩展方法
 var UMShareModule = NativeModules.UMShareModule;
     UMShareModule.shareToMinProgram("sss","ss","url","title",1,(code,message) =>{
        // this.setState({result:message});
        Alert.alert("这是",message);
    });
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值