Articles of 谷歌应用程序内引擎

从Google App Engine调用Firebase数据库

我遵循本教程来设置我的Google App Engine实例,并且还使用了Firebase。 我的目标是将所有的“计算”放在Google App Engine上。 我想调用下面的这个函数: MyEndpoint: package productions.widowmaker110.backend; /** An endpoint class we are exposing */ @Api( name = "myApi", version = "v1", namespace = @ApiNamespace( ownerDomain = "backend.widowmaker110.productions", ownerName = "backend.widowmaker110.productions", packagePath="" ) ) public class MyEndpoint { /** A simple endpoint method that takes a name and says Hi back */ […]

生成Google App Engine后端(JDK 1.8,安装了新的ADT)时,注释仅适用于Java 1.5及更高版本

我安装了新鲜的ADT: http : //developer.android.com/sdk/index.html? hl= sk然后我安装了: 当我进入Eclipse自述文件目录时: Eclipse项目发行说明 版本4.3.0最新修订于2013年5月29日 我创build了新的Android应用程序,然后右键单击它 – > Google->生成Google App Engine后端,这就是我得到的: Description Resource Path Location Type The import android.os.Build is never used MainActivity.java /A/src/com/uniquebullshit/a line 12 Java Problem Syntax error, annotations are only available if source level is 1.5 or greater MessageData.java /A-AppEngine/src/com/uniquebullshit/a line 22 Java Problem Syntax error, annotations are […]

Google App Engine云terminal用户标识为空

我正在使用一个从这门课程 (稍作修改)的解决方法来获取userId,如果请求是从Android客户端发送的,则为空。 /** * This is an ugly workaround for null userId for Android clients. * * @param user A User object injected by the cloud endpoints. * @return the App Engine userId for the user. */ private static String getUserId(User user) { String userId = user.getUserId(); if (userId == null) { LOG.info("userId is null, […]

从App Engine将图像数据发送到Android应用程序

在我的App Engine后端,我有一种从Google Cloud Storage获取图片的方法 @ApiMethod( name = "getProfileImage", path = "image", httpMethod = ApiMethod.HttpMethod.GET) public Image getProfileImage(@Named("imageName")String imageName){ try{ HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); GoogleCredential credential = GoogleCredential.getApplicationDefault(); Storage.Builder storageBuilder = new Storage.Builder(httpTransport,new JacksonFactory(),credential); Storage storage = storageBuilder.build(); Storage.Objects.Get getObject = storage.objects().get("mybucket", imageName); ByteArrayOutputStream out = new ByteArrayOutputStream(); // If you're not in AppEngine, download the […]

Google App Engine – 通过实例自动缩放

使用GAE进行全新应用程序最令人恼火的事情之一就是,如果在15分钟内没有人碰到你的服务器,就不得不处理被激发的事件。 由于该应用程序是新的,或者只有很less的用户,所以对于一些不知道实例正在“旋转”的用户来说, 据我所知,你有这些基于文档的选项: 使用manual-scaling并将实例数设置为1 。 当你使用manual-scaling ,你设置的任何数量的实例都是你将会拥有的 – 不多不less。 这显然是低效的,因为您可能会支付未使用的实例,并且实例不会随着stream量增加/减less而自动添加/删除 使用basic-scaling和设置idle-timeout如24小时或48小时。 只要有人在这段时间内至less查询一次您的API,就会使您的实例继续运行。 在min-idle-instances和启用预热请求时使用automatic-scaling 。 这不符合预期的。 根据这些文件 : 如果您的应用程序没有提供任何stream量,那么对应用程序的第一个请求将始终是加载请求,而不是热身请求。 这并不能解决我们的问题,因为如果零实例正在运行,那么首先就没有什么可以预热的。 因此,您仍然在第一个请求上得到延迟。 我希望得到的效果是总是有一个实例运行,然后从那里扩大,如果stream量增加(当然,减less,但从来没有低于一个实例)。 这将像自动缩放,但有1个实例始终运行。 GAE有可能吗? 还是我错过了什么? 现在,我的临时解决scheme是设置我的应用程序manual-scaling与1个实例,所以至less我的应用程序是可用的新用户。

GCM重复的消息

我有一个基于Google Cloud Messaging的应用程序,它运行良好。 现在(今天)突然间开始出现我们从未见过的问题。 对于在设备之间发送的每条消息,接收设备将获得两次。 第一个将几乎立即到达(在不到3秒的发送)。 第二次到达几分钟后。 在testing中有两个设备,问题是相同的发送者/接收者。 所以如果一个设备向另一个发送一些消息,另一个会立即得到它们,但是在稍后的时间,它会收到一大堆消息,这是它收到的消息的第二个副本。 我已经设置了断点来确保发送设备不是罪魁祸首:消息只发送一次(即,发送的Web服务只被调用一次),后端的代码在Google App Engine上运行,并没有改变很长时间)。然而,消息以某种方式被传递给接收设备两次。 通过使用断点,我也确保我们自己的代码在接收方不负责任:确认GCMIntentService::onMessage()确实为每个发送的消息调用两次。 我们也确保我们数据库中的注册ID是最新的。 在这一点上,我很困惑,需要想法来取得进一步的进展。 那么有什么想法?

无法在Android项目中导入Google云端点客户端库类

我很难让Google Cloud Endpoints正常工作。 我有一个在GAE上运行的Python端点项目,它可以完美的使用API​​浏览器。 不过,我正在努力正确生成客户端库,并在我的Android应用程序中使用它。 我尝试了一些示例项目,每次都遇到相同的问题。 我无法从客户端库导入和使用模型类。 这就是我正在做的(对于这个例子,我将使用https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-python中的helloworld api python示例) 解压缩示例代码 通过导航到文件夹并运行生成客户端库 <gae-sdk>\endpointscfg.py get_client_lib java helloworld_api.HelloWorldApi 将生成的文件夹解压缩并复制到eclipse中的项目的根目录下 在Eclipse中添加“your_app_id_appspot_com-helloworld-v1-20140310110152-java-1.17.0-rc-sources.jar”来构buildpath(右键单击JAR> Build Path> Add to Build Path) 在这个阶段,我可以导入com.appspot.your_app_id.helloworld.model.*但是我不能导入com.appspot.your_app_id.helloworld.model.Greeting 任何人都可以在这里发生什么事情吗? 我尝试了许多不同的方法来使这个工作,但每次都有同样的问题。 非常感谢, 汤姆

Google App Engine – 云端点 – 应用程序名称未设置

我刚刚启动了Google Cloud Endpoints。 运行android应用程序时,我在logcat中有以下警告: Tag: AbstractGoogleClient Text: Application name is not set. Call Builder#setApplicationName. 在哪里设置应用程序名称? 它是在Android或应用程序引擎/云端点?

什么是“Web应用程序”?

在这里 ,Google正在谈论“networking应用”。 是一个“networking应用程序”只是一个连接到networking的Android应用程序? Android应用程序需要上网吗?

如何将数据从Android移动设备发送到Google App Engine数据存储?

我需要编写一个将数据从Android发送到Google App Engine的应用程序。 我想发送的数据可以用一个典型的数据库logging来描述。 每个logging有一些整数,string,date等。我想保持连接的细节隐藏/保护,以便有人不能在数据存储中创build错误的数据,如果它不涉及太多。 我的问题是:从Android设备获取这些数据到GAE数据存储区的好方法是什么? 如果你可以发布一个链接到适当的Android库,或者链接到过去如何完成,这将是非常有用的。