KikAPI 1.1.0-beta1

KikAPI 1.1.0-beta1

测试已测试
语言语言 Objective-CObjective C
许可证 Apache 2
发布最后发布2015年7月

Anthony WongForrest Chauvin维护。



KikAPI 1.1.0-beta1

  • 作者:
  • Kik Interactive

Kik API

需求

适用于iOS版本 >= 6.0 的Kik API库。

安装

用法

打开Kik用户资料

[[KikClient sharedInstance] openProfileForKikUsername:@"kikteam"];

发送Kik内容消息

您的消息内容有三种布局风格可供选择:文章和图片。当您编写要发送的内容消息时,您可以指定最适合您内容样式的布局。

要使用API发送内容消息,您必须构建一个带有消息参数的KikMessage对象,并使用KikClient上的sendKikMessage方法发送。以下各节中的示例将展示如何构建和发送文章和图片内容消息。

文章

KikMessage *message = [KikMessage articleMessageWithTitle:@"Title of your Article"
                                                     text:@"Text of your Article"
                                               contentURL:@"http://www.yourcontent.com/thecontent"
                                               previewURL:nil];

[[KikClient sharedInstance] sendKikMessage:message];
  • 必须指定其中一个:标题文本
  • 必须指定contentURL。当用户在Kik上点击消息时,将在该目标URL处打开。
  • previewURL是可选的图像URL,可用于指定在消息中显示的缩略图预览

图片

// Create a photo message using URLs
KikMessage *message = [KikMessage photoMessageWithImageURL:@"http://www.images.com/image.png"
                                                previewURL:@"http://www.images.com/image_preview.png"];

[[KikClient sharedInstance] sendKikMessage:message];

在发送图像URL时,您可以指定一个使用Base64编码的Data URI作为标准Web URL的替代品。在这种情况下,数据将从Kik服务器上传和下载而不是直接通过提供的Web URL访问图像。

或者,你可以指定一个要发送的UIImage作为照片。

// Create a photo message from an UIImage object
UIImage *image = [UIImage imageNamed:@"image.png"];
KikMessage *message = [KikMessage photoMessageWithImage:image];

视频

// Create a video message using URLs
KikMessage *message = [KikMessage videoMessageWithVideoURL:@"http://www.videos.com/video.mp4"
                                                previewURL:@"http://www.videos.com/video_preview.png"];

[[KikClient sharedInstance] sendKikMessage:message];

视频文件应该使用H.264的基线配置编码视频和AAC编码音频。容器应该是mp4。视频文件的大小不能超过15MB,长度不超过2分钟。提供的预览图像应与视频的第一帧相匹配,并具有相同的纵横比。

如果使用videoShouldAutoplay属性标记视频为自动播放,则视频大小不能超过1MB。开发者鼓励测试他们的视频内容在一系列iOS和Android设备上的回放可靠性。

此外,您还可以指定一个包含视频数据的 NSData 对象以发送。在这种情况下,数据将被上传到并托管在 Kik 服务器上。

// Create a video message from an NSData object
NSString *videoPath = [[NSBundle mainBundle] pathForResource:@"video"
                                                      ofType:@"mp4"]; 
NSURL *videoURL = [NSURL fileURLWithPath:videoPath];
NSData *videoData = [NSData dataWithContentsOfURL:videoURL];
KikMessage *message = [KikMessage videoMessageWithData:videoData];
视频消息属性
循环播放

如果将 videoShouldLoop 属性设置为 YES,视频在播放时将循环。换句话说,当播放到达视频结尾时,它将从开始处再次播放。默认值为 videoShouldLoopNO

静音

如果将 videoShouldBeMuted 属性设置为 YES,视频将通过静音的音频轨道播放。如果在 videoShouldAutoplay 中设置为 YES,则不显示取消静音按钮。默认值为 videoShouldBeMutedNO

自动播放

如果将 videoShouldAutoplay 属性设置为 YES,当视频出现在聊天中时,将自动开始播放。默认情况下,视频将静音,并提供给用户的取消静音按钮。当用户轻触取消静音按钮时,将从视频开头重新播放,并启用音频。如果 videoShouldBeMuted 属性设置为 YES,则不会显示取消静音按钮。如果要将 videoShouldAutoplay 设置为 YES,附带的或链接的视频数据必须小于 1mb。默认值为 videoShouldAutoplayNO

...
message.videoShouldLoop = YES;
message.videoShouldAutoplay = YES;
message.videoShouldBeMuted = YES;

其他消息属性

可转发

如果您不希望允许用户将特定内容消息转发给朋友,您可以将 forwardable 属性在 KikMessage 中设置为 NO。默认值为 forwardableYES

...
message.forwardable = NO;

禁止保存

如果您不希望允许用户保存特定照片或视频消息,您可以在 KikMessage 上设置 disallowSave 属性为 YES。默认值为 disallowSaveNO

...
message.disallowSave = YES;

回退 URL

对于任何内容消息,您都可以指定回退 URL。当用户打开您的消息时,Kik 将检查回退 URL,以查看当前平台支持的 URL,并显示一条链接给用户,允许他们访问该 URL。

回退 URL 可以是任何类型的 URL,无论是链接到网站(例如,http://kik.com)还是原生的特定方案(例如,kik://users/kikteam/profile)。

如果您的应用支持 Android 和 iOS,您可以添加指向原生方案的链接,这将在各自的平台上打开您的应用。另外,如果您的应用未安装,Kik 将检测到您的原生方案未被处理。如果是这种情况,下一个按顺序回退 URL 将会呈现给用户。这是一个可以添加另一个回退 URL 的机会,该 URL 连接到 AppStore 上的 ITMS 链接或 Google Play 商店上的网页链接。

- (void)addFallbackURL:(NSString *)fallbackURL
           forPlatform:(KikMessagePlatform)platform;
示例
...
// launch the app first if available
[message addFallbackURL:@"test-iphone://api/launch" forPlatform:KikMessagePlatformiPhone];
[message addFallbackURL:@"test-android://api/launch" forPlatform:KikMessagePlatformAndroid];

// fallback to launching the app store on the given platform
[message addFallbackURL:@"itms-apps://itunes.apple.com/ca/app/kik/id357218860?mt=8" forPlatform:KikMessagePlatformiPhone];
[message addFallbackURL:@"https://play.google.com/store/apps/details?id=kik.android&hl=en" forPlatform:KikMessagePlatformAndroid];

在打开内容后返回 Kik

当用户在 Kik 内轻触您的内容并启动您的应用时,他们想返回 Kik 继续聊天。在您的应用内部,使用 backToKik 方法,一旦用户在您的应用中查看了内容,就将用户返回到他们活动状态中的聊天。

[[KikClient sharedInstance] backToKik];

示例项目

要运行示例项目,请克隆仓库,首先从“示例”目录中运行pod install

作者

凯克互动股份有限公司

许可证

Kik API的使用受条款和条件以及可接受使用策略的约束。详细信息请参阅TERMS.md文件。

КикAPI的源代码在Apache 2.0许可下可用。有关详细信息,请参阅LICENSE.md文件。