Android中的Aviary SDK更新

所以我们已经在我们的项目中使用了Aviary SDK很长一段时间了,没有发生任何问题。 但是,当我们将Aviary版本更新到最新版本时,会发现一些奇怪的行为 – 当您首次在设备上安装新版本的Aviary应用程序时安装应用程序,该应用程序版本与旧版Aviary版本一起使用时,应用程序崩溃,

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

第二次运行已安装的应用程序工作正常,所有function都正常工作。 如果设备以前没有安装应用程序,则不会发生崩溃,安装运行良好。 从com.aviary.android.feather.sdk:aviary-sdk:3.4.3.351com.aviary.android.feather.sdk:aviary-sdk:3.6.3

有没有其他人有这样的问题,有没有办法避免这个崩溃?

  • 我如何检查在我的项目中使用哪个Gradle Android插件版本?
  • 如何在Android上运行JavaFX
  • 多次调用Gradle buildConfig
  • 错误:无法find:com.android.support:support-v4:20.0.+
  • Android Studio非常缓慢而且迟钝
  • 使用Scala与Gradle for Android项目
  • Android - 不同构建types的清单占位符
  • 无法更新build.gradle使用支持库23.0.1
  • 创build应用程序类,并将下面的代码放在onCreate()methide中

    Intent cdsIntent = AviaryIntent.createCdsInitIntent(getBaseContext(),API_SECRET,null); startService(cdsIntent);

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

    答案在文档中。

    4.1。 资产文件夹在应用程序的资产文件夹中创build一个名为“aviary”的文件夹。 在里面,创build一个名为“aviary.txt”的文件 – 在这个文件的第一行放上你的API秘密,并在第二行放上你的Google Play账单公共API密钥。 这个文件不是完全必要的,但是如果你排除它,你会收到警告。 我们这样做是为了在应用程序不活动时优化内容下载。 检查示例应用程序的资产文件夹以获取有关如何执行此操作的模板。

    我遇到了同样的exception,但可能是因为我正在调用AviaryIntent.createCdsInitIntent 。 一旦我将调用AviaryIntent.createCdsInitIntentApplication AviaryIntent.createCdsInitIntent这个例外就消失了。