开发者控制台

步骤9: 对应用签名并配置安全配置文件(VSK Fire TV)

步骤9: 对应用签名并配置安全配置文件(VSK Fire TV)

此页面将引导您完成对应用签名并创建API密钥以对其进行授权的过程。

示例应用注意事项

即使您只是在探索示例应用,您仍然需要执行本主题中的所有步骤。

关于在开发过程中对应用签名

您的应用的签名是一个哈希值,它在构建时应用于每个Android应用。如果您从Android Studio运行应用(在开发应用时),默认情况下,Android会自动使用默认调试密钥对您的应用签名

然而,对于包含VSK的项目,Fire TV不会接受Android Studio提供的此默认调试密钥,并且您的应用也不会运行。即使在应用的本地开发过程中(侧载到Fire TV上),您也必须使用MD5和SHA-256值与亚马逊安全配置文件相关的签名对APK进行签名。安全配置文件将为您提供一个API密钥,您可以将其引入应用。

按照以下步骤在Android Studio中自定义调试签名密钥,以便为在Fire TV上运行的应用签名。

创建一个密钥以对您的应用签名

对于应用的预发布或“调试”版本,必须创建API密钥并将其存储在项目中。要在您的应用中添加API密钥:

  1. 在项目的assets文件夹内创建一个名为api_key.txt的文件。必须将该文件放置在此特定目录中。
  2. 插入API密钥作为此api_key.txt文件中的唯一数据。

对于应用的发布或“生产”版本,如果应用使用Appstore SDK,则必须为应用的发布版本创建额外的API密钥。如果使用较旧的IAP SDK v2.0,并使用自己的证书为应用签名,您还必须为应用的发布版本创建API密钥。反之,如果您使用IAP SDK v2.0并授权亚马逊对您的应用签名,则无需创建额外的API密钥。如需查看摘要,请参阅下表:

可以在开发者控制台中查找亚马逊应用商店证书哈希值,为现有应用创建API密钥。转到我的应用程序 > 选择您的应用 > Upload Your App File(上传您的应用文件)> 应用商店证书哈希值

以下是您应该如何对应用签署的快速参考:

使用Appstore SDK 发布应用自签名 生产或开发版本 如何对您的应用签名
生产 为发布应用自动生成和注入API密钥,无需执行其他任何操作。
生产 开发者必须使用自己的发布证书哈希值创建API密钥,并将其添加到资产中。
生产 开发者必须在开发者控制台中使用发布证书哈希值创建API密钥,并将其添加到资产中。
生产 开发者必须使用自己的发布证书哈希值创建API密钥,并将其添加到资产中。
任何 任何 开发 开发者必须使用自己的发布证书哈希值创建API密钥,并将其添加到资产中。

用于对应用签名的密钥存储在密钥库中。对于Android应用,通常有一个调试密钥库和一个发布密钥库。要创建签名密钥,请如下操作:

  1. 如果您已经有一个自定义调试密钥(而不是默认的Android调试密钥)用来对应用签名,请确保您知道密钥库位置、密钥库密码、密钥别名和密钥密码。然后跳至下个部分: 使用密钥自动对应用签名.
  2. 假设您没有自定义调试密钥,请打开Android Studio,然后单击顶部导航中的Build(构建),然后选择Generate Signed Bundle/APK(生成签名的Bundle/APK)。
  3. 在“Generate Signed Bundle or APK”对话框中,选择APK。然后单击下一步
  4. 单击Create new(新建)并定义新密钥的字段。有关更多详细信息,请参阅Android文档中的生成上传密钥和密钥库。至少填写证书表单中的一个字段。完成后,单击OK(确定)。
  5. 记下您的密钥库位置、密钥库密码、密钥别名和密钥密码,因为您在下一部分中将需要此类信息。

    创建签名密钥
    创建签名密钥

    有关更多信息,请参阅Android文档中的生成密钥和密钥库

  6. 关闭对话框,而不继续执行其他向导屏幕以生成APK。继续执行下一步。

使用自定义密钥自动对您的应用签名

