Teams內嵌的卡片image的限制

我的LuckyDraw上線後收到了不少有價值的反饋,其中有一部分是針對圖片的,有一些用戶說他們填寫了image的url,但是圖片顯示不出來。

ImageIsUnavailable

實際上這個問題在我提交這個應用到微軟審覈團隊的時候,審覈團隊也提出了類似問題。但這個是Teams本身的限制。具體的文檔見: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/cards/cards-reference

其中有一段

Your card can contain an inline image by including a link to your publically available image. For performance purposes we highly recommend you host your image on a public content-delivery network (CDN).

Images are scaled up or down in size while maintaining the aspect ratio to cover the image area, and then cropped from center to achieve the appropriate aspect ratio for the card.

Images must be at most 1024×1024 and 1 MB in PNG, JPEG, or GIF format; animated GIF is not officially supported.

說白了,實際上Teams對於內嵌的card image有這麼一些要求:

  • 圖片是公開可訪問的。也就是說你的圖片url在任何可以上網的機器上都應該可以打開。不需要輸入用戶名密碼,不需要登入
  • 圖片的長寬最大是1024×1024。意思是寬度不能超過1024像素,高度也不能超過1024像素。這兩者必須同時滿足
  • 圖片文件的大小不能超過 1 MB
  • 圖片格式必須是PNG,JPEG,或者GIF。不支持BMP,TIFF,webp等其他圖片格式。並且Teams是不支持GIF動畫的

知道這個限制就簡單很多了。但是很多開發者也問過,如果要求用戶的圖片要滿足這些要求,好像有點困難,這也會是的app的用戶體驗比較差。有沒有更好的辦法。

辦法實際上有不少,最簡單的是可以使用第三方的圖片服務,比如國內的七牛雲圖片功能,可以方便得轉換圖片格式和大小。從而滿足Teams的上面這些需求。

當然我們也可以自己做一套簡易的圖片處理服務,下篇我會分享一下我爲LuckyDraw 2.0版本開發的圖片處理服務。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章