Charket 作为 Salesforce 的原生 App,可以利用 Apex 语言实现灵活的扩展。Charket 目前提供 Custom Event Handler 和 Custom Message Handler 接口,客户通过在 Apex 实现这两个接口,来完成在 Follower 触发事件(如点击菜单)和发送消息的自定义需求实现。
创建 Customer Handler
1. Custom Message Handler
Custom Message Handler 是在 Charket 系统接收到 WeChat Follower 发送消息时调用,具体消息类型和相关定义可以参考微信文档中的「接收普通消息」。
1.1. 新建 Apex Class, 并继承 Charket.CharketMessageHandler 抽象类,同时 Class 需要声明成 Global。
1.2. 根据业务场景,重写下面在 Charket.CharketMessageHandler 中的一个或者多个方法。具体方法的定义可以在 Setup | Apex Class | CharketMessageHandler 中查看。
- Charket.WeChatApiMessage onTextMessageReceived(Charket.WeChatApiMessage.Text message)
- Charket.WeChatApiMessage onImageReceived(Charket.WeChatApiMessage.Image message)
- Charket.WeChatApiMessage onVoiceReceived(Charket.WeChatApiMessage.Voice message)
- Charket.WeChatApiMessage onVideoReceived(Charket.WeChatApiMessage.Video message)
- Charket.WeChatApiMessage onShortVideoReceived(Charket.WeChatApiMessage.ShortVideo message)
- Charket.WeChatApiMessage onLocationReceived(Charket.WeChatApiMessage.Location message)
- Charket.WeChatApiMessage onLinkReceived(Charket.WeChatApiMessage.Link message)
1.3. 重写的每个方法可以返回 Charket.WeChatApiMessage,返回的消息会直接发送给对应的 WeChat Follower。Charket.WeChatApiMessage 是一个父类,需要返回下面具体的消息类型。
- Text
- Image
- Voice
- Video
- Short Video
- News
上面每个子类具体的具体定义可以在 Setup | Apex Class | WeChatApiMessage 中查看。
2. Custom Event Handler
Custom Event Handler 是在 Charket 系统接收到 WeChat Follower 触发事件时调用,具体事件类型和相关定义可以参考微信文档中的「接收事件推送」。
2.1. 新建 Apex Class, 继承 Charket.CharketEventHandler 抽象类,同时 Class 需要声明成 Global。
2.2. 根据业务场景,重写 Charket.CharketEventHandler 中的一个或者多个方法。具体方法的定义可以在 Setup | Apex Class | CharketEventHandler 中查看。
- Charket.WeChatApiMessage onSubscribe(Charket.WeChatApiEvent event)
- Charket.WeChatApiMessage onUnsubscribe(Charket.WeChatApiEvent event)
- Charket.WeChatApiMessage onFollowerScan(Charket.WeChatApiEvent.Scan event)
- Charket.WeChatApiMessage onNotFollowerScan(Charket.WeChatApiEvent.Scan event)
- Charket.WeChatApiMessage onTouchLinkMenu(Charket.WeChatApiEvent.Menu event)
- Charket.WeChatApiMessage onTouchActionMenu(Charket.WeChatApiEvent.Menu event)
2.3. 重写的每个方法可以返回 Charket.WeChatApiMessage,返回的消息会直接发送给对应的 WeChat Follower。Charket.WeChatApiMessage 是一个父类,需要返回下面具体的消息类型。
- Text
- Image
- Voice
- Video
- Short Video
- News
上面每个子类具体的具体定义可以在 Setup | Apex Class | WeChatApiMessage 中查看。