在上一部分(创建一个密钥以对您的应用签名),您创建了一个自定义密钥来对自己的应用签名。在这一步中,您将更新调试配置文件在Android Studio中使用的密钥。要自定义调试配置文件中使用的签名密钥,请如下操作:

  1. 在Android Studio中打开Fire TV应用项目,然后转到File > Project Structure(文件>项目结构)。
  2. 单击左侧的Modules(模块)。
  3. 单击顶部的Signing Configs(签名配置)选项卡。
  4. 单击+按钮,并创建名为firetv的新配置文件。
  5. 根据上一部分(创建一个密钥以对您的应用签名)中提到的信息,选择Store File(存储文件)、Store Password(存储密码)、Key Alias(密钥别名)和Key Password(密钥密码),配置新的firetv签名配置。

    配置签名密钥
    配置签名密钥
  6. 单击Apply(应用),然后单击OK(确定)以关闭对话框。Gradle将您的项目与更新的签名信息同步。
  7. 在左窗格中,展开Gradle Scripts(Gradle脚本)并双击您的build.gradle (Module: app)文件。
  8. 验证名为signingConfigs的对象是否连同有关您firetv签名配置文件的详细信息出现。例如:

     android {
         signingConfigs {
             firetv {
                 storeFile file('/Users/johndoe/android_signature/androidkeys.jks')
                 storePassword var
                 keyAlias = 'myandroidkeys'
                 keyPassword var
             }
         }
         ...
       }
       ...
     }
    

    buildTypes属性还应指定对发布和调试构建使用firetv签名密钥。如果在示例应用中已将这些注释掉,请取消注释。

     buildTypes {
         release {
             minifyEnabled false
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
             signingConfig signingConfigs.firetv
         }
         debug {
             signingConfig signingConfigs.firetv
         }
     }
    

    现在,您的构建将使用API密钥进行签名,该密钥将与亚马逊开发者安全配置文件中使用的API密钥相匹配(您将在接下来的步骤中创建该配置文件)。Fire TV将允许把该应用安装在Fire TV设备上。

    有关对应用签名的更多信息,请参阅Android文档中的配置构建过程以自动对应用签名

    您可以变更上文的应用签名过程,只要记住下面所述的一般原则即可:当您在Fire TV上开发和运行应用时,用一个与亚马逊上的安全配置文件相关的密钥来对您的应用签名,而非使用您的默认Android Studio调试密钥。(您将在下一部分中将此密钥与安全配置文件相关联。)

从您的密钥中获取MD5和SHA-256值

您需要从签名密钥中获取MD5和SHA-256值,然后才能从Amazon安全配置文件生成API密钥(该配置文件将在下一部分中介绍)。您可以通过以下操作从Android Studio中的Gradle菜单中获取这些值:

  1. 在Android Studio中,请单击右侧的Gradle侧窗格并将其展开。
  2. 展开[应用名称] > Tasks(任务)> android
  3. 双击signingReport

    在Android Studio中对报告签名
    在Android Studio中对报告签名

    Gradle读取您的密钥库,并在底部窗格中显示MD5和SHA-256值。

    签名密钥
    签名密钥通过Android Studio显示
  4. 仅需要MD5和SHA-256值。将这些MD5和SHA-256值复制到一个方便的位置,因为您需要用它们来创建安全配置文件。

创建亚马逊开发者账户

如果您还没有亚马逊开发者账户,请单击右上角的登录,然后单击创建您的Amazon Developer账户,在developer.amazon.com上创建一个账户。如果这是您首次创建账户,您将需要填写一些信息字段。请参阅创建开发者账户,了解更多详细信息。

创建安全配置文件

