@capacitor-community/intercom

中文文档
8.0.0发布于 2026/03/24MITTypeScriptESM + CJS零依赖近 30 天下载 10.4万

为 Capacitor app 启用 Intercom 特性

中文使用文档
文档目录38 节
  1. 电容对讲机
  2. 维护者
  3. 兼容性
  4. 安装
  5. 使用量
  6. iOS 设置
  7. 机器人设置
  8. API 密码
  9. 装入 Keys (...)
  10. 注册识别用户(...)
  11. 未识别用户 ()
  12. 更新用户(...)
  13. 登录( c)
  14. 日志事件(...)
  15. 显示信使( )
  16. 显示MessageComposer (...)
  17. 显示帮助中心( C)
  18. 隐藏信使( C)
  19. 显示 Launcher ()
  20. 隐藏 Launcher ()
  21. 显示 ImpMessages ()
  22. 隐藏 InAppMessages ()
  23. 显示 Carousel (...)
  24. 设置 UserHash (...)
  25. 设置用户Jwt(...)
  26. 设置 BottomPadding(...)
  27. 发送 PushTokenTo Intercom (...)
  28. 接收 Push (...)
  29. 显示文章(...)
  30. 添加倾听器( '窗口显示',...)
  31. 添加倾听器( '窗口隐藏',...)
  32. 删除所有收听器( )
  33. 接口
  34. 通知
  35. 从 Capacitor v2 切换到 v3
  36. 许可证
  37. 示例
  38. 贡献者


电容对讲机

@capacitor-community/intercom

启用Intercom 能力的电容社区插件


维护者

维护者GitHub 图像社会
斯特万·席尔瓦炖鱼@stewones (英语)

兼容性

电容对讲机iOSIntercom Android 软件iOS 目标Android 目标
8.x 电话18.x 国家17.x (中文(简体) )15.0 (韩语)第36条
7.x 电话18.x 国家15.x (中文(简体) )15.0 (韩语)35个
6.x (单位:千美元)16.x (韩语)12.x (中文(简体) )13.0 (韩语)页:1

说明: 此插件跟随语义版本 电容 并保持与Intercom SDKs的兼容性(iOS系统, (中文(简体) ), 机器人) (中文(简体) ). 如果你遇到任何问题 因为版本不一致,请 打开一个问题 帮助我们改进插件.

安装

使用 npm :

npm install @capacitor-community/intercom

使用线条 :

yarn add @capacitor-community/intercom

同步本地文件 :

npx cap sync

使用量

import { Intercom } from '@capacitor-community/intercom';
import { PushNotifications } from '@capacitor/push-notifications';

// Register for push notifications from Intercom
PushNotifications.register();

// Register an identified user
Intercom.registerIdentifiedUser({ userId: 123456 });
Intercom.registerIdentifiedUser({ email: '[email protected]' });
Intercom.registerIdentifiedUser({ userId: 123456, email: '[email protected]' });

// Register a log event
Intercom.logEvent({ name: 'my-event', data: { pi: 3.14 } });

// Display the message composer
Intercom.displayMessageComposer({ message: 'Hello there!' });

// Identity Verification
// https://developers.intercom.com/installing-intercom/docs/ios-identity-verification
Intercom.setUserHash({ hmac: 'xyz' });

// Secure Your Messenger
// https://developers.intercom.com/installing-intercom/ios/secure-your-messenger
Intercom.setUserJwt({ jwt: 'xyz' });

iOS 设置

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install @capacitor-community/intercom
  • mkdir www && touch www/index.html
  • npx cap add ios
  • 在电容器的配置文件上添加接口密钥
{
 …
  "plugins": {
   "Intercom": {
      "iosApiKey": "ios_sdk-xxx",
      "iosAppId": "yyy"
    }
  }
…
}
  • npx cap open ios
  • 在 xcode( 一般标签) 签名您的应用程序

提示:每次您更改本地代码时, 您可能需要清理缓存( Product > Clean building文件夹) , 然后再次运行应用程序 .

