测试已测试 | ✓ |
语言语言 | Objective-CObjective C |
许可证 | Apache 2 |
发布最后发布 | 2015年7月 |
由Anthony Wong,Forrest Chauvin维护。
适用于iOS版本 >= 6.0 的Kik API库。
[[KikClient sharedInstance] openProfileForKikUsername:@"kikteam"];
您的消息内容有三种布局风格可供选择:文章和图片。当您编写要发送的内容消息时,您可以指定最适合您内容样式的布局。
要使用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
,视频在播放时将循环。换句话说,当播放到达视频结尾时,它将从开始处再次播放。默认值为 videoShouldLoop
为 NO
。
如果将 videoShouldBeMuted
属性设置为 YES
,视频将通过静音的音频轨道播放。如果在 videoShouldAutoplay
中设置为 YES
,则不显示取消静音按钮。默认值为 videoShouldBeMuted
为 NO
。
如果将 videoShouldAutoplay
属性设置为 YES
,当视频出现在聊天中时,将自动开始播放。默认情况下,视频将静音,并提供给用户的取消静音按钮。当用户轻触取消静音按钮时,将从视频开头重新播放,并启用音频。如果 videoShouldBeMuted
属性设置为 YES
,则不会显示取消静音按钮。如果要将 videoShouldAutoplay
设置为 YES
,附带的或链接的视频数据必须小于 1mb。默认值为 videoShouldAutoplay
为 NO
。
...
message.videoShouldLoop = YES;
message.videoShouldAutoplay = YES;
message.videoShouldBeMuted = YES;
如果您不希望允许用户将特定内容消息转发给朋友,您可以将 forwardable
属性在 KikMessage
中设置为 NO
。默认值为 forwardable
为 YES
。
...
message.forwardable = NO;
如果您不希望允许用户保存特定照片或视频消息,您可以在 KikMessage
上设置 disallowSave
属性为 YES
。默认值为 disallowSave
为 NO
。
...
message.disallowSave = YES;
对于任何内容消息,您都可以指定回退 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 继续聊天。在您的应用内部,使用 backToKik
方法,一旦用户在您的应用中查看了内容,就将用户返回到他们活动状态中的聊天。
[[KikClient sharedInstance] backToKik];
要运行示例项目,请克隆仓库,首先从“示例”目录中运行pod install
。
凯克互动股份有限公司
Kik API的使用受条款和条件以及可接受使用策略的约束。详细信息请参阅TERMS.md文件。
КикAPI的源代码在Apache 2.0许可下可用。有关详细信息,请参阅LICENSE.md文件。