安全配置文件将您的安全凭证与应用关联。您将在开发者门户中创建此安全配置文件,并在配置文件的配置中包含MD5和SHA-256值。这将在您的应用和安全配置文件之间创建授权。要创建安全配置文件,请如下操作:

  1. 登录https://developer.amazon.com并单击Developer Console(开发者控制台)。这将让您前往亚马逊应用商店开发者控制台
  2. 单击设置,然后从子选项卡第二行单击安全配置文件
  3. 单击创建新的安全配置文件按钮(位于右下角)。
  4. 安全配置文件名称字段中,为您的安全配置文件取一个容易记住的名称(例如您应用的名称)。还可以根据需要在安全配置文件描述字段中输入描述。

    命名您的安全配置文件
    命名您的安全配置文件
  5. 单击保存。​
  6. 单击安卓/Kindle设置选项卡。

    配置安全配置文件
    配置安全配置文件
  7. 填写以下字段:

    字段 描述
    API密钥名称 该名称不一定是您应用的官方名称。它只是在注册到您的安全配置文件的应用和网站中标识这个特定的Android应用。
    软件包 此项必须与您的Android项目的自定义软件包名称相匹配。在Android Studio中,在app(应用)> manifests(清单)> AndroidManifest.XML找到您的清单,并在顶部附近寻找软件包名称。例如:com.example.vskfiretv.mystreamz
    MD5签名 此签名用于验证您的应用。MD5签名必须采用16个十六进制对的形式,用冒号分隔。例如: 02:6C:8B:83:77:91:39:C3:E8:C6:45:AC:6A:CE:B2:5B。您在上一部分从您的密钥中获取MD5和SHA-256值中提取了该值。
    SHA256签名 此签名用于验证您的应用。SHA-256签名必须采用32个十六进制对的形式,用冒号分隔。例如: 12:8F:C1:5D:3D:E9:BD:00:E0:ED:77:B3:84:71:AB:8F:6E:7D:C0:9E:E5:FE:64:EF:8F:BD:DA:EF:77:1F:E8:5E。您在上一部分从您的密钥中获取MD5和SHA-256值中提取了该值。
  8. 单击生成新密钥
  9. API密钥下,单击显示并复制API密钥,将其保存在方便的位置。

    API Key Details(API 密钥详细信息)
    API Key Details
  10. 关闭API Key Details窗口。

将API密钥添加到Fire TV项目中

您需要将安全配置文件中的API密钥添加到Fire TV项目中。这将使您的应用能够接收来自Alexa的消息。要在您的应用中添加API密钥:

  1. 在Android Studio中,打开您的Fire TV应用项目。
  2. 在项目的assets文件夹内创建一个名为api_key.txt的文件。(如果您的应用中没有包含此文件的资产文件夹,请创建该文件夹和文件。) 必须将该文件放置在此特定目录中。
  3. 插入API密钥作为此api_key.txt文件中的唯一数据。
示例应用注意事项

api_key.txt文件已存在于示例应用中。按Shift两次,键入文件名称以快速找到该文件。将<INSERT YOUR API KEY HERE>(在此插入您的API密钥)替换为您的API密钥。

将安全配置文件附加到您的应用

您需要将安全配置文件附加到您的应用。这将可让您的应用在Fire TV上获得授权。要将安全配置文件附加到您的应用,请如下操作:

  1. 如果有必要,登录https://developer.amazon.com并执行以下操作之一:

    • 如果您在处理现有应用,请转到应用与服务>我的应用程序。选择您的应用。
    • 如果您在为示例应用创建新的测试应用,请单击添加新应用程序 > Android。在“新应用程序提交”屏幕上填写必填字段(标题、类别等),然后单击保存
  2. 在左侧的子选项卡列中,单击应用服务选项卡。
  3. 在“安全配置文件”部分展开选择现有安全配置文件或新建链接。
  4. 在出现的“安全配置文件”下拉列表中,选择先前创建的安全配置文件,然后单击启用安全配置文件

    为应用选择安全配置文件
    为应用选择安全配置文件

    您将看到确认消息,说明Security profile "{Name}" has been successfully enabled for your app(已成功为您的应用启用安全配置文件"{Name}"),其中含有关于附加的安全配置文件的详细信息。

    请注意,一旦将安全配置文件附加到应用,就无法删除或更改安全配置文件对应用的附加。

为开发者控制台生成签名的APK

