PhotoEditorSDK:从服务器添加自定义覆盖
PhotoEditorSDK: Add custom overlays from server
我们在 iOS 和 Android 上使用 PhotoEditorSDK,并包含自定义叠加层。目前,我们通过将自定义叠加层添加到我们的主包中,然后向它们提供 URL(如 PESDK 文档中所述)来添加自定义叠加层。
如果资产存储在服务器上而不是添加到主包中,是否可以添加这些自定义叠加层?
本质上,我们希望能够更改服务器上的资产并让应用程序反映这一点,而不是在需要更改自定义覆盖时将新版本推送到应用程序商店。
在 iOS 上,叠加层的 url
和 thumbnailURL
绝对可以是远程的 URL 但请记住,图像将缓存在内存中和磁盘,因此如果您在服务器上替换它们而不更改名称,则不能保证一定会下载新图像。
要解决此问题,我的建议是您创建自己的逻辑来进行服务器调用,以获取有关新覆盖的信息。从中创建 Overlay
的实例并填充 Overlay.all
数组。
与 Android 相同,您可以简单地使用
一个 ImageSoruce,而不是一个 drawable id。
例如
new OverlayConfig(
"a_uniq_id",
"Title",
ImageSource.create(Uri.parse("https://content.mydomain/overlays/glasses-preview-128x128.png")),
ImageSource.create(Uri.parse("https://content.mydomain/overlays/glasses.png")),
BlendMode.DARKEN,
1.0f
);
我们在 iOS 和 Android 上使用 PhotoEditorSDK,并包含自定义叠加层。目前,我们通过将自定义叠加层添加到我们的主包中,然后向它们提供 URL(如 PESDK 文档中所述)来添加自定义叠加层。
如果资产存储在服务器上而不是添加到主包中,是否可以添加这些自定义叠加层?
本质上,我们希望能够更改服务器上的资产并让应用程序反映这一点,而不是在需要更改自定义覆盖时将新版本推送到应用程序商店。
在 iOS 上,叠加层的 url
和 thumbnailURL
绝对可以是远程的 URL 但请记住,图像将缓存在内存中和磁盘,因此如果您在服务器上替换它们而不更改名称,则不能保证一定会下载新图像。
要解决此问题,我的建议是您创建自己的逻辑来进行服务器调用,以获取有关新覆盖的信息。从中创建 Overlay
的实例并填充 Overlay.all
数组。
与 Android 相同,您可以简单地使用 一个 ImageSoruce,而不是一个 drawable id。
例如
new OverlayConfig(
"a_uniq_id",
"Title",
ImageSource.create(Uri.parse("https://content.mydomain/overlays/glasses-preview-128x128.png")),
ImageSource.create(Uri.parse("https://content.mydomain/overlays/glasses.png")),
BlendMode.DARKEN,
1.0f
);