移动优先服务器 7.1 - 取消订阅推送通知(单播通知)

Mobile first server 7.1 - Unsubscribe from Push Notification (Unicast Notification)

我们正在使用移动优先平台制作混合应用程序。对于推送通知,我们将使用单播通知。我找不到任何关于退订的文件。任何人都可以帮助我知道如何在单播通知场景中取消订阅用户的推送通知。

查看官方文档here,它说:

The userId(s) must be the user IDs that were used to subscribe to the push notification event source.

这表明单播通知使用相同的 event-source subscription/unsubscription 机制,请查看官方文档 here 了解如何取消订阅事件源。

我找到了取消订阅单播通知的方法。不确定这是否正确,但对我有用。我使用了 REST API 运行时服务

MobileFirst 运行时环境中用于推送的 REST API 使部署在 MobileFirst Server 外部的 back-end 服务器应用程序能够从 REST API 端点访问推送功能。

以为它是为后端服务器设计的,它对我有用。

String  token = getToken("unregister-device");

首先获取token 关于如何获取token的详细信息是here

获得令牌后执行其余客户端检查文档 here

示例代码。

HttpClient httpClient = HttpClientBuilder.create().build();
        HttpDelete postRequest = new HttpDelete("http://localhost:10080/MyProject/imfpush/v1/apps/MyMobileApp/devices/12121-1212121-121212-12121");
            postRequest.addHeader("Content-Type", "application/json");
            postRequest.addHeader("Authorization", "Bearer "+token);
        HttpResponse response = httpClient.execute(postRequest);
        if (response.getStatusLine().getStatusCode() != 204) {
            throw new RuntimeException("Failed : HTTP error code : " + response.getStatusLine().getStatusCode());
        }
        BufferedReader br = new BufferedReader(new InputStreamReader((response.getEntity().getContent())));
        String output;
        System.out.println("============Output:============");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }