移动第一台服务器7.1 - 取消订阅推送通知(单播通知)

时间:2015-12-29 21:19:59

标签: ibm-mobilefirst worklight-server

我们正在使用Mobile First Platform制作混合应用程序。对于推送通知,我们将使用单播通知。我找不到任何关于取消订阅的文档。任何人都可以帮助我知道如何在单播通知方案中取消订阅用户推送通知。

2 个答案:

答案 0 :(得分:1)

查看官方文档here,它说:

  

userId必须是用于订阅推送通知事件源的用户ID。

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

答案 1 :(得分:0)

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

MobileFirst运行时环境中的Push API for REST API使部署在MobileFirst Server外部的后端服务器应用程序能够从REST API端点访问Push函数。

认为它是专为后端服务器设计的,它适用于我。

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

首先获取有关如何获取令牌的详细信息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);
        }