最近公司项目在做关于出行方面的功能,需要接入滴滴出行,但是滴滴出行开放平台没有提供Demo,只有简单的文档,所以就只能自己一点点的研究了,顺便写下了这篇文章记录一下接入的大概过程。
创建应用并下载SDK
- 首先,需要到滴滴开放平台创建应用并下载SDK,应用创建完成后会有一段审核时间,审核通过后可以拿到AppId和Secret。
审核通过.jpg
导入并配置SDK
-
导入系统框架:SystemConfiguration、ImageIO、CoreLocation、CoreGraphics
-
在plist文件中添加scheme:
支付应用跳转.png -
在plist文件中添加如下配置:
定位权限.png -
在BuildSettings中找到Other Linker Flags,为其添加-ObjC。
调用滴滴SDK
- 首先需要使用appID和Secret注册滴滴SDK
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[DIOpenSDK registerApp:DIAppID secret:DISecret];
return YES;
}
- 然后再需要拉起滴滴页面的地方调用一下方法
[DIOpenSDK showDDPage:self animated:YES params:nil delegate:self];
到此为止,就可以使用滴滴打车的基本功能了。
效果图.gif-
但是在APP中,页面的色调一般都是统一的,为此,我们还可以自定义滴滴出行页面的导航栏,使这个页面看起来与APP的其他页面更加的协调。
自定义导航栏的方法如下:- 首先,服从协议DIOpenSDKDelegate
@interface ViewController ()<DIOpenSDKDelegate> @end
@protocol DIOpenSDKDelegate <NSObject> @optional // 打车页面关闭回调 - (void)pageClose __deprecated_msg("旧回调接口,请用 diopensdkMainPageClose接口替代"); - (void)diopensdkMainPageClose; - (DITopNavigationTheme *)diopensdkTopNavigationTheme; @end
- 实现协议方法 : - (DITopNavigationTheme *)diopensdkTopNavigationTheme;
- (DITopNavigationTheme *)diopensdkTopNavigationTheme{
DITopNavigationTheme *theme = [[DITopNavigationTheme alloc]init];
theme.backgroundColor = MainColor;
theme.statusBarStyle = UIStatusBarStyleLightContent;
theme.titleTextColor = [UIColor whiteColor];
theme.titleFont = [UIFont systemFontOfSize:18];
theme.leftBtnsShowStyle = DITopNavLeftBtnsShowStyleAlwaysShowBack;
theme.backHighlightImage = [UIImage imageNamed:@"backButton"];
theme.backNormalImage = [UIImage imageNamed:@"backButton"];
return theme;
}
这样就可以实现自定义滴滴出行页面的导航栏了。
效果图.gif
网友评论