-
Notifications
You must be signed in to change notification settings - Fork 16
接入指南5.x
Sheng Pan edited this page Dec 15, 2017
·
2 revisions
• iOS 8.0 或更高.
• Xcode 9.0 或更高版本(建议使用最新版本)
基础版(basic) 需要把 YZBase.framework
和 YZBaseRes.bundle
加入到工程
在 XCode 的 build setting 中,为 other link flags 添加 -ObjC
、-all_load
、-lc++
。
- 设置Privacy (用户的留言可能需要用户选择图片)
- 设置 Schemes (付款需要用户打开微信和支付宝)
在 info.plist 中配置你的 app 的 scheme.
然后通过 [YZSDK setScheme:] 将 scheme 传递给 SDK.
[YZSDK setScheme:@"yzsdkdemo"]; // 改成你的 app scheme
接下来在 UIWebView 的对应代理方法中调用 SDK 的对应方法
- (void)webViewDidStartLoad:(UIWebView *)webView {
// 告知 sdk 一个新的请求开始加载了
[YZSDK webViewDidStartLoad:webView];
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
// 告知 sdk 一个请求失败了
[YZSDK webView:webView didFailLoadWithError:error];
}
// webview 加载完成
- (void)webViewDidFinishLoad:(UIWebView *)webView {
// 告知 sdk 页面加载完成
[YZSDK webViewDidFinishLoad:webView];
}
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
// 首先用 YZSDK 过滤无关的请求
BOOL should = [YZSDK webView:webView shouldStartLoadWithRequest:request navigationType:navigationType];
if (!should) {
return NO;
}
NSURL *url = [request URL];
// 解析是否是有赞的回调事件,并做相应处理
YZNotice *noticeFromYZ = [YZSDK noticeFromYouzanWithUrl:url];
if(noticeFromYZ.notice & YouzanNoticeLogin) { // 登录请求
} else if(noticeFromYZ.notice & YouzanNoticeShare) {// 分享事件
} else if(noticeFromYZ.notice & YouzanNoticeReady) {//有赞环境初始化成功,分享按钮可用
} else if (noticeFromYZ.notice & IsYouzanNotice) {// 其他事件
}
return YES;
}
只有配置了 Scheme, 并正确调用 SDK 的对应方法,微信支付完成后才能正确跳转回到你的 app 中。