3

我正在使用图像选择器在 react-native android 中选择动画 webp 图像,并且可以添加静态贴纸,但无法添加动画贴纸包。为了避免文件类型问题,我使用了来自 WhatsApp 的示例动画贴纸资产的示例贴纸。(在 50kb 和 3 个动画 webp 文件下,尺寸为 96x96 的 png 托盘图标)

我正在使用react-native-whatsapp-sticker并根据 repo react-native-dynamic-whatsapp-sticker对其进行了修改。这些模块自 2-3 年以来没有更新,因此 repo 不包含动画贴纸的代码。因此,我使用 WhatsApp 示例应用程序编译了我的模块并进行了相应的更改。如果我将动画贴纸包设置为 false,则构建 apk 并添加贴纸没有错误。但是设置“animated_sticker_pack”=true 然后添加贴纸包,WhatsApp 显示错误为“这个包有问题......”

下面是模块文件的代码和链接。我一直在努力解决它,但未能成功。提前致谢。

错误

代码:

    let pack = {
      "identifier": 'id1',
      "name": 'name1',
      "publisher": 'pub',
      "tray_image_file": tray,
      "publisher_email": Meta['EMAIL'],
      "publisher_website": Meta['SITE'],
      "privacy_policy_website": Meta['POLICY'],
      "license_agreement_website": Meta['LICENSE'],
      "image_data_version":"1",
      "avoid_cache":true,
      "animated_sticker_pack":true, // if false then works fine for static sticker 
      "stickers": stickers // array of {image_file:image.uri, emojis:['', ''],}
    }

  const send = (pack) => {
    return RNWhatsAppStickers.prepare(JSON.stringify(pack))
    .then(str => JSON.parse(str.slice('1')) ) // {"animated_sticker_pack": 1, "identifier": "id1", "isWhitelisted": 0, "name": "name1", "publisher": "pub"}
    .then(res => RNWhatsAppStickers.send(res.identifier,res.name) )
  }

所有负责将贴纸发送到 WhatsApp 的 5 个 java 文件。 https://github.com/CrackerKSR/temporary

4

0 回答 0