如何在Java / Kotlin客户端库中为Google上的操作将一些数据保存到userStorage中

问题描述 投票:0回答:2

我想在Kotlin的userStorage中保存一些信息

在javascript中,我做了以下操作

exports.saveFloor = (conv, floor) => {
conv.user.storage.floor = floor;

}

这是客户library

kotlin actions-on-google
2个回答
1
投票

来自Name Psychic

@ForIntent("request_name_permission")
public ActionResponse requestNamePermission(ActionRequest request) {
  ResponseBuilder response = getResponseBuilder(request);

  String requestedPermission = ConstantsKt.PERMISSION_NAME;

  response.getConversationData().put(DATA_KEY_REQUESTED_PERMISSION, requestedPermission);

  String storageKey = STORAGE_KEY_NAME;

  if (!request.getUserStorage().containsKey(storageKey)) {
    Permission permission =
        new Permission()
          .setContext(formatResponse("permission_reason"))
          .setPermissions(new String[] {requestedPermission});
    response.add("PLACEHOLDER_FOR_PERMISSION");
    response.add(permission);
  } else {
    String name = (String) request.getUserStorage().get(storageKey);
    response.add(formatResponse("say_name", name));
    response.endConversation();
  }

  return response.build();
}

0
投票

我想我想要的片段是

 Map<String, Object> storage = response.getUserStorage();

String requestedPermission =
    (String) request.getConversationData().get(DATA_KEY_REQUESTED_PERMISSION);
if (requestedPermission.equals(ConstantsKt.PERMISSION_NAME)) {
  String name = request.getUser().getProfile().getDisplayName();
  storage.put(STORAGE_KEY_NAME, name);
  response.add(formatResponse("say_name", name));
  response.endConversation();
  return response.build();
} 
if (requestedPermission.equals(ConstantsKt.PERMISSION_DEVICE_COARSE_LOCATION)) {
  String location = request.getDevice().getLocation().getCity();
  storage.put(STORAGE_KEY_LOCATION, location);
  showLocationOnScreen(request, response);
  return response.build();
} 

我的javascript代码相当于Kotlin

fun saveFloor(request: ActionRequest, floor: String) {
    val response = getResponseBuilder(request)
    val storage = response.userStorage as MutableMap

    storage["floor"] = floor
}

欢呼Nick指出我正确的方向

© www.soinside.com 2019 - 2024. All rights reserved.