IOS菜鸟初学第八篇:接入京东联盟sdk,可打开任意京东的链接

        如果你想要你的app能跳转淘宝,京东,拼多多的商品详情页,或者优惠券,或者活动页(这个我没试过),个人在实现的过程中,淘宝和拼多多可直接根据url scheme打开url链接,就能唤起他们的app并打开对应链接的页面,看来他们对第三方开发是比较友好的,而京东,虽然能通过url scheme打开app。但是你要想打开一些商品详情,或者优惠券页面。你可能需要设置好一些参数,网上有几篇文章提到过,你们如果没特殊要求,可以用这种方式,而我这边后台给我的链接,是不能上面那种方式打开的,则必须通过接入sdk

下面我就跟大家分享一下sdk接入的几个注意事项。

参考文档:https://union.jd.com/helpcenter/12188-13088-46117

这里面android和ios版的。

这里我放出ios端实际操作流程:

一、在你的app在appstore中上线后,才能去京东联盟申请应用,审核通过才能进行下一步接入操作

这里非常之坑:你的ios端应用必须先上线,很恶心吧,如果你还只是个测试版,我建议就用前面的方式打开京东,或者还有一个方法,用safari浏览器打开链接,safari会自动弹出跳转到京东的弹框,也算是暂时的解决方案。

当然,我没试过填写android下载地址或者其他下载地址能否审核通过,你可以尝试一下。

京东联盟地址:https://union.jd.com/

登录进入后,创建ios端应用

可以看到,这都是必填的选项,最后一个就是要求AppStore下载地址。

好了,审核通过后就可以查看应用信息

最后下载sdk,准备嵌入到项目中

 

二、xcode项目集成京东SDK

1.将  JDSDK.framework 和 JDSDK.bundle导入到工程中(文档说将文件夹导入进去,也可以的,只是引用的时候注意路径问题)

导入这两个东西的要注意一些细节:1⃣️:先添加jdsdk.bundle,是在targets->build phases->copy bundle resource中添加的,添加的时候要勾选copy items if needed,要不然会导致找不到文件的。如下图所示

2⃣️:导入jdsdk.framework,我是直接拖拉到项目里面,上面那种方式我试过,但是不知道为啥有问题,你可以自己尝试一下。导入之后在项目的目录里面就会有这个文件夹,第3⃣️步会用到

3⃣️:在1⃣️中的那个copy bundle resource上面有个link binary with libraries,在这里添加jdsdk.framework的引用,要注意的时候,选择的时候要选择第2⃣️步导入到项目中的framework,而不是你下载的那个文件中那个。添加好后,顺便把他依赖的框架一起添加进去。弄完之后是下图这样。

2.将sdk导入进去后,看到接入文档还写了这样一句话:

因为我的xcode是最新版的,other linker flags里面已经添加好了-objc,还有一堆其他的,你检查就好了,没有就去添加。

 

3.配置urlscheme,权限配置

这个就直接参考文档就好了,没什么需要注意的地方。

 

4.在AppDelegate注册和使用

首先,导入.h文件

在didFinishLaunchingWithOptions方法中注册应用

[[KeplerApiManager sharedKPService]asyncInitSdk:@"你的appkey" secretKey:@"你的secretkey" sucessCallback:^{} failedCallback:^(NSError *error) {}];

在下面方法中添加回调函数:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options{
  
   return [[KeplerApiManager sharedKPService] handleOpenURL:url];

}

注意,这里你写完后很有可能提示错误,我发现是在KeplerApiManager.h文件中没有定义handleOpenURL方法,这里我修改了他的源码。添加了下面这句代码 

- (BOOL)handleOpenURL:(NSURL*)url;

参考图:

 

5.最后就是使用了,在你需要使用的地方做如下操作

先导入文件头

#import <JDSDK/KeplerApiManager.h>

在写调用唤起京东app打开url的方法 

// jdlink是京东链接
[[KeplerApiManager sharedKPService] openKeplerPageWithURL:jdlink userInfo:nil failedCallback:^(NSInteger code ,NSString *description) {
            NSLog(@"%ld@",(long)code);
            NSLog(@"%@",description);
        }];

好了,这就可以了,去测试吧。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值