钉钉开发文档

接入流程

更新时间: 2018-12-12

开发依赖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引入
    1. gradle依赖的方式:
      在模块的build.gradle的dependencies中添加钉钉的分享sdk依赖  compile 'com.alibaba.android:ddsharesdk:1.1.0
    2. jar包直接引入
      1. 在工程中新建一个libs目录,将下载的jar包复制到该目录中(如下图所示,建立了一个名为DDShareDemo 的工程,并把jar包复制到libs目录下)

image.png

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

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

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

image

并在AndroidManifest文件里面加上exported属性,设置为true,例如:

image
   b. 实现IDDAPIEventHandler接口,发送到钉钉的请求的响应结果将回调到onResp方法
  c. 在DDShareActivity中将接收到的intent及实现了IDDAPIEventHandler接口的对象传递给IDDShareApi接口的handleIntent方法,示例如下图:

image
应用请求钉钉的响应结果将通过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导入到工程中;

image.png

2、配置工程

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

other_linker_flags

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

Alt text

3、注册应用并添加必要的URL Handler?

如示例中,在AppDelegate.m文件中引用AppDelegate.h,在 AppDelegate中增加如下代码:

image.png

4、分享数据到钉钉客户端

发送分享请求的过程主要分为两部分:

  • 组装DTMediaMessage对象
  • 调用+[DTOpenAPI sendReq:]发送数据
    不同类型的分享数据通过DTMediaMessage的mediaObject区分:
  • DTMediaTextObject 纯文本数据
  • DTMediaImageObject 纯图片数据
  • DTMediaWebObject Web页面数据

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

image.png

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

5、判断当前设备是否支持分享到钉钉

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

share_sdk_check_dingtalk_api

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

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