文档中心 > 分享SDK

分享SDK接入

更新时间:2018/06/28 访问次数:16039

Android分享SDK接入流程

1、搭建开发环境

[1] 推荐用Android Studio建立工程。
[2] 引用钉钉Android分享sdk有两种方式,分别为gradle依赖和jar引入
[2.1] gradle依赖的方式 在模块的build.gradle的dependencies中添加钉钉的分享sdk依赖:
compile 'com.alibaba.android:ddsharesdk:1.1.0

[2.2] jar包直接引入
1)在工程中新建一个libs目录,下载jar包(进入下载页面 找到jar包并且下载),将下载的jar包复制到该目录中(如下图所示,建立了一个名为DDShareDemo 的工程,并把jar包复制到libs目录下)。

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

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

[1] 具体可参考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中提供了接口来判断当前设备是否能够支持分享到钉钉

[1]判断当前设备是否已经安装钉钉

boolean isInstalled = iddShareApi.isDDAppInstalled();

[2]判断当前设备是否支持分享到钉钉(已经安装钉钉&&钉钉版本支持分享)

boolean isSupport = iddShareApi.isDDSupportAPI();

4、 分享支持的类型

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

iOS分享SDK接入流程

接入前准备

  • 申请AppID, 申请时请提供,应用的BundleID,应用名称和应用图标,图标需要提供两个尺寸:28x28px和 108x108px,格式为PNG;
  • 下载DTShareSDK;DTShareSDK最低部署系统版本为iOS7.0,包含 armv7, i386, x86_64, arm64 架构;
  • 安装钉钉iOS客户端2.7.0及以后的版本;

步骤1:将SDK的下列文件导入到工程中;

share_sdk_import

步骤2:配置工程

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

other_linker_flags

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

Alt text

步骤3:注册应用并添加必要的URL Handler?

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

share_sdk_code_sample

步骤4:分享数据到钉钉客户端

发送分享请求的过程主要分为两部分:
- 组装DTMediaMessage对象;
- 调用+[DTOpenAPI sendReq:]发送数据;

不同类型的分享数据通过DTMediaMessage的mediaObject区分:
- DTMediaTextObject 纯文本数据;
- DTMediaImageObject 纯图片数据;
- DTMediaWebObject Web页面数据;

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

share_sdk_text_sample_code

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

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

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

share_sdk_check_dingtalk_api

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

FAQ

关于此文档暂时还没有FAQ
返回
顶部