我尝试为我的Google助手应用程序发送推送通知。 我使用了Google开发者网站上的sendNotification代码:https://developers.google.com/actions/assistant/updates/notifications
我正在编写Java。 一切正常,请期待获得正确的用户ID。 当我对用户进行硬编码时,它可以工作,但是如何在代码中获取用户ID?
我尝试了以下代码:
Argument arg_userId = request.getArgument(ConstantsKt.ARG_UPDATES_USER_ID);
字符串userId = request.getUser()。getUserId();
->我收到“ java.lang.reflect.InvocationTargetException”
String userId = arg_userId.getRawText();
->相同的例外
答案 0 :(得分:2)
获取通知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();