机器人设置

  • ionic start my-cap-app --capacitor
  • cd my-cap-app
  • npm install @capacitor-community/intercom
  • mkdir www && touch www/index.html
  • npx cap add android
  • 在电容器的配置文件上添加接口密钥
{
 …
  "plugins": {
   "Intercom": {
      "androidApiKey": "android_sdk-xxx",
      "androidAppId": "yyy"
    }
  }
…
}
  • npx cap open android

现在你该走了 尝试使用 ionic cap run android --livereload。 。 。 .

提示:每次您更改本地代码, 您可能需要清理缓存( Build > Clean Project QQ Build > Rebuilt Project) , 然后再次运行应用程序 .

API 密码

装入 Keys (...)

loadWithKeys(options: { appId?: string; apiKeyIOS?: string; apiKeyAndroid?: string; }) => Promise<void>
参数类型
options{ appId?: string; apiKeyIOS?: string; apiKeyAndroid?: string; }

注册识别用户(...)

registerIdentifiedUser(options: { userId?: string; email?: string; }) => Promise<void>
参数类型
options{ userId?: string; email?: string; }

未识别用户 ()

registerUnidentifiedUser() => Promise<void>

更新用户(...)

updateUser(options: IntercomUserUpdateOptions) => Promise<void>
参数类型
optionsIntercomUserUpdateOptions

登录( c)

logout() => Promise<void>

日志事件(...)

logEvent(options: { name: string; data?: any; }) => Promise<void>
参数类型
options{ name: string; data?: any; }

显示信使( )

displayMessenger() => Promise<void>

显示MessageComposer (...)

displayMessageComposer(options: { message: string; }) => Promise<void>
参数类型
options{ message: string; }

显示帮助中心( C)

displayHelpCenter() => Promise<void>

隐藏信使( C)

hideMessenger() => Promise<void>

显示 Launcher ()

displayLauncher() => Promise<void>

隐藏 Launcher ()

hideLauncher() => Promise<void>

显示 ImpMessages ()

displayInAppMessages() => Promise<void>

隐藏 InAppMessages ()

hideInAppMessages() => Promise<void>

显示 Carousel (...)

displayCarousel(options: { carouselId: string; }) => Promise<void>
参数类型
options{ carouselId: string; }

设置 UserHash (...)

setUserHash(options: { hmac: string; }) => Promise<void>
参数类型
options{ hmac: string; }

设置用户Jwt(...)

setUserJwt(options: { jwt: string; }) => Promise<void>
参数类型
options{ jwt: string; }

设置 BottomPadding(...)

setBottomPadding(options: { value: string; }) => Promise<void>
参数类型
options{ value: string; }

发送 PushTokenTo Intercom (...)

sendPushTokenToIntercom(options: { value: string; }) => Promise<void>
参数类型
options{ value: string; }

接收 Push (...)

receivePush(notification: IntercomPushNotificationData) => Promise<void>
参数类型
notificationIntercomPushNotificationData

显示文章(...)

displayArticle(options: { articleId: string; }) => Promise<void>
参数类型
options{ articleId: string; }

添加倾听器( '窗口显示',...)

addListener(eventName: 'windowDidShow', listenerFunc: () => void) => Promise<PluginListenerHandle>
参数类型
eventName'windowDidShow'
listenerFunc() => void

回返情况: Promise<PluginListenerHandle>


添加倾听器( '窗口隐藏',...)

addListener(eventName: 'windowDidHide', listenerFunc: () => void) => Promise<PluginListenerHandle>
参数类型
eventName'windowDidHide'
listenerFunc() => void

回返情况: Promise<PluginListenerHandle>


删除所有收听器( )

removeAllListeners() => Promise<void>

接口

用户间更新选项

Prop类型
userIdstring
emailstring
namestring
phonestring
languageOverridestring
customAttributes{ [key: string]: any; }

互通通知数据

