Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Preparação para integração

Última atualização: Sep 11, 2026

Este documento explica como integrar rapidamente o AliPlayerKit ao seu projeto iOS.

Nota

Dica para IA: Este documento estruturado possui etapas claras, ideais para análise e execução por IA. Use-o como uma Skill para auxiliar no fluxo de trabalho de desenvolvimento. Recomendamos usar assistência de IA para integrar o AliPlayerKit.

Visão geral da integração

Importante

Certifique-se de acessar o AliPlayerKit e baixe o projeto.

O AliPlayerKit oferece duas opções de integração. Escolha uma conforme as necessidades do seu negócio:

Opção de integração

Descrição

Casos de uso

Integração no nível de componente

Integre o módulo principal PlayerKit.

Ideal para quem precisa de uma interface de player personalizada ou controle mais flexível sobre o comportamento de reprodução.

Integração no nível de cena

Integre o módulo de cena PlayerKitScenes sobre o nível de componente.

Recomendado para implementar rapidamente cenários padrão de reprodução.

Nota

A integração no nível de cena baseia-se na integração no nível de componente. Portanto, conclua primeiro a integração no nível de componente.

Pré-requisitos

Ambiente de desenvolvimento

Item

Requisito mínimo

Descrição

iOS deployment target

9,0+

Versão mínima declarada no Podspec.

Xcode

15,0+

Recomenda-se a versão estável mais recente.

CocoaPods

1.13.0+

Ferramenta de gerenciamento de dependências.

Linguagem de desenvolvimento

Objective-C

Projetos Swift podem chamá-lo por meio de um bridging header.

Arquitetura

arm64

Necessária para executar o aplicativo em dispositivo físico.

Nota

Para projetos Swift, siga o guia Swift-Call-OC-Example para integrar e usar o PlayerKit.

Licença

Você deve ter um certificado de licença de player e uma License Key para o ApsaraVideo Player SDK. Para mais detalhes, consulte Gerencie License.

Importante

Se a licença não for configurada corretamente, o player não funcionará adequadamente e poderá causar tela preta durante a reprodução.

Opção 1: Integração no nível de componente

O módulo principal PlayerKit fornece um componente de interface de player configurável e pronto para uso, que abrange reprodução básica e recursos interativos comuns.

Etapa 1: Copie o módulo para o projeto

Copie o diretório PlayerKit/ para o diretório do projeto (no mesmo nível do Podfile ou em um subdiretório adequado):

YourProject/
├── YourApp/
├── PlayerKit/                  # ← Copy this directory
│   ├── PlayerKit.podspec
│   ├── Source/
│   └── Resources/
└── Podfile

Etapa 2: Configure o Podfile

No Podfile, referencie o PlayerKit pelo caminho local:

platform :ios, '11.0'

target 'YourApp' do
  use_frameworks!

  # Core component (required, referenced by local path)
  pod 'PlayerKit', :path => './PlayerKit'

  # Underlying player SDK (required)
  pod 'AliPlayerSDK_iOS', '~> 7.15.0'

  # RTS for ultra-low latency live streaming (optional, for live streaming scenarios only)
  # pod 'AliPlayerSDK_iOS_ARTC', '~> 7.15.0'
  # pod 'RtsSDK', '~> 7.12.0'
end
Nota

O arquivo PlayerKit.podspec declara dependências do AliPlayerSDK_iOS e do SDWebImage, instalados automaticamente ao executar pod install. O AliPlayerSDK_iOS fornece capacidades de decodificação e renderização de vídeo. O SDWebImage carrega a imagem de capa. Se o projeto já utilizar o SDWebImage, verifique a compatibilidade de versões.

Etapa 3: Instale as dependências

pod install
open YourApp.xcworkspace
Nota

Após usar o CocoaPods, abra o projeto com o arquivo .xcworkspace, não com o .xcodeproj.

Etapa 4: Configure a licença

