Хорошо, я покопался и обнаружил, что в коде, предоставленном Google, есть ошибка. На локальном сервере хранятся регистрационные данные пользователя со всеми строчными буквами (MyEmail@bomb.com -> myemail@bomb.com). На рабочем сервере он НЕ использует все строчные буквы для хранения электронной почты. Следующий метод запрашивает хранилище данных, предоставляя адрес электронной почты в качестве аргумента в нижнем регистре.
Решение, закомментируйте указанную строку или найдите способ использовать все строчные буквы при сохранении электронной почты в хранилище данных при регистрации.
/**
* Helper function - will query all registrations for a user.
*/
@SuppressWarnings("unchecked")
public static List<DeviceInfo> getDeviceInfoForUser(String user) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
// Canonicalize user name
-----> user = user.toLowerCase(Locale.ENGLISH);
Query query = pm.newQuery(DeviceInfo.class);
query.setFilter("key >= '" +
user + "' && key < '" + user + "$'");
List<DeviceInfo> qresult = (List<DeviceInfo>) query.execute();
// Copy to array - we need to close the query
List<DeviceInfo> result = new ArrayList<DeviceInfo>();
for (DeviceInfo di : qresult) {
result.add(di);
}
query.closeAll();
log.info("Return " + result.size() + " devices for user " + user);
return result;
} finally {
pm.close();
}
}