IOS 接闲聊SDK登录和分享

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33393942/article/details/82691184

由于公司需要,就接了闲聊的SDK,网上看了哈,很少关于闲聊的,我就在这里简单说说流程和他里面的坑吧。

一.注册闲聊账号

我觉得这个就没必要细说了,去闲聊官网,注册应用,拿到APPID。这些和微信基本一样。

二.下载闲聊SDK

这个和微信也是一样的,参考微信。

三.xcode工程配置和代码的编写

1.将下载好的SDK,还有两个.h文件放到xcode文件夹里面,位置随意。

2.配置白名单,在info里面有个UrlType,点击+号,第一个参数随意,第二个参数就很关键了,意味着点击闲聊登录,闲聊能否回调起你的APP,他的官方文档是这么写的@"xianliao123456789",emmm这个我就搞了很久,被他误导了,应该这么写 xianliao + APPID,不需要@也不需要"",唉,难受。

3.在info.plist里面需要的LSApplicationQesueriSchmes加个string类型的"xianliao";

4.在你的APPdelegate里面的didFinishLaunchingWithOptions函数里面为你的应用注册上APPID

[SugramApiManager registerApp:XL_AppID];大概就是这个样子;

5.在appAPPdelegate里面的这两个hans函数加上这几句代码

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:
(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if ([SugramApiManager handleOpenURL:url]) {
return YES;
}
return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([SugramApiManager handleOpenURL:url]) {
return YES;
}
return true;
}

6.然后就可以写登录代码了

当然,你需要判断用户是否安装了闲聊

[SugramApiManager isInstallSugram];就这句

SugramApiManager loginState:nil fininshBlock:^(SugramLoginCallBackType

callBackType, NSString *code, NSString *state) {
在这里面就可以获得code,有code了就可以去拿token,然后再去换取用户信息,这些和微信就很像了。就不说了
}];

7.闲聊分享

7.1分享纯文字

if ([SugramApiManager isInstallSugram]) {
        SugramShareTextObject *textObject = [[SugramShareTextObject alloc] init];
//        textObject.title = @"title";
        textObject.text = @"分享的内容";
//就这个函数就可以调起分享界面
        [SugramApiManager share:textObject fininshBlock:^(SugramShareCallBackType callBackType) {
            NSLog(@"callBackType:%ld", (long)callBackType);
        }];
    }

7.2分享图片

if ([SugramApiManager isInstallSugram]) {
        SugramShareImageObject *imageObject = [[SugramShareImageObject alloc] init];
        imageObject.imageData = [self imageData];
        [SugramApiManager share:imageObject fininshBlock:^(SugramShareCallBackType callBackType) {
            NSLog(@"callBackType:%ld", (long)callBackType);
        }];
    }
//这个是为了得到NSDate
- (NSData *)imageData {
    return [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"logo_1024x1024" ofType:@"png"]];
}

7.3分享链接


    if([SugramApiManager isInstallSugram]) {
        SugramShareGameObject *game = [[SugramShareGameObject alloc] init];
        game.roomToken = @"3123123123123123";//随意填
        game.roomId = @"12312312";//随意填
        game.title = @"游戏标题";
        game.text = @"游戏文本";
        game.imageUrl = @"https://img.alicdn.com/tps/TB1ADGXPXXXXXcTapXXXXXXXXXX-520-280.jpg";//这个url是个坑啊,如果想要是你在闲聊开放平台上注册的应用Icon图片,就直接填@"";这样就好了
        [SugramApiManager share:game fininshBlock:^(SugramShareCallBackType callBackType) {
            NSLog(@"callBackType:%ld", (long)callBackType);
        }];
    }

8.总结一下,坑的地方

8.1 就是白名单。。。官方文档上是写的@"xianliao123456789",然而只需要写 xianliao123456789 就好了,这就是点击了授权,没有回到APP的原因

8.2分享链接里面的那个ImageUrl,不需要就填个@""这个吧。不然nabu拿不到图片的。

8.3IPhone6貌似是获取不到Url参数的,不知道为什么。

阅读更多
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值