单独的钉钉分享可以参考钉钉开放平台的文档进行开发,但项目中多个分享通道时,我一般会通过友盟等第三方进行集成。
钉钉分享文档
以同时集成微信和钉钉为例
当然首先应该判断手机是否安装微信和钉钉
//设置分享平台
[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) {
}];
}
网友评论