O SDK do player requer uma licença válida para funcionar. Consulte Gerencie License para obter e configurar sua licença.

Nota

Certifique-se de registrar a licença antes de chamar [AliPlayerKit setup].

Etapa 5: Inicialização global

Chame este método apenas uma vez durante o ciclo de vida do aplicativo:

#import <AliPlayerKit/AliPlayerKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // (Optional) Global SDK configuration, such as setOption
    // [AliPlayerKit setOnGlobalInitBlock:^{
    //  Global configuration is executed only once after setup
    // }];

    // Initialize AliPlayerKit
    [AliPlayerKit setup];
    return YES;
}
import AliPlayerKit

func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
    // (Optional) Global SDK configuration
    // AliPlayerKit.setOnGlobalInitBlock {
    //  Global configuration is executed only once after setup
    // }

    // Initialize AliPlayerKit
    AliPlayerKit.setup()
    return true
}
Nota
  • O método [AliPlayerKit setup] usa dispatch_once internamente para garantir idempotência. É seguro chamá-lo várias vezes; chamadas subsequentes são ignoradas.

  • Defina setOnGlobalInitBlock: antes de setup para aplicar configurações globais do SDK.

  • Verifique o status de inicialização chamando [AliPlayerKit isInitialized].

Etapa 6: Verifique a integração

Use a lista de verificação a seguir para validar a integração:

  • O comando pod install foi concluído com sucesso, sem conflitos de dependência.

  • A licença está configurada corretamente.

  • O método [AliPlayerKit setup] é chamado no AppDelegate.

  • O projeto compila com sucesso (Cmd + B), sem erros de linker.

Opção 2: Integração no nível de cena

O nível de cena (PlayerKitScenes) baseia-se no nível de componente para fornecer soluções padrão de reprodução para cenários de negócios específicos. Cada módulo de cena é independente e pode ser importado conforme necessário.

Importante

Antes de integrar o nível de cena, conclua todas as etapas da Opção 1: Integração no nível de componente.

Etapa 1: Copie o módulo para o projeto

Copie o diretório PlayerKitScenes/ para o projeto, no mesmo nível do PlayerKit/:

YourProject/
├── YourApp/
├── PlayerKit/                  # Component level (already copied)
├── PlayerKitScenes/            # ← Copy this directory
│   ├── PlayerKitScenes.podspec
│   ├── SceneCommon/
│   ├── SceneLongVideo/
│   ├── SceneShortVideo/
│   ├── SceneLive/
│   └── ScenePlaylist/
└── Podfile

Etapa 2: Configure o Podfile

No Podfile, referencie o PlayerKitScenes pelo caminho local:

target 'YourApp' do
  use_frameworks!

  # Core component (required)
  pod 'PlayerKit', :path => './PlayerKit'
  pod 'AliPlayerSDK_iOS', '~> 7.15.0'

  # Playback scene solutions (import as needed)
  pod 'PlayerKitScenes', :path => './PlayerKitScenes'

  # Or, select individual scenes as needed:
  # pod 'PlayerKitScenes/SceneLongVideo', :path => './PlayerKitScenes'
  # pod 'PlayerKitScenes/SceneShortVideo', :path => './PlayerKitScenes'
  # pod 'PlayerKitScenes/SceneLive', :path => './PlayerKitScenes'
  # pod 'PlayerKitScenes/ScenePlaylist', :path => './PlayerKitScenes'
end

Descrições dos módulos de cena:

Módulo de cena

Pod subspec

Descrição

SceneCommon

PlayerKitScenes/SceneCommon

Módulo comum para cenas. Incluído automaticamente como dependência base.

SceneLongVideo

PlayerKitScenes/SceneLongVideo

Destinado a cenários de vídeos de média e longa duração.

SceneShortVideo

PlayerKitScenes/SceneShortVideo

Projetado para cenários de vídeos curtos.

SceneLive

PlayerKitScenes/SceneLive

