将活动添加到通知供稿后,无法在下拉列表中看到通知

时间:2019-05-22 18:42:58

标签: getstream-io

我正在努力让自己了解getstream.io。我打算将其用于实现通知功能。

我正在客户端使用React组件StreamApp。在服务器端,我正在使用Java客户端。 我可以向通知源添加活动。我也收到有关此通知的客户端通知。但是,我无法在下拉列表中看到该通知以及其他现有通知。

前端(客户端)辅助代码:

<StreamApp
      apiKey="apikey"
      appId="appId"                                            token="token here">
         <NotificationDropdown notify />
</StreamApp>

服务器端(后端)代码:

       Client client = Client.builder("api key", "secret key").build();
        NotificationFeed feed = client.notificationFeed("notification", "user-one");
        Activity activity = Activity.builder()
                .actor("Mr Beans")
                .verb("like")
                .object("hello world")
                .build();
        feed.addActivity(activity).join();

运行服务器端代码时,在前端出现通知气泡。但是,当我单击响铃图标时,看不到提示““豆先生喜欢你好世界”的通知。但是,我可以看到现有的,如下所示。

enter image description here

任何有关如何查看正在发布的活动的帮助都非常有用。预先感谢。

注意:我使用的api密钥和令牌来自文档中的示例。

关于, V

1 个答案:

答案 0 :(得分:1)

您正在尝试创建一个代表用户反应的活动。

执行此操作的正确方法是通过反应API:

client.reactions().add(
    "user-one",                             // user ID
    "like",                                 // reaction name
    "ccc38e3e-7def-11e9-9154-127939012af0", // activity user is reacting to
    new FeedID("notification", "user-one")  // feed we want to receive an activity
).join();                                   // representing the reaction

如果您绝对需要自己创建活动-您有两种选择:

  1. 复制Stream生成的活动的格式:
import static io.getstream.core.utils.Enrichment.createUserReference;
...
Activity like = Activity.builder()
    .actor(createUserReference(user.getID())) // user reference
    .verb("like")
    .object("SA:" + targetActivity.getID())   // activity reference
    .build();

Activity follow = Activity.builder()
    .actor(createUserReference(user.getID()))
    .verb("follow")
    .object(createUserReference(targetUser.getID()))
    .build();
  1. 重新实现NotificationDropdown渲染方法以支持您的自定义活动格式(例如,请参见Notification组件源代码):
<StreamApp
    apiKey="<api-key>"
    appId="<app-ID>"
    token="<token>"
>
    <NotificationDropdown notify Group={MyCustomComponent}/>
</StreamApp>