0

我正在使用 intercom.io 向我的客户发送消息。只有当我发送的消息是对话中的第一条消息时,我才能从对讲机接收 gcm(带通知)。对于对话中的后续消息,我什么也没有收到。我在 onMessageReceived() 中输入了一个日志,但它没有收到任何内容,除非该消息是对话中的第一条消息。

public class MyGcmListenerService extends GcmListenerService {    

    @Override
    public void onMessageReceived(String from, Bundle data) {

        MessageUtils.log("onMessageReceived data is " + data);
    }
}

知道我错过了什么吗?

如果你不明白我想说的话,这就是我的意思:

  1. 我从我的 intercom.io Web 仪表板(或任何名称)中选择一个客户
  2. 然后我单击“消息”按钮向客户发送消息。
  3. 客户收到了我的消息以及通知。
  4. 现在我在与以前相同的对话中向客户发送另一条消息..但现在客户将不再从对讲机收到任何 gcm 消息。
4

1 回答 1

0

是的,它现在确实支持。github 问题现已关闭,他们在 3.0.3 中添加了它

他们有一个FCM 的git hub 项目,但它缺少一些代码。该代码可在此 github 页面上找到,如下所示

如果您在自己的应用程序的一个类中扩展 FirebaseMessagingService?那么您现在需要手动将推送传递给对讲机。

private final IntercomPushClient intercomPushClient = new IntercomPushClient();
  public void onMessageReceived(RemoteMessage remoteMessage) {
      Map<String, String> message = remoteMessage.getData();
      if (intercomPushClient.isIntercomPush(message)) {
          intercomPushClient.handlePush(getApplication(), message);
      } else {
          //DO HOST LOGIC HERE
     }
 }
于 2016-09-07T15:36:08.767 回答