在 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
}
}
];