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