IOS 接闲聊SDK登录和分享
世界杯实时直播 6133 2026-09-17 05:22:53

由于公司需要,就接了闲聊的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 *)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参数的,不知道为什么。

Copyright © 2022 98世界杯_乌拉圭世界杯 - cy078.com All Rights Reserved.