我们最近开始使用新的Google扩展APK机制。总体来说,它运作良好,但对我们而言似乎有些不稳定。以下是一些问题:
1. 有些用户会与应用程序一起下载扩展应用程序,而其他用户则不会,因此我们的应用程序必须自行下载。是否有人知道何时会自动工作以及何时不会?
2. 有时当我们需要自己下载扩展文件时,Google Play会返回文件大小为-1,URL为空,表示扩展文件不存在。如果我再次运行应用程序,第二次通常会返回有效的大小和URL。是否还有其他人看到这种不稳定性?
以下是代码的基础内容:
这是我们设置回调验证许可证的方式:
然后在回调函数中,当许可证有效时,我们使用以下代码来实现 allow() 方法。
我们刚刚发布了带有新代码的应用程序,但是很多用户在获取expansionFileSize时返回-1,在获取url时返回null。这将导致用户无法安装扩展文件。通常情况下,如果他们再次运行应用程序,第二(或第三)次就能正常运行。
1. 有些用户会与应用程序一起下载扩展应用程序,而其他用户则不会,因此我们的应用程序必须自行下载。是否有人知道何时会自动工作以及何时不会?
2. 有时当我们需要自己下载扩展文件时,Google Play会返回文件大小为-1,URL为空,表示扩展文件不存在。如果我再次运行应用程序,第二次通常会返回有效的大小和URL。是否还有其他人看到这种不稳定性?
以下是代码的基础内容:
这是我们设置回调验证许可证的方式:
policy = new APKExpansionPolicy( context, new AESObfuscator( SALT, context.getPackageName(), deviceId ) );
mChecker = new LicenseChecker( context, policy, BASE64_PUBLIC_KEY );
mLicenseCheckerCallback = new MyLicenseCheckerCallback();
mChecker.checkAccess( mLicenseCheckerCallback );
然后在回调函数中,当许可证有效时,我们使用以下代码来实现 allow() 方法。
public void allow( int reason )
{
String expansionFileName = policy.getExpansionFileName( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
String expansionURL = policy.getExpansionURL( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
long expansionFileSize = policy.getExpansionFileSize( APKExpansionPolicy.MAIN_FILE_URL_INDEX );
}
我们刚刚发布了带有新代码的应用程序,但是很多用户在获取expansionFileSize时返回-1,在获取url时返回null。这将导致用户无法安装扩展文件。通常情况下,如果他们再次运行应用程序,第二(或第三)次就能正常运行。
有人知道可能出了什么问题吗?