钉钉开发文档

接入流程

更新时间: 2019-5-24

SDK下载

接入前准备

  1. 申请移动应用分享AppId, 申请时需要提供应用BundleID、应用名称和应用图标,图标需要提供两个尺寸:28x28px和 108x108px,格式为PNG。

  2. 下载SDK,IOS DTShareSDK最低部署系统版本为iOS7.0。

  3. 安装钉钉客户端2.7.0及以后的版本。

  4. 生成Andriod签名,从此处下载压缩包,下载的包里有一个文件:GenSignature_0630.apk,开发者使用该apk,在apk后缀前,输入自己的应用名,即可生成md5的Android 签名

Android分享SDK接入流程

1.搭建开发环境

  1. 推荐用Android Studio新建工程。

  2. 引用钉钉Android分享SDK有两种方式,分别为gradle依赖和jar引入

  3. gradle依赖的方式:
    在模块的build.gradle的dependencies中添加钉钉的分享sdk依赖  compile 'com.alibaba.android:ddsharesdk:1.1.0

  4. jar包直接引入
    1) 在工程中新建一个libs目录,将下载的jar包复制到该目录中(如下图所示,建立了一个名为DDShareDemo 的工程,并把jar包复制到libs目录下)

  1. 将libs目录下的libddshare.jar文件添加到工程依赖中。

2.在代码中使用开发工具包

  1. 具体可参考SDK中的demo的代码。

  2. 接收钉钉的回调,如果你的程序需要接收钉钉发送的请求,或者接收发送到钉钉请求的响应结果,需要下面3步操作:
    a. 在你的包名相应目录下新建一个ddshare包,并在该ddshare目录下新增一个DDShareActivity类,该类继承自Activity(例如应用程序的包名为com.laiwang.ding.share.openapi.ddshareopenapi,则新添加的类如下图所示)


并在AndroidManifest文件里面加上exported属性,设置为true,例如:
   b. 实现IDDAPIEventHandler接口,发送到钉钉的请求的响应结果将回调到onResp方法
  c. 在DDShareActivity中将接收到的intent及实现了IDDAPIEventHandler接口的对象传递给IDDShareApi接口的handleIntent方法,示例如下图:
应用请求钉钉的响应结果将通过onResp回调。
注意:
如果需要混淆代码,为了保证sdk的正常使用,需要在proguard.cfg加上下面两行配置:
   -keep class com.android.dingtalk.share.ddsharemodule.** {*;}

3.判断当前设备是否支持分享
钉钉从2.7版本开始支持分享,API中提供了接口来判断当前设备是否能够支持分享到钉钉。

  • 判断当前设备是否已经安装钉钉
boolean isInstalled = iddShareApi.isDDAppInstalled();
  • 判断当前设备是否支持分享到钉钉(已经安装钉钉&&钉钉版本支持分享)
boolean isSupport = iddShareApi.isDDSupportAPI();

4.分享支持的类型
支持文本、图片、链接以及特殊的支付宝红包类型,具体使用可参考demo。

iOS分享SDK接入流程

1.将SDK的framework导入到工程中

2.配置工程

  • 在Other Linker Flags添加 -all_load选项;

  • 将申请的appId添加到URL Types中作为钉钉回调的scheme, identifier 填写dingtalkURL Schemes填写申请的AppId。 iOS9及以后的系统需要将钉钉和分享SDK的scheme配置在Info.plist。LSApplicationQueriesSchemes列表中,scheme分别为 dingtalk, dingtalk-open

3.注册应用并添加必要的URLHandler
如示例中,在AppDelegate.m文件中引用AppDelegate.h,在 AppDelegate中增加如下代码:

4.分享数据到钉钉客户端
发送分享请求的过程主要分为两部分:

  • 组装DTMediaMessage对象

  • 调用+[DTOpenAPI sendReq:]发送数据

不同类型的分享数据通过DTMediaMessage的mediaObject区分:

  • DTMediaTextObject 纯文本数据

  • DTMediaImageObject 纯图片数据

  • DTMediaWebObject Web页面数据

下面是分享文本部分代码,其它类型请参考Demo示例:


注意:分享纯图片数据和Web页面缩略图时,可以使用两种形式:图片URL和图片Data,钉钉内优先使用图片Data形式;分享数据的数据量限制在SDK的头文件中均有描述,超过限制的数据不会发送到钉钉客户端。

5.判断当前设备是否支持分享到钉钉
钉钉从2.7版本开始支持分享,SDK中提供了接口来判断当前设备是否能够支持分享到钉钉。

注意:在iOS9上需要将钉钉SDK相关的Scheme注册到Info.plist的LSApplicationQueriesSchemes名单中,否则会导致检测方法总是返回NO。

以上内容是否对您有帮助:
在文档使用中是否遇到以下问题(多选):
  • 内容错误
  • 更新不及时
  • 链接错误
  • 缺少代码/图片示例
  • 太简单/步骤待完善
手机号
更多建议
提交成功,感谢您的反馈!