钉钉分享

2019-12-11  本文已影响0人  wpf_register

单独的钉钉分享可以参考钉钉开放平台的文档进行开发,但项目中多个分享通道时,我一般会通过友盟等第三方进行集成。
钉钉分享文档

以同时集成微信和钉钉为例
当然首先应该判断手机是否安装微信和钉钉

//设置分享平台
[UMSocialUIManager setPreDefinePlatforms:@[@(UMSocialPlatformType_WechatSession),
                                               @(UMSocialPlatformType_DingDing)]];
 //分享
[UMSocialUIManager showShareMenuViewInWindowWithPlatformSelectionBlock:^(UMSocialPlatformType platformType, NSDictionary *userInfo) {
            // 根据获取的platformType确定所选平台进行下一步操作
            [self shareImageToPlatformType:platformType];
    }];

在进一步分享之前首先要判断是否支持相应的 API

- (void)shareImageToPlatformType:(UMSocialPlatformType)platformType{
    

    //下面这个判断非常重要
    //对微信而言不会有影响
    //对钉钉而言,没有这句话时只会打开钉钉,而不会进入通讯录选择列表
    //因为对钉钉而言,这句话其实是申请获取通讯录的权限,
    //如果用户确认授权访问钉钉通讯录,则返回 YES,否则返回 NO
    //而如果没有这句话,则没有通讯录授权,也就是只能打开钉钉,不能实现分享
    if (![[UMSocialManager defaultManager] isSupport:platformType]) {
        MJAlert(@"温馨提示", @"当前系统不支持该分享平台", @"确定", nil, nil);
        return;
    }

    //创建分享消息对象
    UMSocialMessageObject *messageObject =   [UMSocialMessageObject messageObject];
    UMShareWebpageObject *shareObject = [UMShareWebpageObject shareObjectWithTitle:@"title"
                                                                           descr:@"content"
                                                                       thumImage:thumImage];
    shareObject.webpageUrl = @"dd_href";
    //分享消息对象设置分享内容对象
    messageObject.shareObject = shareObject;
    //调用分享接口
    [[UMSocialManager defaultManager] shareToPlatform: platformType 
                                        messageObject: messageObject
                                currentViewController: nil 
                                           completion: ^(id data, NSError *error) {

                              }];
}
上一篇 下一篇

猜你喜欢

热点阅读