
èšèª ð¯ðµ æ¥æ¬èª
ã¯ããã«
èšå®
ã«ã¹ã¿ãã€ãº
äžçŽ
FastComments Image Chat ã¯ããŠãŒã¶ãŒãç»åäžã®ä»»æã®å Žæãã¯ãªãã¯ããŠè°è«ã®ãã€ã³ããäœæã§ããããã«ããããšã§ãç»åäžã§ã®ã€ã³ã¿ã©ã¯ãã£ããªãã£ã¹ã«ãã·ã§ã³ãå¯èœã«ããŸãããŠãŒã¶ãŒã¯ç»åã®ç¹å®ã®éšåãã¯ãªãã¯ããŠãã®ç®æã«ã€ããŠäŒè©±ãå§ããããšãã§ãããã£ã¹ã«ãã·ã§ã³ã®äœçœ®ã瀺ãèŠèŠçãªããŒã«ãŒãäœæãããŸãã
ãã®æ©èœã¯ããã¶ã€ã³ãã£ãŒãããã¯ã補åã¬ãã¥ãŒãå³ãå«ãæè²è³æãã³ã¡ã³ãä»ãã®ãã©ãã®ã£ã©ãªãŒããããŠç¹å®ã®ç»åäœçœ®ã«çŽä»ããæèçãªãã£ã¹ã«ãã·ã§ã³ãè¡ãããããããã·ããªãªã«æé©ã§ãã
ã¯ããã« 
ãŠãŒã¹ã±ãŒã¹
Image Chatã¯ãããŒã ãã¢ãã¯ã¢ãããã¹ã¯ãªãŒã³ã·ã§ããã®ç¹å®èŠçŽ ã«ã€ããŠè°è«ãããã¶ã€ã³ãã£ãŒãããã¯ã«æé©ã§ãã補åã¬ãã¥ãŒãµã€ãã§ã¯ã顧客ãåååçã«åã£ãŠããç¹å®ã®æ©èœã«ã€ããŠè°è«ã§ããŸããæè²ãã©ãããã©ãŒã ã§ã¯å³ãå°å³ãç§åŠç»åã®è°è«ã«å©çšã§ããŸãããã©ãã®ã£ã©ãªãŒã¯äœçœ®ç¹å®ã®ã³ã¡ã³ãã§ã€ã³ã¿ã©ã¯ãã£ãã«ãªããŸããäžåç£ãµã€ãã§ã¯ç©ä»¶åçã«åãç¹å®ã®ç¹åŸŽã«ã€ããŠé²èЧè ãè°è«ã§ããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒã
Image Chatã®éå§ã¯ç°¡åã§ããå¿ èŠãªã®ã¯ FastComments Image Chat ã¹ã¯ãªãããç»åãå«ã img èŠçŽ ãŸãã¯ã³ã³ããããã㊠Tenant ID ãå«ãèšå®ãªããžã§ã¯ãã§ãã
ã€ã³ã¹ããŒã«
ããŒãžã«Image Chatã¹ã¯ãªããã远å ããŸã:

åºæ¬çãªå®è£
æå°éã®äŸã瀺ããŸã:
Run 
Replace 'demo' with your actual FastComments Tenant ID if it's not already, which you can find in your FastComments ããã·ã¥ããŒã.
ä»çµã¿
åæåããããšããŠãŒã¶ãŒã¯ç»åã®ä»»æã®å Žæãã¯ãªãã¯ã§ããŸããã¯ãªãã¯ãçºçãããšããã®äœçœ®ã«åè§ãèŠèŠããŒã«ãŒã衚瀺ããããã£ãããŠã£ã³ããŠãéããŸããä»ã®ãŠãŒã¶ãŒã¯ãã¹ãŠã®ããŒã«ãŒãèŠãŠãããããã¯ãªãã¯ããŠè°è«ãé²èЧãããåå ãããã§ããŸãããã¹ãŠã®è°è«ã¯ãã¹ãŠã®èšªåè éã§ãªã¢ã«ã¿ã€ã ã«åæãããŸãã
ãŠã£ãžã§ããã¯ããŒã»ã³ããŒãžããŒã¹ã®äœçœ®æå®ã䜿çšãããããç»åããªãµã€ãºããããç°ãªãç»é¢ãµã€ãºã§è¡šç€ºããããããŠããããŒã«ãŒã¯æ£ããäœçœ®ã«ãšã©ãŸããŸãã
ã©ã€ããã¢
Image Chatã®åäœã¯ã©ã€ããã¢ããŒãžã§ç¢ºèªã§ããŸãã
次ã®ã¹ããã
åºæ¬ãåäœããããConfiguration Options ã¬ã€ãã§å€èгãæåãã«ã¹ã¿ãã€ãºã§ããŸããResponsive Design ã¬ã€ããåç §ããŠãããŒã»ã³ããŒãžããŒã¹ã®äœçœ®æå®ã®åäœãçè§£ããŠãã ãããCustomization ã¬ã€ãã§ã¹ã¿ã€ãªã³ã°ãããŒã¯ã¢ãŒãã®ãµããŒãã«ã€ããŠåŠãã§ãã ãããé«åºŠãªçµ±åã«ã€ããŠã¯ãAPI ãªãã¡ã¬ã³ã¹ãåç §ããŠãã ããã
ããã³ããšã³ãã©ã€ãã©ãª
ãã¹ãŠã® FastComments ããã³ããšã³ãã©ã€ãã©ãªïŒreactãvueãangular ãªã©ïŒã«ã¯ Image Chat ãå«ãŸããŠããŸãã
äŸ 
åºæ¬çãªäŸ
Image Chat ã䜿çšããæãç°¡åãªæ¹æ³ã¯ãåäžã®ç»åèŠçŽ ãã¿ãŒã²ããã«ããããšã§ãããã®äŸã¯ãç»åäžã§ã€ã³ã¿ã©ã¯ãã£ããªãã£ã¹ã«ãã·ã§ã³ãæå¹ã«ããæ¹æ³ã瀺ããŠããŸã:
Run 
ã³ã³ããèŠçŽ ã®äŸ
ç»åãå å ããã³ã³ããèŠçŽ ãæž¡ãããšãã§ããŸã:
Run 
ã«ã¹ã¿ã URL ID ã䜿çšããäŸ
ããã©ã«ãã§ã¯ãImage Chat ã¯ããŒãžã® URL ãšç»åã®ãœãŒã¹ããã³åº§æšãçµã¿åãããŠäŒè©±ãèå¥ããŸããã«ã¹ã¿ã ã® urlId ãæå®ã§ããŸã:
Run 
URL æ§é ã倿ŽãããŠãåãäŒè©±ãç¶æãããå Žåããè€æ°ã®ããŒãžã§åãè°è«ãã€ã³ããå ±æãããå Žåã«äŸ¿å©ã§ãã
ããŒã¯ã¢ãŒãã®äŸ
ãµã€ããããŒã¯ãªèæ¯ãæã¡ããŠã£ãžã§ãããèªåçã«æ€åºããªãå Žåã¯ãæåã§ããŒã¯ã¢ãŒããæå¹ã«ã§ããŸã:
Run 
ãã£ããã¹ã¯ãšã¢ã®ã«ã¹ã¿ã ãµã€ãºã®äŸ
ç»åäžã«è¡šç€ºãããã¯ãªãã¯å¯èœãªåè§ïŒã¹ã¯ãšã¢ïŒã®ãµã€ãºã調æŽã§ããŸãããµã€ãºã¯ç»åå¹ ã«å¯ŸããããŒã»ã³ããŒãžã§æå®ããŸã:
Run 
ã³ã¡ã³ãæ°ã³ãŒã«ããã¯ã®äŸ
ã³ã¡ã³ãã远å ãŸãã¯æŽæ°ããããšã㯠commentCountUpdated ã³ãŒã«ããã¯ã§è¿œè·¡ã§ããŸã:

