9

跳转协议 - 钉钉开放平台

 6 months ago
source link: https://open.dingtalk.com/document/isvapp/webapp-unified-routing-protocol
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
选择应用类型
第三方企业应用开发
动态与公告
应用开发平台简介(新版)
应用开发平台简介
开发应用(新版)
开发应用流程
获取开发者权限
添加应用能力
开发小程序应用
开发网页应用
开发网页应用服务端
开发网页应用前端
配置网页应用
网页应用开发参考
客户端SDK
前端组件 (Ding Design)
页面事件监听
错误码说明
客户端API总览
开发酷应用
开发机器人应用
(可选)测试应用
服务端API
客户端API
AppLink协议

更新于 2023-10-12统一跳转协议指第三方应用可通过客户端协议,实现打开钉钉客户端,并跳转到指定的URL。

说明

为提升用户使用体验,旧版跳转协议(dingtalk://前缀)已升级,旧版跳转协议仅保持现有功能,不再新增支持其他能力,说明如下:

  • 如果未使用旧版跳转协议,推荐使用AppLink实现跳转。

  • 如果已使用旧版跳转协议,建议您根据实际情况评估是否切换至AppLink实现跳转。

Android端统一跳转协议

代码示例:

重要

url后面参数 (即希望在钉钉内打开的url页面地址) 必须做urlencode。

     * 打开钉钉客户端 并在钉钉客户端打开传入的指定url
     * @param context 安卓上下文环境,推荐Activity Context
     * @param url 需要在钉钉客户端打开的页面地址
    private void startDingtalkApp(Context context , String url){
        Intent intent = new Intent(Intent.ACTION_VIEW);
        String jumpUrl = "dingtalk://dingtalkclient/page/link?url=" + URLEncoder.encode(url); //必须对url做encode
        Uri uri = Uri.parse(jumpUrl);
        intent.setData(uri);
        if (null != intent.resolveActivity(context.getPackageManager())) {
            context.startActivity(intent);

iOS端统一跳转协议

代码示例:

+(BOOL)openDingTalkUrl:(NSString*) targetUrl{
    if (targetUrl.length == 0) {
        return false;
    NSString *url = [NSString stringWithFormat:@"dingtalk://dingtalkclient/page/link?url=%@",
                     [targetUrl dt_urlEncode]];
    return [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

对于iOS端,若期望在钉钉内打开H5页面时通过Present方式进行转场,可在跳转链接中拼接参数dd_mode=present实现:

    NSString *url = [NSString stringWithFormat:@"dingtalk://dingtalkclient/page/link?url=%@&dd_mode=present",
                     [targetUrl dt_urlEncode]];
重要

url后面参数(即希望在钉钉内打开的url页面地址)必须做urlencode。

PC端统一跳转协议

HTML页面填写钉钉PC端指定链接,当用户点击链接时,唤起PC客户端,并执行相应操作。

例如打开个人profile页链接:

<a href="dingtalk://dingtalkclient/action/sendmsg?dingtalk_id={id}"></a>

打开个人profile页,在站点挂个人钉钉联系方式,点击打开个人profile页,步骤如下:

  1. 确认钉钉号:在钉钉移动客户端我的,打开我的信息页面下查看。

    p178669.png
  2. 替换{id},替换后链接为dingtalk://dingtalkclient/action/sendmsg?dingtalk_id=your_dingtalk_id。

  3. 打开个人profile页示例:PC端打开个人profile页,点击钉钉联系我

    重要

    PC端统一跳转协议暂时不支持服务端获取dingtalk_id,若页面在钉钉PC端容器内执行,可尝试使用 openPageInMicroApp 客户端 API 打开个人资料页。

统一页面链接

统一跳转页面链接如下:

打开个人资料页

dingtalk://dingtalkclient/page/profile?corp_id=ding9733d0*****a33bc961a6cb783455b&staff_id=222836

dingtalk://dingtalkclient/action/creategroup

桌面端打开URL

dingtalk://dingtalkclient/page/link

侧边栏:参考link协议,并增加pc_slide=true

大容器(类似工作台容器):增加参数ddtab=true

说明

ddtab=true需要进行urlencode。

dingtalk://dingtalkclient/page/yunpan

发起DING

dingtalk://dingtalkclient/page/dingcreate

服务窗小助手

dingtalk://dingtalkclient/page/channelassistant

我的信息页面

dingtalk://dingtalkclient/page/myProfile

账号与安全

dingtalk://dingtalkclient/page/accountSafe

特别关注列表

dingtalk://dingtalkclient/page/attention_list

dingtalk://dingtalkclient/page/yunpan?route=fileLog

dingtalk://dingtalkclient/page/yunpan?route=externalLink

创建团队页面

dingtalk://dingtalkclient/page/createorg

dingtalk://dingtalkclient/page/groupchat

团队申请列表页

dingtalk://dingtalkclient/page/orgapplylist

搜索企业主页

dingtalk://dingtalkclient/page/search_enterprise_page

团队邀请二维码页面

dingtalk://dingtalkclient/page/group_invite_qrcode

dingtalk://dingtalkclient/page/findMoreTeam

DingTalk ID设置

dingtalk://dingtalkclient/page/dingtalk_id_settings

选择联系人发起办公电话

dingtalk://dingtalkclient/page/directCreateCall

title:选人组件的标题

dingtalk://dingtalkclient/page/projection_home

dingtalk://dingtalkclient/page/addContact

跳转浏览器

dingtalk://dingtalkclient/page/link?url=http%3A%2F%2Fwww.dingtalk.com&pc_slide=false

url:需要进行urlencode

dingtalk://dingtalkclient/page/connectionCircleHome

O1CN01gp5aYi1REgcDCViRe_!!6000000002080-2-tps-240-240.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK