电容器危机
在您的 Capacitor 应用程序中添加 Crisp SDKs 。 打开信使,识别用户,推动事件,并处理iOS和Android上的Crisp推进通知.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-crisp在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-crisp到我的 Capacitor app 上线 代理设置指南 • 妇女 主机磁共振
主要特点
- 通讯员数字 :
configure()那么用你的网站标识openMessenger()。 。 。 . - 用户数据数字 :
setUser(), (中文(简体) ),setCompany(), (中文(简体) ),setTokenID(), (中文(简体) ),setSegment()和习惯setString()或者说setInt()字段. - 活动和信息数字 :
pushEvent(), (中文(简体) ),sendMessage()和倾听者messageReceived财务报告和审定财务报表chatOpened。 。 。 . - 推动通知数字 :
registerPushToken(), (中文(简体) ),isCrispPushNotification()财务报告和审定财务报表handlePushNotification()。 。 。 . - 会议数字 :
reset()清除本届会议. - 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. iOS和Android上的原生Crisp SDKs(英语:Crisp SDKs). 网络上无法提供推力帮助 .
为什么是Crisp经理?
将 Crisp.chat 本地的 SDK 整合到您的移动应用程序中的唯一免费 Capacitor 插件 。 Crisp是一个强大的客户支持和消息平台,这个插件提供:
- 本地 SDK 整合 - 为iOS和Android全面访问Crisp的本地手机SDK
- 丰富的信件特性 - 实况聊天、用户简介、自定义数据、事件和分区
- 双向通信 - 在程序上发送信息并跟踪用户行为
- 完整 API - 与Crisp的JavaScript API完全对等
适合需要客户支持的应用程序,服务台功能,或用户操作工具.
文档
这里有最完整的医生: https://capgo.app/docs/plugins/crisp/ 页面存档备份,存于互联网档案馆
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |
说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-crisp` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-crisp
npx cap sync
输入
在其它方法之前调用代码配置 :
import { CapacitorCrisp } from '@capgo/capacitor-crisp';
CapacitorCrisp.configure({websiteID: '******-****-****-****-********'})
iOS系统
为了使用户能够拍摄并上传相片到聊天室以及下载相片到相片库,添加:
隐私 - 相机使用描述( NSCameraUsage Description)
隐私 - 照片库添加使用描述(NSPhotoLibraryAddUsageDescription)
您的应用程序的Info.plist.
Android 集成软件
聊天箱本身没什么特别的.
推动通知
Crisp Push 通知需要您的证书 计算机仪表板 下级 设置 > 聊天箱设置 > 按下通知 (iOS的APNs,Android的Firebase). 见 压缩iOS 财务报告和审定财务报表 冰冻和机器人 仪表板设置指南.
原生设置( 建议)
该插件在本地处理对时间敏感的设置 :
- iOS系统: 来自
@capacitor/push-notifications自动传送到 Crisp. - 机器人数字 :
enableNotifications()自动在内部运行configure()。 。 。 .
您还需要平台设置 :
- 启用 推动通知 xcode中的能力(iOS).
- 配置消防基地( E)
google-services.json添加firebase-messaging给您的Android应用程序. - 打电话
CapacitorCrisp.configure({ websiteID: 'YOUR_WEBSITE_ID' })在打开信使之前.
与 @capacitor/push-notifications
import { CapacitorCrisp } from '@capgo/capacitor-crisp';
import { PushNotifications } from '@capacitor/push-notifications';
await CapacitorCrisp.configure({ websiteID: 'YOUR_WEBSITE_ID' });
await PushNotifications.register();
// Optional JS fallback (iOS is already handled natively)
await PushNotifications.addListener('registration', async ({ value }) => {
await CapacitorCrisp.registerPushToken({ token: value });
});
// Forward foreground Crisp pushes so messageReceived can update your unread badge.
await PushNotifications.addListener('pushNotificationReceived', async (notification) => {
const { isCrisp } = await CapacitorCrisp.isCrispPushNotification({ data: notification.data });
if (isCrisp) {
await CapacitorCrisp.handlePushNotification({ data: notification.data, openChatbox: false });
}
});
await PushNotifications.addListener('pushNotificationActionPerformed', async (event) => {
const { isCrisp } = await CapacitorCrisp.isCrispPushNotification({ data: event.notification.data });
if (isCrisp) {
await CapacitorCrisp.handlePushNotification({ data: event.notification.data });
}
});
在 iOS 上, 如果您自己管理权限, 请禁用 Crisp 自动提示 :
await CapacitorCrisp.setShouldPromptForNotificationPermission({ enabled: false });
Android: 共享火料库 服务
如果您已经有自定义 FirebaseMessagingService,转发 Crisp 事件 CrispFcmHelper数字 :
import ee.forgr.plugin.crisp.CrispFcmHelper;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (CrispFcmHelper.isCrispNotification(remoteMessage)) {
CrispFcmHelper.onMessageReceived(this, remoteMessage);
}
}
@Override
public void onNewToken(String token) {
CrispFcmHelper.onNewToken(this, token);
}
}
Android: 仅限Crisp通知
如果您不使用其他按键提供者, 请声明 CrispNotificationService 在您的应用程序中 AndroidManifest.xml数字 :
<service
android:name="im.crisp.client.external.notification.CrispNotificationService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
iOS: 本地 AppDelegate (可选)
您也可以直接将 APN 符号转发到 AppDelegate.swift数字 :
import Crisp
func application(_ application: UIApplication,
didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
CrispSDK.setDeviceToken(deviceToken)
}
打开聊天框
import { CapacitorCrisp } from '@capgo/capacitor-crisp';
CapacitorCrisp.openMessenger()
API 密码
configure(...)openMessenger()setTokenID(...)setUser(...)pushEvent(...)setCompany(...)setInt(...)setString(...)sendMessage(...)setSegment(...)reset()addListener('messageReceived', ...)addListener('messageSent', ...)addListener('sessionLoaded', ...)addListener('chatOpened', ...)addListener('chatClosed', ...)removeAllListeners()registerPushToken(...)enableNotifications()isCrispPushNotification(...)handlePushNotification(...)setShouldPromptForNotificationPermission(...)openChatboxFromNotification()getPluginVersion()- 接口
- 类型异名
Crisp Chat SDK 电容插件 . 通过Crisp.chat提供直播聊天和客户支持功能.
配置(...)
configure(data: ConfigureOptions) => Promise<void>
配置 Crisp SDK 与您的网站 ID . 使用其他方法之前必须先打电话.
| 参数 | 类型 | 说明 |
|---|---|---|
data | ConfigureOptions | - 配置对象 |
打开信使( )
openMessenger() => Promise<void>
打开 Crisp 信使聊天窗口 . 向用户显示聊天界面.
设置 TokenID (...)
setTokenID(data: { tokenID: string; }) => Promise<void>
为当前用户会话设置一个唯一的代号 ID . 用于识别并恢复之前的对话.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { tokenID: string; } | - 数据对象 |
设置用户(...)
setUser(data: { nickname?: string; phone?: string; email?: string; signature?: string; avatar?: string; }) => Promise<void>
设置当前会话的用户信息 . 更新支持代理的可见用户配置 .
| 参数 | 类型 | 说明 |
|---|---|---|
data | { nickname?: string; phone?: string; email?: string; signature?: string; avatar?: string; } | - 用户信息对象 |
推动Event(...)
pushEvent(data: { name: string; color: eventColor; }) => Promise<void>
推动自定义事件到 Crisp . 用于跟踪用户动作和行为.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { name: string; color: eventColor; } | - 事件数据对象 |
设置公司(...)
setCompany(data: { name: string; url?: string; description?: string; employment?: [title: string, role: string]; geolocation?: [country: string, city: string]; }) => Promise<void>
为本届会议设定公司信息. 和Crisp的一家公司联系.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { name: string; url?: string; description?: string; employment?: [title: string, role: string]; geolocation?: [country: string, city: string]; } | - 公司信息对象 |
设置Int(...)
setInt(data: { key: string; value: number; }) => Promise<void>
设置自定义整数数据字段. 存储与用户会话相关的数字数据.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { key: string; value: number; } | - 整数数据对象 |
设置
setString(data: { key: string; value: string; }) => Promise<void>
设置自定义字符串数据字段 . 存储与用户会话相关的文本数据.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { key: string; value: string; } | - 字符串数据对象 |
发送消息(...)
sendMessage(data: { value: string; }) => Promise<void>
从用户发送消息到聊天. 程序上发送一个消息, 好像用户输入了它 .
| 参数 | 类型 | 说明 |
|---|---|---|
data | { value: string; } | - 信件数据对象 |
设置分区(...)
setSegment(data: { segment: string; }) => Promise<void>
设置一个用户区段用于选择和组织. 曾经在Crisp仪表板中对用户进行分类.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { segment: string; } | - 段数据对象 |
重设( c)
reset() => Promise<void>
重设 Crisp 会话 . 清除所有用户数据并开始新的会话. 用户登录时有用 .
添加Listener( 消息收到",...)
addListener(eventName: 'messageReceived', listenerFunc: (event: CrispMessageEvent) => void) => Promise<PluginListenerHandle>
听Crisp留言.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'messageReceived' | - 说吧 messageReceived |
listenerFunc | (event: CrispMessageEvent) => void | - 用信息元数据调用. |
回返情况: Promise<PluginListenerHandle>
添加Listener( 消息发送器,...)
addListener(eventName: 'messageSent', listenerFunc: (event: CrispMessageEvent) => void) => Promise<PluginListenerHandle>
听通过克里斯普发送的消息.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'messageSent' | - 说吧 messageSent |
listenerFunc | (event: CrispMessageEvent) => void | - 用信息元数据调用. |
回返情况: Promise<PluginListenerHandle>
添加倾听器( “ 部分已忽略 ” ,...)
addListener(eventName: 'sessionLoaded', listenerFunc: (event: CrispSessionLoadedEvent) => void) => Promise<PluginListenerHandle>
听本地的 Crisp 会话加载.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'sessionLoaded' | - 说吧 sessionLoaded |
listenerFunc | (event: CrispSessionLoadedEvent) => void | - 使用本地电话. |
回返情况: Promise<PluginListenerHandle>
添加倾听器( “ 聊天打开 ” ,...)
addListener(eventName: 'chatOpened', listenerFunc: () => void) => Promise<PluginListenerHandle>
听听Crisp聊天箱的打开.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'chatOpened' | - 说吧 chatOpened |
listenerFunc | () => void | - 聊天室打开时打来的. |
回返情况: Promise<PluginListenerHandle>
添加倾听器( “ 已关闭 ” , )
addListener(eventName: 'chatClosed', listenerFunc: () => void) => Promise<PluginListenerHandle>
听Crisp聊天箱关闭.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'chatClosed' | - 说吧 chatClosed |
listenerFunc | () => void | - 聊天箱关机时打来的. |
回返情况: Promise<PluginListenerHandle>
删除所有收听器( )
removeAllListeners() => Promise<void>
删除此插件的所有注册听众 .
注册 PushToken (...)
registerPushToken(data: { token: string; }) => Promise<void>
与 Crisp 一起注册设备推令牌(APNs on iOS,FCM on Android).
无法使用本地信使转发时可选回落 .
在 iOS 上,插件转发 APNs 令牌来自 @capacitor/push-notifications
自动通过本地钩.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { token: string; } | - 推使牌有效载荷 |
启用通知( )
enableNotifications() => Promise<void>
启用 Android 的 Crisp 驱动通知 .
自动调用 configure() 安卓号.
这种联合来文方法是一种可选的手动操作。 iOS和网络上没有.
是CrispPush 通知(...)
isCrispPushNotification(data: { data: Record<string, string>; }) => Promise<{ isCrisp: boolean; }>
检查Crisp是否发送了推进通知有效载荷.
共享推处理时有用 @capacitor/push-notifications。 。 。 .
| 参数 | 类型 | 说明 |
|---|---|---|
data | { data: Record<string, string>; } | - 通知有效载荷 |
回返情况: Promise<{ isCrisp: boolean; }>
手柄 Push 通知(...)
handlePushNotification(data: { data: Record<string, string>; openChatbox?: boolean; }) => Promise<void>
处理Crisp推进通知有效载荷.
在Android上,用户点击通知时默认打开聊天箱.
在iOS上,通过Crisp SDK处理有效载荷.
输出 messageReceived 与 fromPushNotification: true 冰激凌有效载荷,
它可以让应用程序在聊天箱关闭时更新未读的徽章 .
| 参数 | 类型 | 说明 |
|---|---|---|
data | { data: Record<string, string>; openChatbox?: boolean; } | - 通知有效载荷 |
设置应Prompt 通知许可(...)
setShouldPromptForNotificationPermission(data: { enabled: boolean; }) => Promise<void>
控制 Crisp 是否在 iOS 上获得通知许可的自动提示 . 禁止进入Android和网络.
| 参数 | 类型 | 说明 |
|---|---|---|
data | { enabled: boolean; } | - 允许快速选项 |
打开Chatbox 从通知 ()
openChatboxFromNotification() => Promise<{ opened: boolean; }>
打开Android上的Crisp聊天箱. 处理通知公开动作时从主要活动中调用 . IOS和网络上没有.
回返情况: Promise<{ opened: boolean; }>
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取插件版本号 .
回返情况: Promise<{ version: string; }>
接口
配置选项
初始化 Crisp 的配置 .
| Prop | 类型 | 说明 |
|---|---|---|
websiteID | string | 你的Crisp网站地址从仪表板. |
locale | string | 可选 - 在 Crisp 聊天部件( ISO 639-1) 中强制使用的语言, eg. en, (中文(简体) ), fr, (中文(简体) ), es. Web + Android: 覆盖运行时的本地语. iOS跟随设备/应用本地化. |
tokenID | string | 可选 - 用户会话连续性的独特符号标识符. |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
紧急事件
当收到来自本地 SDK 的 Crisp 消息事件时释放出有效载荷 或从Crisp发送的催促通知.
| Prop | 类型 | 说明 |
|---|---|---|
isMe | boolean | 信件是否由当前用户发送 . |
fromPushNotification | boolean | 当事件从Crisp发送的推力通知中释放出来时是真实的. |
休会晚会
装入 Crisp 会话时发出的有效载荷 .
| Prop | 类型 | 说明 |
|---|---|---|
sessionId | string | 原始 Crisp 会话标识符 . |
类型异名
事件颜色
Crisp 事件可用的颜色 . 用于视觉分类 Crisp仪表板上的事件.
'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple' | 'pink' | 'brown' | 'grey' | 'black'
记录
构造 T 类型 K 的一组属性类型
{
[P in K]: T;
}