在https://developer.imoji.io注册一个免费的开发者账户以获取API密钥
启动ImojiSDK的客户端ID和API令牌。您可以将此添加到AppDelegate的application:didFinishLaunchingWithOptions:方法中
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// setup imoji sdk
[[ImojiSDK sharedInstance] setClientId:[[NSUUID alloc] initWithUUIDString:@"client-id"]
apiToken:@"api-token"];
return YES;
}
由Iconka提供!
Imoji版本2.0.2及以上支持加载动态贴纸。ImojiSDK使用YYImage来高效地加载和显示动画内容。
渲染Imoji时,请确保为IMImojiObjectRenderingOptions实例设置renderAnimatedIfSupported为YES。这将指示渲染类下载并渲染动画内容。
您的应用程序需要使用YYAnimatedImageView(捆绑在ImojiSDK中)替代UIImageView,或者将动画GIF的内容提取到您自己的视图中(例如FLAnimatedImage)。YYAnimatedImageView是UIImageView的替代品,因此您可以简单地使用它来展示所有图像(动画或静态)。
使用YYAnimatedImageView加载动态内容
IMImojiObject *imoji;
IMImojiObjectRenderingOptions *options = [IMImojiObjectRenderingOptions optionsWithRenderSize:IMImojiObjectRenderSizeThumbnail];
options.renderAnimatedIfSupported = YES;
YYAnimatedImageView* view = [YYAnimatedImageView new];
[imojiSession renderImoji:imoji
options:options
callback:^(UIImage *image, NSError *renderError) {
view.image = image;
}];
要提取动画内容,您可以执行以下操作:
IMImojiObject *imoji;
IMImojiObjectRenderingOptions *options = [IMImojiObjectRenderingOptions optionsWithRenderSize:IMImojiObjectRenderSizeThumbnail];
options.renderAnimatedIfSupported = YES;
[imojiSession renderImoji:imoji
options:options
callback:^(UIImage *image, NSError *renderError) {
if (imoji.supportsAnimation && [image isKindOfClass:[YYImage class]]) {
YYImage *yyImage = (YYImage *) image;
NSData *animatedImageData = yyImage.animatedImageData;
// load animated data into view
}
}
];