Google 的操作推送通知的用户 ID
User-Id for Push-Notification on Actions for Google
我尝试为我的 google 助手应用程序发送推送通知。
我使用了来自 google 开发者网站的 sendNotification 代码:https://developers.google.com/actions/assistant/updates/notifications
我正在编码 Java。
一切正常,期望获得正确的用户 ID。
当我对我的用户进行硬编码时它可以工作,但是我如何在代码中获取用户 ID?
我尝试了以下代码:
Argument arg_userId = request.getArgument(ConstantsKt.ARG_UPDATES_USER_ID);
String userId = request.getUser().getUserId();
--> 我得到 "java.lang.reflect.InvocationTargetException"
String userId = arg_userId.getRawText();
--> 相同的异常
您获取通知 ID 的方法存在两个问题:
- 附加到用户对象的 ID 是 deprecated,可能不可用。
- 这不是您想要的 ID。
在用户 finalizes the notification 的响应中,该响应包含一个您应该获取并存储的 ID。由于您使用的是 Java,代码可能如下所示:
ResponseBuilder responseBuilder = getResponseBuilder(request);
Argument permission = request.getArgument(ConstantsKt.ARG_PERMISSION);
if (permission != null) {
Argument userId = request.getArgument(ConstantsKt.ARG_UPDATES_USER_ID);
// code to save intent and userID in your db
responseBuilder.add("Ok, I'll start alerting you.").endConversation();
} else {
responseBuilder.add("Ok, I won't alert you.");
}
return responseBuilder.build();
我尝试为我的 google 助手应用程序发送推送通知。 我使用了来自 google 开发者网站的 sendNotification 代码:https://developers.google.com/actions/assistant/updates/notifications
我正在编码 Java。 一切正常,期望获得正确的用户 ID。 当我对我的用户进行硬编码时它可以工作,但是我如何在代码中获取用户 ID?
我尝试了以下代码:
Argument arg_userId = request.getArgument(ConstantsKt.ARG_UPDATES_USER_ID);
String userId = request.getUser().getUserId();
--> 我得到 "java.lang.reflect.InvocationTargetException"
String userId = arg_userId.getRawText();
--> 相同的异常
您获取通知 ID 的方法存在两个问题:
- 附加到用户对象的 ID 是 deprecated,可能不可用。
- 这不是您想要的 ID。
在用户 finalizes the notification 的响应中,该响应包含一个您应该获取并存储的 ID。由于您使用的是 Java,代码可能如下所示:
ResponseBuilder responseBuilder = getResponseBuilder(request);
Argument permission = request.getArgument(ConstantsKt.ARG_PERMISSION);
if (permission != null) {
Argument userId = request.getArgument(ConstantsKt.ARG_UPDATES_USER_ID);
// code to save intent and userID in your db
responseBuilder.add("Ok, I'll start alerting you.").endConversation();
} else {
responseBuilder.add("Ok, I won't alert you.");
}
return responseBuilder.build();