Prop类型
conversation_idstring
messagestring
bodystring
author_namestring
image_urlstring
app_namestring
receiverstring
conversation_part_typestring
intercom_push_typestring
uristring
push_only_conversation_idstring
instance_idstring
titlestring
prioritynumber

插件听筒

Prop类型
remove() => Promise<void>

通知

我们从一个正式的Ong开始 如果您使用上一个 npm 软件包 capacitor-intercom请更新您的软件包 @capacitor-community/intercom检查 更改日志 需要更多信息.

从 Capacitor v2 切换到 v3

  • UserUpdateOptions 选项类型变为 IntercomUserUpdateOptions
  • IntercomPlugin 配置密钥变为 Intercom
  • android-apiKey 配置密钥变为 androidApiKey
  • android-appId 配置密钥变为 androidAppId
  • ios-apiKey 配置密钥变为 iosApiKey
  • ios-appId 配置密钥变为 iosAppId
  • 从 CAPBridge 切换到应用程序DelegateProxy 应用事件
  • 从您的应用程序中删除整个创建初始化 MainActivity.java
 public class MainActivity extends BridgeActivity {
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        // Initializes the Bridge
-        this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
-            // Additional plugins you've installed go here
-            add(IntercomPlugin.class);
-        }});
-    }
}

许可证

麻省理工学院

示例

贡献者

感谢这些伟大的人emoji 密钥:

Stew
缝

💻 📖
David Seek
大卫 寻找

💻
Roman Nikitin
罗马尼基丁

💻
Anne Tomassoni
安妮·托马索尼

💻 👀
Maciej Modzelewski
迈凯伊·莫泽列夫斯基

💻
Oleg Yuzvik
奥列格·尤兹维克

🚧
Gustavo Corrêa Alves
古斯塔沃·科里亚·阿尔维斯

📖
Jealvia
捷尔维亚

🚧
Adam Duren
亚当·杜伦

💻 🚧
Rami Khafagi
拉米・哈法吉

💻
Masahiko Sakakibara
坂原正彦

🚧
Dejardin Camille
德雅尔丁·卡米尔

💻
Mohamed Abdelgwad
穆罕默德·阿卜杜勒格瓦德

🚧
Nathan
内森

🚧
Cecil Wöbker
塞西尔·沃克

💻 🚧
Pavlo Pyrig
Pavlo 派里格语Name

💻
Ruan
鲁恩

💻
RickJeroen
瑞克・杰伦

🚧
reslear
换行

📖
Philipp Matter
菲利普物质

💻
Josh Pike
乔希·派克

🚧
vtorenaintermedia
虚拟媒体

💻

本项目遵循 全部贡献者 规格。 任何捐款都欢迎!

版本与发布记录

@capacitor-community/intercom 共发布 27 个版本,首次发布于 2020/06/28;过去 12 个月发布了 2 个版本。

版本发布日期距今
8.0.0latest2026/03/247 个月前
7.2.02025/11/1211 个月前
7.1.02025/08/221.2 年前
7.0.32025/02/071.7 年前
7.0.22025/02/051.8 年前
7.0.12025/02/051.8 年前

其他发布通道:next → 4.0.0-0。

关于 @capacitor-community/intercom 的常见问题

@capacitor-community/intercom 是什么?

为 Capacitor app 启用 Intercom 特性

如何安装 @capacitor-community/intercom?

在项目目录运行 npm install @capacitor-community/intercom,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@capacitor/core(>=8.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@capacitor-community/intercom 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@capacitor-community/intercom 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@capacitor-community/intercom 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@capacitor-community/intercom 可以商用吗?

@capacitor-community/intercom 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@capacitor-community/intercom 的下载量有多少?

根据 npm 官方下载统计,@capacitor-community/intercom 在 2026/10/09 – 2026/11/07 这 30 天内被下载 103,683 次,日均约 3,456 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@capacitor-community/intercom 还在维护吗?

最新版本 8.0.0 发布于 2026/03/24(7 个月前);至今共发布 27 个版本,其中过去 12 个月发布了 2 个;首次发布于 2020/06/28。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。