Bootstrap

钉钉页面跳转_钉钉统一跳转协议

钉钉的统一跳转协议是指:钉钉客户端支持被唤起的一个scheme协议,当第三方开发者在其他app发起这个协议的时候,钉钉客户端会捕获指定格式URI跳转,并分析URI内容拿到页面描述信息,以此打开客户端本地页面。

这个能力可以支持一个如下场景:

一个第三方客户端app,在其页面内通过一个url跳转可以打开钉钉的客户端,同时钉钉会帮助其打开一个指定的url页面。代码示例如下:

Android 端代码如下:

```Java

/**

* 打开钉钉客户端 并在钉钉客户端打开传入的指定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代码如下:

```Objective-C

+(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]];

}

```

需要注意的是url后面的参数(即你希望钉钉打开的url页面地址)必须做urlencode。

;