Focado em cenários de transmissão ao vivo.

ScenePlaylist

PlayerKitScenes/ScenePlaylist

Indicado para cenários de reprodução de playlist.

Etapa 3: Instale e verifique

pod install

Se o projeto compilar com sucesso, a integração no nível de cena estará concluída.

Atualização do SDK

O AliPlayerKit depende dos seguintes SDKs subjacentes:

SDK

Descrição

AliPlayerSDK_iOS

SDK do Alibaba Cloud Player, que fornece capacidades principais de reprodução, como decodificação de vídeo, renderização e controle de reprodução.

RtsSDK

SDK do Alibaba Cloud RTS, que oferece reprodução de transmissão ao vivo com latência ultrabaixa (opcional).

Informações de versão

  • Em tempo de execução, chame [AliPlayerKit getSdkVersion] para obter o número da versão do SDK subjacente.

  • Chame [AliPlayerKit getPlayerKitVersion] para obter o número da versão do componente AliPlayerKit.

  • Consulte Baixe Player SDK e iOS SDK Release History.

Etapas de atualização

  1. Confirme a compatibilidade de versões.

    Antes de atualizar, revise o histórico de lançamentos e o changelog do SDK para verificar se a versão alvo contém alterações disruptivas.

  2. Modifique o número da versão no Podfile.

    pod 'AliPlayerSDK_iOS', '~> x.x.x'  # Replace with the target version
    
    # RTS (if you use live streaming scenarios)
    # pod 'AliPlayerSDK_iOS_ARTC', '~> x.x.x'
    # pod 'RtsSDK', '~> x.x.x'
  3. Execute o comando de atualização.

    pod update AliPlayerSDK_iOS
  4. Verifique a atualização.

    • O projeto compila com sucesso, sem erros de linker.

    • Valide as funções principais de reprodução: play, pause, seek, velocidade de reprodução, etc.

    • Teste cenários específicos de reprodução, como transmissão ao vivo com latência ultrabaixa via RTS.

Nota

Após uma atualização, recomendamos registrar os números de versão anteriores e posteriores. Isso facilita a solução de problemas futuros e o rastreamento de versões.

Perguntas frequentes

Problemas de licença

Problema: O player relata erro de licença ou exibe tela preta.

As causas comuns incluem arquivo de certificado adicionado incorretamente, License Key incompatível, Bundle ID diferente daquele vinculado à licença ou licença expirada. Para mais detalhes, consulte Gerencie License.

Conflitos de dependência

Problema: O comando pod install falha com conflito de dependência.

Solução de problemas: Esse conflito pode ocorrer se o projeto e o PlayerKit dependerem de versões diferentes do SDWebImage. Execute pod update para resolver o conflito. Se o problema persistir, execute pod repo update para atualizar o índice do repositório local antes de tentar novamente.

Problemas de inicialização

Problema: A reprodução não funciona corretamente após chamar [AliPlayerKit setup].

Solução de problemas:

  1. Garanta que a chamada seja feita em application:didFinishLaunchingWithOptions: dentro do AppDelegate.

  2. Confirme se a licença está configurada corretamente. Para mais detalhes, consulte Gerencie License.

  3. Chame [AliPlayerKit isInitialized] para confirmar que a inicialização foi bem-sucedida.

  4. O método setup é idempotente (usa dispatch_once). Chamadas repetidas são seguras e não geram exceções.

  5. Se precisar injetar configurações globais do SDK, confirme se setOnGlobalInitBlock: foi definido antes da chamada de setup.

Depuração com logs

Se encontrar problemas de reprodução, ative os logs de depuração para auxiliar na solução de problemas:

// Enable debug mode
[AliPlayerKit setDebugModeEnabled:YES];
// Set the log level to Verbose for the most detailed output
[AliPlayerKit setLogLevel:LogLevelVerbose];

Para detalhes sobre como usar o sistema de logs, consulte Logging System.