您需要生成一个签名的APK并将其上传到开发者控制台,以便在稍后的步骤中将您的应用提交到动态应用测试(LAT)。您生成的APK必须是发布APK,而不是调试APK。要从Android Studio生成签名的APK:

  1. 在Android Studio中,通过转到Build(构建),然后选择Generate Signed Bundle/APK(生成签名的Bundle/APK),生成一个签名版本的APK。选择APK,然后单击下一步。(不要生成调试APK,因为开发者控制台不会接受它。)
  2. 选择与您之前配置的签名密钥相同的签名密钥。然后单击下一步
  3. 选择所需的目标文件夹(这是Android Studio将生成构建的APK的位置)。选择release(发布)构建(注意亚马逊应用商店将拒绝调试构建)。选择V1 (Jar Signature)(V1(Jar签名))复选框。然后单击Finish(完成)。
  4. Android Studio构建您的项目后,会显示一个带有locate(定位)链接的小消息窗口,用于打开在其中构建APK的目标文件夹。单击locate,并打开您的目标文件夹以便利地访问APK。

    定位您构建的APK
    定位您构建的APK

    如果此窗口消失,您可以通过单击右下角的事件日志选项卡找到信息。项目中的位置为app/release,文件的默认名称为app-release.apk

将您的APK上传到开发者控制台

现在您已经生成了一个已签名的发布版APK,请将其上传到开发者控制台。

上传APK:

  1. 如有必要,请登录开发者控制台并转到控制面板。
  2. 转到应用与服务>我的应用
  3. 单击添加新应用程序按钮,然后选择Android
  4. 应用程序标题字段为您的应用指定名称,并在应用程序类别字段确定其类别。有关这些字段的更多信息,请参阅应用提交过程中的步骤1: 上传您的应用文件

  5. 单击保存。​
  6. Upload Your App File屏幕上,将APK从目标文件夹拖到Upload your app file框中,然后填写其他必填字段。

    有关该屏幕的更多详细信息,请参阅步骤1: 上传您的应用文件

  7. 语言支持部分中选中一个复选框(例如,英语)。

    按照提交应用入门指南进行操作,其余详细信息将在下一步中填写。目前,您必须有一个应用来附加安全配置文件。安全配置文件需要软件包名称。

填写应用提交信息

在应用提交屏幕上填写所有必填信息。此时您不应将应用提交到亚马逊应用商店。要填写该信息,请如下操作:

  1. 在每个屏幕上,提供所需的信息。有关字段详细信息,请参阅向亚马逊应用商店提交应用

  2. 当您完成每个屏幕时,侧边栏中的屏幕会显示一个绿色对勾标记。确保Upload Your App FileTarget Your App(确定应用支持目标)以及Appstore Details(亚马逊应用商店详情)屏幕都有绿色对勾标记。

    应用提交屏幕的侧边栏,在 Upload your app file、Target your app 和 Appstore details 旁边都有绿色对勾标记。

提交您的应用以进行动态应用测试(LAT)(仅限新应用)

您不需要将您的应用提交到亚马逊应用商店,但如果您有一个新的应用,或者如果您正在使用示例应用,则需要将应用提交到动态应用测试(LAT)。当您向LAT提交应用时,亚马逊的服务器可以将您的应用软件包名称映射到您的目录中。在RemoteVideoPlayer Supported Capabilities(RemoteVideoPlayer支持的功能)中的catalogs(目录)属性中,指明您的合作伙伴ID,但亚马逊会通过您的应用标题和ASIN的映射获取您应用的目录。要执行此映射,您的应用必须位于LAT或生产环境中。

要为您的应用开始LAT,请执行如下操作:

  1. 在开发者控制台中,转到应用与服务>我的应用程序,然后单击您的应用。
  2. 在左侧的侧边栏中,单击动态应用测试
  3. 如果这是您第一次为此应用设置测试,请选择新建动态应用测试

    如果您之前为此应用设置了测试,则会将您带到“动态应用测试”控制面板。单击新测试

  4. 填写所有必填字段,然后单击提交。有关如何开始LAT的更多详细信息,请参阅创建动态应用测试

    没有必要为这个LAT添加测试者,因为LAT提交单纯是为了让亚马逊的系统可以将您的目录映射到您的软件包。您将不会使用LAT版本的应用,并且可以忽略任何LAT电子邮件。

后续步骤

转到下一步: 步骤10: 测试表述和观察日志


Last updated: 2023年10月12日