9

所以我们在项目中使用Aviary SDK已经很久了,没有出现任何问题。但是当我们将 Aviary 版本更新到最新版本时,发现了一些奇怪的行为 - 当您第一次在设备上安装捆绑了新版本 Aviary 的应用程序时,该设备具有旧版 Aviary 版本的应用程序,应用程序崩溃异常 -

FATAL EXCEPTION: IntentService[AviaryCdsService]
java.lang.IllegalStateException: Missing required api key secret

已安装应用程序的第二次运行按预期运行,所有功能均正常运行。如果设备以前没有安装过应用程序,则不会发生崩溃并且安装运行正常。从com.aviary.android.feather.sdk:aviary-sdk:3.4.3.351迁移到com.aviary.android.feather.sdk:aviary -sdk:3.6.3时出现此行为

有没有其他人遇到过这样的问题,有没有办法避免这种崩溃?

4

4 回答 4

2

创建应用程序类并将以下代码放入 onCreate() 方法中

Intent cdsIntent = AviaryIntent.createCdsInitIntent(getBaseContext(), API_SECRET, null); 启动服务(cdsIntent);

于 2016-11-03T06:20:20.263 回答
0

我遇到了同样的异常,但可能是因为我AviaryIntent.createCdsInitIntent在活动内部调用。一旦我将调用移至AviaryIntent.createCdsInitIntentApplication异常就消失了。

于 2014-12-21T07:37:21.827 回答
0

答案在文档中。

4.1。资产文件夹 在应用程序的资产文件夹中创建一个名为“aviary”的文件夹。在里面,创建一个名为“aviary.txt”的文件——在该文件的第一行放置您的 API-secret,在第二行放置您的 Google Play 计费公共 API 密钥。此文件并非完全必要,但如果您将其排除,您将收到警告。我们这样做是为了在您的应用处于非活动状态时优化内容下载。检查示例应用程序的资产文件夹以获取有关如何执行此操作的模板。

于 2015-04-20T03:51:48.957 回答
0

如果您没有该应用的 Google Play 计费公共 API 密钥怎么办?

于 2015-05-16T14:32:45.983 回答