Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android应用程序中指定AppEngine版本_Android_Google App Engine - Fatal编程技术网

在Android应用程序中指定AppEngine版本

在Android应用程序中指定AppEngine版本,android,google-app-engine,Android,Google App Engine,我正在尝试使用Android应用程序访问AppEngine应用程序的非默认版本。为了获得许可,我的默认版本是1,而我的新版本是2。请注意,我还不能让version2作为默认版本 从文档中: 元素包含应用程序代码最新版本的版本标识符。版本标识符可以包含小写字母、数字和连字符。它不能以前缀“ah-”开头,“default”和“latest”是保留的,不能使用。AppCfg在上载应用程序时使用此版本标识符,告诉App Engine使用给定标识符创建应用程序的新版本,或者使用给定标识符替换应用程序的版本

我正在尝试使用Android应用程序访问AppEngine应用程序的非默认版本。为了获得许可,我的默认版本是
1
,而我的新版本是
2
。请注意,我还不能让version
2
作为默认版本

从文档中:

元素包含应用程序代码最新版本的版本标识符。版本标识符可以包含小写字母、数字和连字符。它不能以前缀“ah-”开头,“default”和“latest”是保留的,不能使用。AppCfg在上载应用程序时使用此版本标识符,告诉App Engine使用给定标识符创建应用程序的新版本,或者使用给定标识符替换应用程序的版本(如果已经存在)。您可以使用URL测试应用程序的新版本,使用“-dot-”作为URL中的子域分隔符,例如。您可以使用管理控制台选择用户看到的应用程序版本,即“默认”版本

不幸的是,Android应用程序并不直接使用此url。我的应用程序使用的ID是:

final String PROJECT_NUMBER = "123456789012";
final String WEB_CLIENT_ID = "123456789012-abcdefghijklmnopqrstuvwxyz012345.apps.googleusercontent.com";
final String ANDROID_AUDIENCE = WEB_CLIENT_ID;
PROJECT\u编号
用于GCM注册,
ANDROID\u观众
使用如下:

mCredential = GoogleAccountCredential.usingAudience(context, "server:client_id:" + Ids.ANDROID_AUDIENCE);

如何让我的Android应用程序与AppEngine应用程序的版本
2
通信?

@dragonx提供了一个Python链接,但我使用的是Java

在上,它表示可以定义
根目录
版本
。这就是我所做的工作:

  • version
    root
    添加到我的端点类:

  • 生成客户端库
  • 部署到AppEngine

现在,通过我的
DeviceInfo Endpoint
类进行的所有调用都被发送到我的AppEngine应用程序的
2
版本。

听起来你好像在使用一个Google Eclipse插件工具来生成Android代码。您是否正在构建“应用程序引擎连接”项目?我对这一点不太熟悉,似乎端点是它的更新(替代品?)。至少对于端点生成的代码,您可以指定“主机名”,在其中可以指定适当的版本。看这里:谢谢,那确实是我需要看的地方!
@Api(version = "2", root="https://2-dot-my_app_id.appspot.com/_ah/api", name = "deviceinfoendpoint", clientIds = (...) )
public class DeviceInfoEndpoint {