è€æ°ç»åã§ã®äŸ
è€æ°ã®ç»åã«å¯Ÿã㊠Image Chat ãåæåã§ããŸããåç»åã¯ç¬ç«ãããã£ã¹ã«ãã·ã§ã³ãã€ã³ããæã¡ãŸã:
Run 
èšå®ãªãã·ã§ã³ 
æŠèŠ
FastComments Image Chatã¯æšæºã®FastCommentsã³ã¡ã³ããŠã£ãžã§ãããæ¡åŒµããŠãããããŒã¹ãŠã£ãžã§ããã®ãã¹ãŠã®èšå®ãªãã·ã§ã³ãç¶æ¿ãã€ã€ãç»å泚éã«ç¹åããããã€ãã®ãªãã·ã§ã³ã远å ããŸãã
å¿ é ã®èšå®
tenantId
FastCommentsã®Tenant IDãå¿ èŠã§ããããã¯FastComments dashboardã§ç¢ºèªã§ããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo'
});
Image Chat åºæã®ãªãã·ã§ã³
urlId
æ¢å®ã§ã¯ãImage Chatã¯ããŒãžã®URLãç»åã®ãœãŒã¹ãX/Y座æšã«åºã¥ããŠåäŒè©±ã®ããã®äžæã®èå¥åãçæããŸããã«ã¹ã¿ã ã®urlIdã§ãããäžæžãã§ããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
urlId: 'my-custom-image-id'
});
ããã¯ãURLæ§é ãå€ããå¯èœæ§ããããåãäŒè©±ãä¿æãããå Žåããè€æ°ã®ããŒãžã«ããã£ãŠæ³šéãå ±æãããå Žåã«äŸ¿å©ã§ãã
chatSquarePercentage
ã¯ãªãã¯å¯èœãªãã£ããããŒã«ãŒã®ãµã€ãºãç»åå¹ ã«å¯ŸããããŒã»ã³ããŒãžã§å¶åŸ¡ããŸããããã©ã«ãã¯5%ã§ãåããŒã«ãŒã¯ç»åå¹ ã®5%ã«ãªããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
chatSquarePercentage: 8 // ãã倧ãããç®ç«ã€ããŒã«ãŒ
});
å°ããå€ã¯è©³çްãªç»åã«å¯ŸããŠç®ç«ã¡ã«ããããŒã«ãŒãäœããŸãã倧ããå€ã¯ãæ å ±éã®å€ãç»åãã¢ãã€ã«ããã€ã¹ã®ãŠãŒã¶ãŒã«ãšã£ãŠããŒã«ãŒãèŠããããã¯ãªãã¯ããããããŸãã
hasDarkBackground
ããŒãžã«ããŒã¯ãªèæ¯ãããå Žåã«ããŒã¯ã¢ãŒãã®ã¹ã¿ã€ãªã³ã°ãæå¹ã«ããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
hasDarkBackground: true
});
commentCountUpdated
ã³ã¡ã³ãæ°ãå€åãããã³ã«çºç«ããã³ãŒã«ããã¯é¢æ°ã§ãããããžãããŒãžã¿ã€ãã«ãªã©ã®UIèŠçŽ ãæŽæ°ããã®ã«äŸ¿å©ã§ãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
commentCountUpdated: function(count) {
console.log('Total comments:', count);
document.getElementById('badge').textContent = count;
}
});
ç¶æ¿ãããèšå®ãªãã·ã§ã³
Image Chatã¯æšæºã®ã³ã¡ã³ããŠã£ãžã§ãããæ¡åŒµããŠãããããããŒã¹ã®FastCommentsãŠã£ãžã§ããã®ä»»æã®èšå®ãªãã·ã§ã³ã䜿çšã§ããŸãã以äžã¯ãã䜿ããããªãã·ã§ã³ã§ãïŒ
locale
ãŠã£ãžã§ããUIã®èšèªãèšå®ããŸããFastCommentsã¯æ°åã®èšèªããµããŒãããŠããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
locale: 'es' // Spanish
});
readonly
ãã¹ãŠã®äŒè©±ãèªã¿åãå°çšã«ããŸãããŠãŒã¶ãŒã¯æ¢åã®ããŒã«ãŒãè°è«ãé²èЧã§ããŸãããæ°ããããŒã«ãŒã®äœæãè¿ä¿¡ã¯ã§ããŸããã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
readonly: true
});
sso and simpleSSO
ã·ã³ã°ã«ãµã€ã³ãªã³ã䜿çšããŠèªèšŒã·ã¹ãã ãšçµ±åããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
sso: {
// SSOã®èšå®
}
});
èªèšŒãªãã·ã§ã³ã®è©³çްã«ã€ããŠã¯SSOããã¥ã¡ã³ããåç §ããŠãã ããã
maxReplyDepth
è¿ä¿¡ã®æ·±ãïŒãã¹ãã®ã¬ãã«ïŒãå¶åŸ¡ããŸããæ¢å®ã§ã¯ãImage Chatã¯ããã0ã«èšå®ããŠããããã¹ãŠã®ã³ã¡ã³ãã¯ãã©ããïŒãã¹ããªãïŒã§ããã¹ã¬ããåãããäŒè©±ã«ãããå Žåã¯ããã倿Žã§ããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
maxReplyDepth: 3 // Allow 3 levels of nesting
});
å éšèšå®
ãããã®ãªãã·ã§ã³ã¯Image Chatã«ãã£ãŠèªåçã«èšå®ãããäžæžããã¹ãã§ã¯ãããŸããïŒ
productIdã¯Image Chatã§ã¯èªåçã«2ã«èšå®ãããŸãããã£ãããŠã£ã³ããŠæ©èœãæäŸããããã«floating-chatæ¡åŒµãèªåçã«èªã¿èŸŒãŸããŸãããŠã£ãžã§ããã¯èªåçã«ã¢ãã€ã«ããã€ã¹ïŒå¹
768pxæªæºã®ç»é¢ïŒãæ€åºãããã«ã¹ã¯ãªãŒã³ã®ãã£ãããŠã£ã³ããŠã§UIã調æŽããŸãã
ã¿ãŒã²ããèŠçŽ ã®æè»æ§
FastCommentsImageChatã®æåã®ãã©ã¡ãŒã¿ã¯ãçŽæ¥ã®<img>èŠçŽ ã§ããç»åãå«ãã³ã³ããèŠçŽ ã§ãããŸããŸããïŒ
// çŽæ¥ã®ç»åèŠçŽ
FastCommentsImageChat(document.getElementById('my-image'), config);
// ç»åãå«ãã³ã³ãã
FastCommentsImageChat(document.querySelector('.image-wrapper'), config);
ã³ã³ããèŠçŽ ãæž¡ããå ŽåããŠã£ãžã§ããã¯èªåçã«ç»åãèŠã€ããŸãã
å®å šãªäŸ
è€æ°ã®èšå®ãªãã·ã§ã³ãçµã¿åãããäŸã瀺ããŸãïŒ
FastCommentsImageChat(document.getElementById('product-image'), {
tenantId: 'demo',
urlId: 'product-v2-main',
chatSquarePercentage: 6,
hasDarkBackground: false,
locale: 'en',
commentCountUpdated: function(count) {
document.title = count > 0 ? `(${count}) Product Photo` : 'Product Photo';
},
sso: {
// ããªãã®SSOèšå®
},
maxReplyDepth: 1
});
å©çšå¯èœãªãã¹ãŠã®èšå®ãªãã·ã§ã³ã®å®å šãªãªã¹ãã«ã€ããŠã¯ãããŒã¹ãŠã£ãžã§ããããç¶æ¿ãããèšå®ã«é¢ããã¡ã€ã³ã®FastCommentsæ§æããã¥ã¡ã³ããåç §ããŠãã ããã
ã¬ã¹ãã³ã·ããã¶ã€ã³ 
ããŒã»ã³ããŒãžããŒã¹ã®äœçœ®æå®
Image Chat ã¯ãç»åäžã®ãã£ããããŒã«ãŒãé 眮ããããã«ãã¯ã»ã«åº§æšã§ã¯ãªãããŒã»ã³ããŒãžããŒã¹ã®åº§æšã䜿çšããŸãããŠãŒã¶ãŒãç»åãã¯ãªãã¯ãããšããŠã£ãžã§ããã¯ã¯ãªãã¯ã®ãã¯ã»ã«åº§æšãç»åã®å¹ ãšé«ãã«å¯ŸããããŒã»ã³ããŒãžã«å€æããŸãããã®æ¹æ³ã«ãããç»åã®è¡šç€ºæ¹æ³ã«é¢ä¿ãªãããŒã«ãŒãæ£ããäœçœ®ã«ä¿æãããŸãã
äŸãã°ããŠãŒã¶ãŒãå¹ 1000pxã®ç»åã®å·Šç«¯ãã250ãã¯ã»ã«ã®äœçœ®ãã¯ãªãã¯ããå ŽåããŠã£ãžã§ããã¯ãããå·Šãã25%ãšããŠä¿åããŸããå¥ã®ãŠãŒã¶ãŒãåãç»åãã¢ãã€ã«ç«¯æ«ã§å¹ 500pxã§è¡šç€ºãããšãããŒã«ãŒã¯å·Šãã125ãã¯ã»ã«ã®äœçœ®ã«è¡šç€ºãããŸãããããã¯å¹ ã®25%ã«çžåœããŸãã
ã¬ã¹ãã³ã·ãã¬ã€ã¢ãŠãã«ãããå©ç¹
ãã®ããŒã»ã³ããŒãžæ¹åŒã«ãããImage Chat ã¯ãã¹ãŠã®ããã€ã¹ãµã€ãºãšåãã§ã·ãŒã ã¬ã¹ã«åäœããŸããç»åã¯ç»é¢å¹ ãCSSã«ãŒã«ããŸãã¯ã³ã³ããã®å¶çŽã«å¿ããŠç°ãªããµã€ãºã§è¡šç€ºãããããšããããŸãããããŒã«ãŒã¯åžžã«æå³ããäœçœ®ã«æ£ããæããŸãã
倧ããªã¢ãã¿ãŒã䜿ããã¹ã¯ããããŠãŒã¶ãŒããå°ããªç»é¢ã®ã¹ããŒããã©ã³ãŠãŒã¶ãŒããããŒã«ãŒã¯åãçžå¯Ÿçãªäœçœ®ã«è¡šç€ºãããŸããããŒã«ãŒã¯ç»åèªäœãšãšãã«æ¯äŸããŠã¹ã±ãŒã«ããŸãã
ç»åã®ã¹ã±ãŒãªã³ã°ãšã¢ã¹ãã¯ãæ¯
ç»åãã¹ã±ãŒãªã³ã°æã«ã¢ã¹ãã¯ãæ¯ãç¶æããŠããéãïŒããã¯ãã©ãŠã¶ã®ããã©ã«ãåäœã§ãïŒãããŒã»ã³ããŒãžããŒã¹ã®ããŒã«ãŒã¯å®å šã«æŽåãããŸãŸã«ãªããŸãããŠã£ãžã§ããã¯ç»åãæ¯äŸããŠã¹ã±ãŒã«ãããšä»®å®ããŠäœçœ®ãèšç®ããŸãã
ãã object-fit: cover ã®ããã«ç¹å®ã®å¯žæ³ã§ç»åã®ã¢ã¹ãã¯ãæ¯ãæªãããã㪠CSS ãé©çšãããšãããŒã«ãŒã®äœçœ®ãæ£ããæããªãå ŽåããããŸããæè¯ã®çµæãåŸãã«ã¯ãç»åãèªç¶ã«ã¹ã±ãŒã«ãããããã¢ã¹ãã¯ãæ¯ãç¶æããããã« object-fit: contain ã䜿çšããŠãã ããã
ãã£ããåè§ã®ãµã€ãºæå®
ãã£ããããŒã«ãŒã®èŠèŠçãªå€§ãããããŒã»ã³ããŒãžããŒã¹ã§ããchatSquarePercentage èšå®ãªãã·ã§ã³ã¯ããã©ã«ãã§5%ã«ãªã£ãŠãããååè§ã¯ç»åå¹
ã®5%ã«ãªããŸããããã«ãããç°ãªãç»åãµã€ãºéã§èŠèŠçãªå€§ãããäžè²«ããŸãã
å¹ 1000pxã®ç»åã§ããã©ã«ãã®5%èšå®ã䜿çšãããšãããŒã«ãŒã¯50pxåæ¹ã«ãªããŸããå¹ 500pxã®ç»åã§ã¯ãåãããŒã«ãŒã¯25pxåæ¹ã«ãªããŸãããããã¯ç»åãµã€ãºã«å¯ŸããŠæ¯äŸãããŸãŸã§ãã
ã¢ãã€ã«ã§ã®æå
å¹ ã768pxæªæºã®ç»é¢ã§ã¯ãImage Chat ã¯ã¢ãã€ã«æé©åã¬ã€ã¢ãŠãã«åãæ¿ãããŸãããã£ãããŠã£ã³ããŠã¯ããŒã«ãŒã®æšªã«æµ®ãã¶ã®ã§ã¯ãªãå šç»é¢ã§éããŸããããã¯ãæµ®åãããŠã£ã³ããŠãç»åãé床ã«é®ã£ãŠããŸãå°ããªç»é¢ã§ã®äœ¿ãããããåäžãããŸãã
ããŒã«ãŒèªäœã¯ããŒã»ã³ããŒãžããŒã¹ã®äœçœ®ã«è¡šç€ºãããã¯ãªãã¯å¯èœãªãŸãŸã§ãããŠãŒã¶ãŒã¯ãã£ã¹ã«ãã·ã§ã³ã®äœçœ®ã確èªããããŒã«ãŒãã¿ããããŠå šç»é¢ã®ãã£ããã€ã³ã¿ãŒãã§ãŒã¹ãéãããšãã§ããŸãã
åçãªç»åèªã¿èŸŒã¿
ç»åãéåæã§èªã¿èŸŒãŸãããããŒãžèªã¿èŸŒã¿åŸã«ãµã€ãºãå€ãã£ããããŠããããŒã»ã³ããŒãžããŒã¹ã®ã·ã¹ãã ã¯æ£ããæ©èœããŸãããŠã£ãžã§ããã¯ç»åèŠçŽ ãç£èŠããç»åã®å¯žæ³ãå€ãããã³ã«ããŒã«ãŒäœçœ®ãåèšç®ããŸãã
é å»¶èªã¿èŸŒã¿ãè¡ã£ãŠããå Žåãããã¬ãŒã¯ãã€ã³ãããšã«ç°ãªããµã€ãºã®ã¬ã¹ãã³ã·ãç»åãå®è£ ããŠããå Žåã§ããç»åãµã€ãºãå€ãããšããŒã«ãŒã¯èªåçã«èª¿æŽãããŸãã
ããã€ã¹éã§ã®äžè²«æ§
座æšãããŒã¿ããŒã¹ã«ããŒã»ã³ããŒãžãšããŠä¿åãããããããã¹ã¯ãããã§äœæããããã£ã¹ã«ãã·ã§ã³ã¯ã¿ãã¬ãããé»è©±ã§è¡šç€ºããŠãåãçžå¯Ÿäœçœ®ã«è¡šç€ºãããŸãããŠãŒã¶ãŒã¯ããã€ã¹ãè·šãã§ååããŠãäœçœ®ã®äžæŽåãçºçããŸããã
ããã¯åæ¹åã«æ©èœããŸããã¢ãã€ã«ããã€ã¹ã§ç¹å®ã®ã¹ããããã¿ããããŠäœæããããã£ã¹ã«ãã·ã§ã³ã¯ã倧ããªãã¹ã¯ãããã¢ãã¿ãŒã§è¡šç€ºããŠãåãçžå¯Ÿäœçœ®ã«è¡šç€ºãããŸãã
ãã¥ãŒããŒãã«é¢ããèæ ®
ãŠã£ãžã§ããã¯ããŒã»ã³ããŒãžããã¥ãŒããŒãã§ã¯ãªãç»åèŠçŽ èªäœã«å¯ŸããŠèšç®ããŸããã€ãŸããããŒãžãã¹ã¯ããŒã«ããããã©ãŠã¶ãŠã£ã³ããŠã®ãµã€ãºã倿ŽãããããŠãããŒã«ãŒã®äœçœ®ã«ã¯åœ±é¿ããŸãããããŒã«ãŒã¯ãã¥ãŒããŒãã®å€æŽã«é¢ä¿ãªãç»åäžã®äœçœ®ã«åºå®ãããŸãã
å°æ¥ãžã®åã
ããŒã»ã³ããŒãžããŒã¹ã®ã¢ãããŒãã«ãããã¬ã€ã¢ãŠãããã¶ã€ã³ãããã€ã¹ç°å¢ã®å€åã«å¯ŸããŠç»åãã£ã¹ã«ãã·ã§ã³ã¯åŒ·éã«ãªããŸããæ°ããç»é¢ãµã€ãºãããã€ã¹ãç»å ŽããŠããæ¢åã®ãã£ã¹ã«ãã·ã§ã³ã¯æŽæ°ãç§»è¡ãå¿ èŠãšããæ£ãã衚瀺ããç¶ããŸãã
ã«ã¹ã¿ãã€ãº 
ããŒã¯ã¢ãŒãã®ãµããŒã
Image Chat ã«ã¯çµã¿èŸŒã¿ã®ããŒã¯ã¢ãŒããµããŒãããããŸããèšå®ã§ hasDarkBackground: true ãæå®ãããšããã£ãããŠã£ã³ããŠã UI èŠçŽ ãèªåçã«ããŒã¯èæ¯ã«é©ãã衚瀺ã«èª¿æŽãããŸãã
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
hasDarkBackground: true
});
ããŒã¯ã¢ãŒãã®ã¹ã¿ã€ãªã³ã°ã¯ãã£ãããŠã£ã³ããŠãããŒã«ãŒã®åè§ããããŠãã¹ãŠã®ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ã«é©çšãããŸãããµã€ãã«ããŒã¯ã¢ãŒãã®ãã°ã«ãããå Žåãã¢ãŒã倿޿ã«ãŠã£ãžã§ãããååæåãããã以äžã«èª¬æãã body ã¯ã©ã¹æ¹åŒã䜿çšã§ããŸãã
ãã€ãããã¯ããŒã¯ã¢ãŒã
ãµã€ãã®ããŒã¯ã¢ãŒãã body èŠçŽ ã« .dark ã¯ã©ã¹ã远å ããããšã§å¶åŸ¡ãããŠããå ŽåãImage Chat ã® UI ã¯ååæåãå¿
èŠãšããèªåçã«ãããåæ ããŸãããŠã£ãžã§ããã®ã¹ã¿ã€ã«ã¯ãã®ã¯ã©ã¹ã®æç¡ã«å¿ããŠåå¿ããããèšèšãããŠããŸãã
/* ããŒã¯ã¢ãŒãçšã® CSS */
body.dark {
background: #1a1a1a;
color: #ffffff;
}
CSS ã«ããã«ã¹ã¿ã ã¹ã¿ã€ãªã³ã°
ããŒã«ãŒããã£ãããŠã£ã³ããŠããã®ä»ã®èŠçŽ ã®å€èŠ³ã¯ CSS ã§ã«ã¹ã¿ãã€ãºã§ããŸãããŠã£ãžã§ããã¯ç¹å®ã®ã¯ã©ã¹ã远å ãããããã¹ã¿ã€ã«ã·ãŒãã§ããããã¿ãŒã²ããã«ã§ããŸãã
ãã£ããã®åè§ãšãŠã£ã³ããŠã¯ FastComments ã®ã³ã¡ã³ãããã«ã®ã¹ã¿ã€ãªã³ã°ã·ã¹ãã ã䜿çšããŠãããããæšæºã®ã³ã¡ã³ããŠã£ãžã§ããã«é©çšããã«ã¹ã¿ãã€ãºã¯ Image Chat ã«ãåæ ãããŸãã
ãã£ããã¹ã¯ãšã¢ã®ãµã€ãºèª¿æŽ
chatSquarePercentage ãªãã·ã§ã³ã¯ã¯ãªãã¯å¯èœãªããŒã«ãŒã®ãµã€ãºãå¶åŸ¡ããŸããããã©ã«ãã¯ç»åå¹
ã® 5% ã§ãïŒ
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
chatSquarePercentage: 7 // 倧ããã§èŠèªæ§ã®é«ãã¹ã¯ãšã¢
});
å€ãå°ãããããšç»åã«éŠŽæãæ§ãããªããŒã«ãŒã«ãªããŸããå€ã倧ãããããšãç¹ã«ã¢ãã€ã«ããã€ã¹ãã¢ã¯ã»ã·ããªãã£ã®èгç¹ã§ããŒã«ãŒãç®ç«ã¡ãã¯ãªãã¯ãããããªããŸãã
ã¢ãã€ã«ã§ã®æå
å¹ ã 768px æªæºã®ç»é¢ã§ã¯ãImage Chat ã¯èªåçã«ã¢ãã€ã«æé©åã¬ã€ã¢ãŠãã«åãæ¿ãããŸãããã£ãããŠã£ã³ããŠã¯ããŒã«ãŒæšªã«æµ®ãã¶ä»£ããã«ãã«ã¹ã¯ãªãŒã³ã§è¡šç€ºãããå°ããç»é¢ã§ã®äœ¿ãããããåäžããŸãã
ããŒã«ãŒã¯ç»åäžã®ã¬ã¹ãã³ã·ããªäœçœ®ã«è¡šç€ºããããŸãŸã§ãããŠãŒã¶ãŒã¯ä»»æã®ããŒã«ãŒãã¿ããããŠãã«ã¹ã¯ãªãŒã³ã®ãã£ããã€ã³ã¿ãŒãã§ãŒã¹ãéããŸãããã®æåã¯çµã¿èŸŒã¿æžã¿ã§ãèšå®ã¯äžèŠã§ãã
ãã£ãããŠã£ã³ããŠã®å€èг
ãã£ãããŠã£ã³ããŠã¯ãã¹ã¯ãããã§ã¯å¹
300pxãããŒã«ãŒãæã 16px ã®ç¢å°ããããŸãããŠã£ã³ããŠã¯å©çšå¯èœãªãã¥ãŒããŒã空éã«åºã¥ããŠèªåçã«äœçœ®ã決ããto-rightãto-leftãto-topãto-bottom ã®ãããªé
眮ã¯ã©ã¹ã䜿çšããŸãã
è²ããã©ã³ããééããã®ä»ã®èŠèŠããããã£ã調æŽããããã«ã«ã¹ã¿ã CSS ã远å ã§ããŸãããã£ãããŠã£ã³ããŠã¯æšæºã® FastComments ãŠã£ãžã§ãããšåãã³ã³ããŒãã³ãæ§é ã䜿çšããŠãããããé©çšããã°ããŒãã«ãªã«ã¹ã¿ãã€ãºãç¶æ¿ããŸãã
é å»¶åæå
ãã£ãããŠã£ã³ããŠã¯ãã¹ã¯ããããŠãŒã¶ãŒã§ã¯ãããŒæã«ããŸãã¯äœææã«å³åº§ã«åæåãããŸããããã«ããããŠãŒã¶ãŒãå®éã«ããŒã«ãŒãšå¯Ÿè©±ãããŸã§ãã£ããã€ã³ã¿ãŒãã§ãŒã¹ã®ã¬ã³ããªã³ã°ãè¡ããªããããåæã®èªã¿èŸŒã¿è² è·ã軜æžãããŸãã
é å»¶åæåã¯ééçã«è¡ãããŸãããŠãŒã¶ãŒã¯é å»¶ãæããŸããããç»åäžã«å€æ°ã®ããŒã«ãŒãããå Žåã§ããã©ãŠã¶ãé ãããã£ãããŠã£ã³ããŠãäœååãã¬ã³ããªã³ã°ããå¿ èŠã¯ãããŸããã
ããŒã«ãªãŒãŒã·ã§ã³
Image Chat ã¯æšæºã® FastComments ãŠã£ãžã§ãããšåãããŒã«ãªãŒãŒã·ã§ã³ãªãã·ã§ã³ããã¹ãŠãµããŒãããŸããlocale ãªãã·ã§ã³ãèšå®ã㊠UI ããã¹ããå¥ã®èšèªã§è¡šç€ºã§ããŸãïŒ
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
locale: 'fr' // ãã©ã³ã¹èª
});
FastComments ã¯æ°åã®èšèªããµããŒãããŠããŸãããã±ãŒã«èšå®ã¯ããã³ããããã¿ã³ããã¬ãŒã¹ãã«ããŒããã¹ããå«ããã¹ãŠã® UI ããã¹ãã«åœ±é¿ããŸãã
ç¶æ¿ãããã«ã¹ã¿ãã€ãºãªãã·ã§ã³
Image Chat ã¯æšæºã®ã³ã¡ã³ããŠã£ãžã§ãããæ¡åŒµããŠãããããããŒã¹ãŠã£ãžã§ãããããã¹ãŠã®ã«ã¹ã¿ãã€ãºãªãã·ã§ã³ãç¶æ¿ããŸããããã«ã¯ã«ã¹ã¿ã CSS ã¯ã©ã¹ãã«ã¹ã¿ã 翻蚳ãã¢ãã¿ãŒã®ã«ã¹ã¿ãã€ãºãæ¥ä»ãã©ãŒããããªã©ãå«ãŸããŸãã
å©çšå¯èœãªãã¹ãŠã®ã«ã¹ã¿ãã€ãºãªãã·ã§ã³ã®å®å šãªäžèЧã¯ãFastComments ã®ã¡ã€ã³ã®ã«ã¹ã¿ãã€ãºããã¥ã¡ã³ããåç §ããŠãã ããã
ã«ã¹ã¿ã ãã©ã³ãã®å©çš
ãµã€ãã§ã«ã¹ã¿ã ãã©ã³ãã䜿çšããŠããå ŽåãImage Chat ã® UI ã¯ããŒãžã® CSS ãããããã®ãã©ã³ããç¶æ¿ããŸãããã£ãããŠã£ã³ããŠã¯ããŒãžã® DOM å ã«ã¬ã³ããªã³ã°ãããæ¢åã®ã¿ã€ãã°ã©ãã£èšå®ãå°éããŸãã
æè¯ã®çµæãåŸãã«ã¯ãImage Chat ãåæåããåã«ã«ã¹ã¿ã ãã©ã³ããããŒããããŠããããšã確èªãããããã©ã³ãèªã¿èŸŒã¿äžã«ã¹ã¿ã€ã«ã®ãªãããã¹ããäžæçã«è¡šç€ºãããããšã蚱容ããŠãã ããã
ããŒã«ãŒã®ããžã¥ã¢ã«ãã¶ã€ã³
åè§ãããŒã«ãŒã¯ç®ç«ã¡ãããªãæ§ãããªããžã¥ã¢ã«ãã¶ã€ã³ã«ãªã£ãŠããŸããç°ãªãèŠãç®ã«ãããå Žå㯠CSS ã§å€èгãã«ã¹ã¿ãã€ãºã§ããŸãã
ããŒã«ãŒã«ã¯ãããŒã¹ããŒããããããŠãŒã¶ãŒãããŠã¹ãä¹ããéã«ãã£ãŒãããã¯ãæäŸããŸããã¿ããããã€ã¹ã§ã¯ãã¿ããæäœããã£ãããŠã£ã³ããŠãéãããšã§å³æã®ãã£ãŒãããã¯ãæäŸããŸãã
ã©ã€ãåæ 
ãªã¢ã«ã¿ã€ã æŽæ°
Image Chatã¯WebSocketæ¥ç¶ã䜿çšããŠãæ¥ç¶äžã®ãã¹ãŠã®ãŠãŒã¶ãŒéã§äŒè©±ããªã¢ã«ã¿ã€ã ã«åæããŸãã誰ããæ°ããããŒã«ãŒãäœæããããã³ã¡ã³ãã远å ãããããã£ã¹ã«ãã·ã§ã³ãåé€ããããããšãåãç»åãèŠãŠããä»ã®ãã¹ãŠã®ãŠãŒã¶ãŒã¯ããŒãžãæŽæ°ããããšãªãå³åº§ã«ãã®æŽæ°ã確èªã§ããŸãã
WebSocketåæã®ä»çµã¿
Image ChatãåæåãããšããŠã£ãžã§ããã¯FastCommentsãµãŒããŒãžã®WebSocketæ¥ç¶ã確ç«ããŸãããã®æ¥ç¶ã¯ãŠãŒã¶ãŒã®ã»ãã·ã§ã³æéäžéãããŸãŸãšãªããçŸåšã®ç»åã«é¢é£ããæŽæ°ãåŸ ã¡åããŸãã
WebSocketã·ã¹ãã ã¯Image Chatã®ããã«3çš®é¡ã®ãããŒããã£ã¹ãã¡ãã»ãŒãžã䜿çšããŸããnew-image-chat ã€ãã³ãã¯èª°ããç»åäžã«æ°ããããŒã«ãŒãäœæãããšãã«çºç«ããŸããimage-chat-updated ã€ãã³ãã¯èª°ããæ¢åã®äŒè©±ãæŽæ°ãããšãã«çºç«ããŸããdeleted-image-chat ã€ãã³ãã¯èª°ããããŒã«ãŒãåé€ãããšãã«çºç«ããŸãã
ãããŒããã£ã¹ãIDã·ã¹ãã
ãŠãŒã¶ãŒãèªåã®ã¢ã¯ã·ã§ã³ãèªåã«æ»ã£ãŠãããŒããã£ã¹ããããããšã§çºçãããšã³ãŒå¹æãé²ãããã«ãåæŽæ°ã«ã¯äžæã® broadcastId ãå«ãŸããŸãããŠãŒã¶ãŒãããŒã«ãŒãäœæãŸãã¯æŽæ°ããéãã¯ã©ã€ã¢ã³ãã¯ãã®æäœã«å¯ŸããŠUUIDãçæããŸããWebSocketãæŽæ°ããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã«ãããŒããã£ã¹ããããšããçºä¿¡å
ã®ã¯ã©ã€ã¢ã³ãã¯èªåã® broadcastId ãšäžèŽãããããã®æŽæ°ãç¡èŠããŸãã
ããã«ããããŠãŒã¶ãŒã¯ãµãŒããŒãçµç±ããåŸåŸ©ãåŸ ã€ããšãªãUIäžã§èªåã®å€æŽãå³åº§ã«ç¢ºèªã§ããåæã«ä»ã®ãã¹ãŠã®ãŠãŒã¶ãŒã«ãæŽæ°ã確å®ã«è¡ãæž¡ãããã«ãªããŸãã
æ¥ç¶ã®å埩æ§
ãããã¯ãŒã¯é害ããµãŒããŒã¡ã³ããã³ã¹ã«ããWebSocketæ¥ç¶ãåæãããå ŽåããŠã£ãžã§ããã¯èªåçã«åæ¥ç¶ã詊ã¿ãŸãã忥ç¶äžã§ãæ¢åã®ããŒã«ãŒãšã®ããåãã¯å¯èœã§ãããæ¥ç¶ãå確ç«ããããŸã§ã¯ä»ã®ãŠãŒã¶ãŒã«ãããªã¢ã«ã¿ã€ã æŽæ°ã¯è¡šç€ºãããŸããã
忥ç¶ãå®äºãããšããŠã£ãžã§ããã¯èŠéããæŽæ°ããªãããšã確èªããããã«ååæãè¡ããŸããããã¯ãŠãŒã¶ãŒã®ä»å ¥ãå¿ èŠãšããééçã«è¡ãããŸãã
垯åå¹ ã«é¢ããèæ ®äºé
WebSocketã¡ãã»ãŒãžã¯è»œéã§ãç¶æ ãåæããããã«å¿ èŠãªæå°éã®æ å ±ã®ã¿ãå«ã¿ãŸããæ°ããããŒã«ãŒã®äœæã¯éåžž1KBæªæºã®åž¯åå¹ ã䜿çšããŸããã·ã¹ãã ã«ã¯é«æŽ»åæéäžã®ã¡ãã»ãŒãžé »åºŠãåæžããããã®ã€ã³ããªãžã§ã³ããªãããåŠçãå«ãŸããŠããŸãã
FastCommentsããã·ã¥ããŒãã®äœ¿çšç¶æ³ã¡ããªã¯ã¹ã¯ pubSubMessageCount ãš pubSubBandwidth ã远跡ããããããµã€ãå
šäœã®ãªã¢ã«ã¿ã€ã åæã¢ã¯ãã£ããã£ãç£èŠã§ããŸãã
ã¿ãéåæ
ãŠãŒã¶ãŒãåãããŒãžãè€æ°ã®ãã©ãŠã¶ã¿ãã§éããŠããå Žåãããã¿ãã§ã®æŽæ°ã¯ä»ã®ã¿ãã«ãå³åº§ã«åæ ãããŸããããã¯åãWebSocketåæã¡ã«ããºã ãéããŠåäœãã远å ã®èšå®ã¯å¿ èŠãããŸããã
ãŠãŒã¶ãŒã¯è€æ°ã®ããã€ã¹ã§ãµã€ããåæã«éãããšãã§ãããã¹ãŠã®ããã€ã¹ãåæãããç¶æ ãç¶æããŸãããã¹ã¯ãããã§äœæãããããŒã«ãŒã¯ãäž¡æ¹ã®ããã€ã¹ãåãç»åã衚瀺ããŠããå Žåã«ã¿ãã¬ããäžã§ãç¬æã«è¡šç€ºãããŸãã
ã»ãã¥ãªãã£
WebSocketã¡ãã»ãŒãžã¯å®å šãªæ¥ç¶ïŒWSSïŒã§éä¿¡ãããããã³ãæ€èšŒãå«ãã§ããããããŠãŒã¶ãŒã¯èªèº«ãé²èЧãèš±å¯ãããŠããäŒè©±ã®æŽæ°ã®ã¿ãåä¿¡ããŸãããµãŒããŒã¯äžæ£ã¢ã¯ã»ã¹ãæ¹ãããé²ãããããããŒããã£ã¹ãããåã«ãã¹ãŠã®æäœãæ€èšŒããŸãã
ãªãã©ã€ã³æã®åäœ
ãŠãŒã¶ãŒãå®å šã«ãªãã©ã€ã³ã®å Žåãæ¢åã®ããŒã«ãŒã衚瀺ããããšã¯ã§ããŸãããæ°ããããŒã«ãŒãäœæãããä»ã®ãŠãŒã¶ãŒããã®æŽæ°ãèŠãããšã¯ã§ããŸããããŠã£ãžã§ããã¯ãªãã©ã€ã³ç¶æ ãæ€åºããé©åãªã¡ãã»ãŒãžã衚瀺ããŸãã
ãŠãŒã¶ãŒããªãã©ã€ã³æã«ããŒã«ãŒãäœæãããã®åŸãªã³ã©ã€ã³ã«æ»ã£ãå Žåããã®æäœã¯ãã¥ãŒã«èç©ãããã®ã§ã¯ãªã倱æããŸããããŒã¿ã®äžè²«æ§ãä¿ã€ããããŠãŒã¶ãŒã¯æ¥ç¶ã埩æ§ãããæäœãå詊è¡ããå¿ èŠããããŸãã
ããã©ãŒãã³ã¹ãžã®åœ±é¿
WebSocketæ¥ç¶ã¯ããã©ãŒãã³ã¹ãžã®åœ±é¿ãæå°éã§ããæŽæ°ãçºçããŠããªããšãã¯æ¥ç¶ã¯ã¢ã€ãã«ç¶æ ã«ãªããã¢ã¯ãã£ããã£ããããšãã ãã¡ãã»ãŒãžãåŠçããŸããéåžžã®ããŒã«ãŒæŽ»åã®ããç»åã§ã¯ãWebSocketã®CPU䜿çšéã¯ç»åèªäœã®ã¬ã³ããªã³ã°ãããå°ãªãã§ãã
æ°çŸäººã®åæãŠãŒã¶ãŒãšé«ãããŒã«ãŒäœæã¢ã¯ãã£ããã£ã䌎ãããŒãžã§ããã·ã¹ãã ã¯åã ã®ã¯ã©ã€ã¢ã³ãæ¥ç¶ã«åœ±é¿ãäžããããšãªãæ°Žå¹³ã¹ã±ãŒãªã³ã°ããŠããã©ãŒãã³ã¹ãç¶æããŸãã
å ±åäœæ¥ã®ãŠãŒã¹ã±ãŒã¹
ãªã¢ã«ã¿ã€ã åæã«ãããImage Chatã¯å ±åäœæ¥ã¯ãŒã¯ãããŒã«ç¹ã«æçšã§ãããã¶ã€ã³ããŒã ã¯ã¢ãã¯ã¢ãããäžç·ã«ã¬ãã¥ãŒããå šå¡ãããŒã«ãŒã®é 眮ããªã¢ã«ã¿ã€ã ã§ç¢ºèªã§ããŸããã«ã¹ã¿ããŒãµããŒãããŒã ã¯åé¡ã®ç¹å®ã®ããã«ã¹ã¯ãªãŒã³ã·ã§ããã«å ±åã§æ³šéãä»ããããšãã§ããŸããæè²ã°ã«ãŒãã¯å³ãåå è å šå¡ã§è°è«ããäœæãããããŒã«ãŒãäºãã«ç¢ºèªããªããé²ããããŸãã
峿ã®ãã£ãŒãããã¯ã«ããããŠãŒã¶ãŒãæŽæ°ãèŠãããã«ãªãã¬ãã·ã¥ããå¿ èŠãããåŸæ¥ã®ã³ã¡ã³ãã·ã¹ãã ãšæ¯ã¹ãŠãããé åçã§çç£æ§ã®é«ãå ±åäœæ¥äœéšãçãŸããŸãã
APIãªãã¡ã¬ã³ã¹ 
APIã®æŠèŠ
Image Chat ã¯ãç»åã®äŒè©±ãããã°ã©ã ã§ç®¡çããããã®3ã€ã®REST APIãšã³ããã€ã³ããæäŸããŸãããããã®ãšã³ããã€ã³ãã䜿çšãããšããã©ãŠã¶ãŠã£ãžã§ããã䜿çšããã«ããŒã«ãŒã®ååŸãäœæãåé€ãã§ããŸãã
ãã¹ãŠã®APIãšã³ããã€ã³ãã¯èªèšŒãå¿ èŠãšããæšæºã®FastComments APIãã¿ãŒã³ã«åŸããŸãããããã¯APIããŒã§ã¯ãªããã©ãŠã¶ã®ã¯ãããŒã§èªèšŒããå ¬éãšã³ããã€ã³ãã§ãã
ããŒã¹URL
ãã¹ãŠã® Image Chat API ãšã³ããã€ã³ãã¯æ¬¡ã®äžã«ãããŸã:
https://fastcomments.com/comment-image-chatsèªèšŒ
ãããã®ãšã³ããã€ã³ãã¯ãã©ãŠã¶ã®ã¯ãããŒãä»ããŠãŠãŒã¶ãŒãèªèšŒããŸããAPIããŒã¯äœ¿çšããŸããããŠãŒã¶ãŒã¯ãã©ãŠã¶ã§FastCommentsã«ãã°ã€ã³ããŠããå¿ èŠããããŸãã
ãã¹ãŠã®äŒè©±ãååŸ
ç¹å®ã®ç»åã«å¯Ÿãããã¹ãŠã®ç»åäŒè©±ãååŸããŸãã
ãšã³ããã€ã³ã
GET /comment-image-chats/:tenantId?urlId=<urlId>ãã©ã¡ãŒã¿
tenantId (ãã¹ãã©ã¡ãŒã¿ãå¿
é ) ã¯ããªãã® FastComments ããã³ãIDã§ãã
urlId (ã¯ãšãªãã©ã¡ãŒã¿ãå¿
é ) ã¯äŒè©±ãååŸãããç»åã®èå¥åã§ãã
ã¬ã¹ãã³ã¹
ã¬ã¹ãã³ã¹ã«ã¯APIã¹ããŒã¿ã¹ãèªèšŒãããŠããå Žåã®çŸåšã®ãŠãŒã¶ãŒã»ãã·ã§ã³æ
å ±ãIDãURLãX/Y座æšãå«ãäŒè©±ã®é
åãã¯ãªãŒã³ãªURLèå¥åãçŸåšã®ãŠãŒã¶ãŒããµã€ã管çè
ãŸãã¯ã¢ãã¬ãŒã¿ãŒãã瀺ããã©ã°ãããã³ã©ã€ãåæçšã®WebSocketæ¥ç¶æ
å ±ïŒtenantIdWSãurlIdWSãuserIdWSïŒãå«ãŸããŸãã
ãªã¯ãšã¹ãäŸ
curl "https://fastcomments.com/comment-image-chats/demo?urlId=my-product-image" \
--cookie "your-session-cookie"
ã¬ã¹ãã³ã¹äŸ
{
"status": "success",
"user": {
"id": "user123",
"username": "john_doe"
},
"conversations": [
{
"_id": "conv123",
"urlId": "my-product-image:/images/product.jpg:25:30",
"x": 25.5,
"y": 30.2
},
{
"_id": "conv456",
"urlId": "my-product-image:/images/product.jpg:60:45",
"x": 60.8,
"y": 45.1
}
],
"urlIdClean": "my-product-image",
"isSiteAdmin": false,
"tenantIdWS": "demo",
"urlIdWS": "my-product-image",
"userIdWS": "user123"
}
äŒè©±ã®äœæ
ç»åäžã®ç¹å®ã®äœçœ®ã«å¯ŸããŠæ°ããç»åäŒè©±ãäœæããŸãã
ãšã³ããã€ã³ã
POST /comment-image-chats/:tenantIdãã©ã¡ãŒã¿
tenantId (ãã¹ãã©ã¡ãŒã¿ãå¿
é ) ã¯ããªãã® FastComments ããã³ãIDã§ãã
ãªã¯ãšã¹ãããã£ã¯JSONã§ã以äžã®å¿ é ãã£ãŒã«ããå«ããå¿ èŠããããŸãã
urlId (string, å¿
é ) ã¯åºæ¬ã®ããŒãžèå¥åã§ãã
windowUrlId (string, å¿
é ) ã¯ç»åãœãŒã¹ãšåº§æšãçµã¿åãããURLã§ãäŸãã° my-page:/images/photo.jpg:25.5:30.2 ã®ããã«ãªããŸãã
pageTitle (string, å¿
é ) ã¯ããŒãžã®ã¿ã€ãã«ã§ãã
src (string, å¿
é ) ã¯ç»åã®ãœãŒã¹URLã§ãã
x (number, å¿
é ) ã¯ããŒã»ã³ããŒãžïŒ0-100ïŒãšããŠã®X座æšã§ãã
y (number, å¿
é ) ã¯ããŒã»ã³ããŒãžïŒ0-100ïŒãšããŠã®Y座æšã§ãã
createdFromCommentId (string, å¿
é ) ã¯ãã®ãã£ãããéå§ããã³ã¡ã³ãã®IDã§ãã
broadcastId (string, å¿
é ) ã¯ãšã³ãŒå¹æãé²ãããã®ã©ã€ãåæçšUUIDã§ãã
ã¬ã¹ãã³ã¹
ã¬ã¹ãã³ã¹ã«ã¯APIã¹ããŒã¿ã¹ãšãæ°ããäœæãããäŒè©±ã®IDãå«ãŸããŸãã
ãªã¯ãšã¹ãäŸ
curl -X POST "https://fastcomments.com/comment-image-chats/demo" \
--cookie "your-session-cookie" \
-H "Content-Type: application/json" \
-d '{
"urlId": "my-product-image",
"windowUrlId": "my-product-image:/images/product.jpg:25.5:30.2",
"pageTitle": "Product Gallery",
"src": "/images/product.jpg",
"x": 25.5,
"y": 30.2,
"createdFromCommentId": "comment789",
"broadcastId": "550e8400-e29b-41d4-a716-446655440000"
}'
ã¬ã¹ãã³ã¹äŸ
{
"status": "success",
"createdChatId": "conv789"
}
äŒè©±ã®åé€
æ¢åã®ç»åäŒè©±ãåé€ããŸãããã®ãšã³ããã€ã³ãã䜿çšããã«ã¯ç®¡çè ãŸãã¯ã¢ãã¬ãŒã¿ãŒæš©éãå¿ èŠã§ãããããã¯äŒè©±ãèªèšŒããããŠãŒã¶ãŒã«ãã£ãŠäœæãããŠããå¿ èŠããããŸãã
ãšã³ããã€ã³ã
DELETE /comment-image-chats/:tenantId/:chatIdãã©ã¡ãŒã¿
tenantId (ãã¹ãã©ã¡ãŒã¿ãå¿
é ) ã¯ããªãã® FastComments ããã³ãIDã§ãã
chatId (ãã¹ãã©ã¡ãŒã¿ãå¿
é ) ã¯åé€ããäŒè©±ã®IDã§ãã
broadcastId (ãªã¯ãšã¹ãããã£ãå¿
é ) ã¯ã©ã€ãåæçšã®UUIDã§ãã
ãªã¯ãšã¹ãäŸ
curl -X DELETE "https://fastcomments.com/comment-image-chats/demo/conv789" \
--cookie "your-session-cookie" \
-H "Content-Type: application/json" \
-d '{
"broadcastId": "550e8400-e29b-41d4-a716-446655440001"
}'
ã¬ã¹ãã³ã¹äŸ
{
"status": "success"
}
座æšç³»
X ããã³ Y ã®åº§æšã¯ç»åã®å¯žæ³ã«å¯ŸããããŒã»ã³ããŒãžãšããŠä¿åãããŸããX ã¯å·Šç«¯ããã®æ°Žå¹³äœçœ®ã瀺ããŸãïŒ0 = 巊端ã100 = å³ç«¯ïŒãY ã¯äžç«¯ããã®åçŽäœçœ®ã瀺ããŸãïŒ0 = äžç«¯ã100 = äžç«¯ïŒã
ãããã®ããŒã»ã³ããŒãžå€ã¯ç²ŸåºŠã®ããã«å°æ°ãå«ãããšãã§ããŸããäŸãã°ãx: 25.5 ã¯ç»åã®å·Šç«¯ãã25.5%ã®äœçœ®ãæå³ããŸãã
ã¬ãŒãå¶é
ãããã®ãšã³ããã€ã³ãã¯æšæºã®FastComments APIã®ã¬ãŒãå¶éã®å¯Ÿè±¡ã§ããã¬ãŒãå¶éããã«ãŠã§ã¢ã¯ããã³ãããšã«é©çšãããéåžžã®äœ¿çšãã¿ãŒã³ã劚ããããšãªãæªçšãé²ããŸãã
ãšã©ãŒå¿ç
ãã¹ãŠã®ãšã³ããã€ã³ãã¯æšæºã®HTTPã¹ããŒã¿ã¹ã³ãŒããè¿ããŸãã400ã¯ç¡å¹ãªãªã¯ãšã¹ããã©ã¡ãŒã¿ã瀺ããŸãã401ã¯èªèšŒå€±æãæå³ããŸãã403ã¯æš©éäžè¶³ã瀺ããŸãã404ã¯äŒè©±ãèŠã€ãããªãããšãæå³ããŸãã429ã¯ã¬ãŒãå¶éãè¶ ããããšã瀺ããŸãã
ãšã©ãŒå¿çã«ã¯è©³çްãå«ãJSONããã£ãå«ãŸããŸã:
{
"status": "error",
"message": "Conversation not found"
}
䜿çšç¶æ³ã®è¿œè·¡
äŒè©±ãäœæãããš conversationCreateCount ã®äœ¿çšç¶æ³ã¡ããªã¯ã¹ãå¢å ããŸãããã¹ãŠã®WebSocketåæã¢ã¯ãã£ããã£ã¯ pubSubMessageCount ãš pubSubBandwidth ãå¢å ãããŸãããããã®ã¡ããªã¯ã¹ã¯FastCommentsããã·ã¥ããŒãã®äœ¿çšç¶æ³åæã§ç£èŠã§ããŸãã
ã質åã¯ãããŸããïŒ
FastComments Image Chatã¯ä»¥äžã§ãïŒã質åãããå Žåãå®è£ ã®ãµããŒããå¿ èŠãªå ŽåããŸãã¯æ©èœã®ãææ¡ãããå Žåã¯ãäžèšã§ãç¥ããããã ããããµããŒãããŒã ãŸã§ãé£çµ¡ãã ããã
Image Chatãå®éã«åäœããæ§åã¯ããã¢ããŒãžã®ã©ã€ããã¢ãã芧ãã ããã