すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:統合の準備

最終更新日:Sep 11, 2026

このドキュメントでは、AliPlayerKit を iOS プロジェクトに迅速に統合する方法について説明します。

説明

AI 活用のヒント:このドキュメントは、明確な手順を持つ構造化ドキュメントであり、AI による解析と実行に最適です。開発ワークフローを支援する Skill として利用できます。AI アシスタンスを活用して AliPlayerKit を統合することを推奨します。

統合の概要

重要

AliPlayerKit にアクセスし、プロジェクトがダウンロード済みであることを確認してください。

AliPlayerKit には 2 つの統合オプションがあります。ビジネス要件に応じて選択してください:

統合オプション

説明

ユースケース

コンポーネントレベルの統合

PlayerKit コアモジュールを統合します。

カスタムプレーヤー UI が必要な場合、または再生動作をより柔軟に制御したい場合に使用します。

シーンレベルの統合

コンポーネントレベルに加えて PlayerKitScenes シーンモジュールを統合します。

標準的な再生シナリオを迅速に実装する場合に使用します。

説明

シーンレベルの統合は、コンポーネントレベルの統合を前提としています。そのため、まずコンポーネントレベルの統合を完了する必要があります。

前提条件

開発環境

項目

最小要件

説明

iOS デプロイメントターゲット

11.0+

Podspec で宣言されている最小バージョンです。

Xcode

15.0+

最新の安定版の使用を推奨します。

CocoaPods

1.13.0+

依存関係管理ツールです。

開発言語

Objective-C

Swift プロジェクトでは、ブリッジングヘッダーを介して呼び出せます。

アーキテクチャ

arm64

物理デバイスでアプリを実行するために必要です。

説明

Swift プロジェクトの場合は、Swift-Call-OC-Example ガイドに従って PlayerKit を統合して使用してください。

ライセンス

ApsaraVideo Player SDK のプレーヤー用ライセンス証明書と License Key が必要です。詳細については、「Manage License」をご参照ください。

重要

ライセンスが正しく設定されていない場合、プレーヤーは正常に動作せず、再生中にブラックスクリーンが発生することがあります。

オプション 1:コンポーネントレベルの統合

PlayerKit コアモジュールは、基本的な再生と一般的なインタラクティブ機能をカバーする、すぐに使える設定可能なプレーヤー UI コンポーネントを提供します。

手順 1:モジュールのプロジェクトへのコピー

PlayerKit/ ディレクトリを、プロジェクトのディレクトリ (Podfile と同じ階層、または適切なサブディレクトリ) にコピーします:

YourProject/
├── YourApp/
├── PlayerKit/                  # ← このディレクトリをコピー
│   ├── PlayerKit.podspec
│   ├── Source/
│   └── Resources/
└── Podfile

手順 2:Podfile の設定

Podfile で、ローカルパスを使用して PlayerKit を参照します:

platform :ios, '11.0'

target 'YourApp' do
  use_frameworks!

  # コアコンポーネント (必須、ローカルパスで参照)
  pod 'PlayerKit', :path => './PlayerKit'

  # 基盤となるプレーヤー SDK (必須)
  pod 'AliPlayerSDK_iOS', '~> 7.15.0'

  # 超低遅延ライブストリーミング向け RTS (オプション、ライブ配信シナリオのみ)
  # pod 'AliPlayerSDK_iOS_ARTC', '~> 7.15.0'
  # pod 'RtsSDK', '~> 7.12.0'
end
説明

PlayerKit.podspec は AliPlayerSDK_iOS と SDWebImage への依存関係を宣言しており、これらは pod install を実行すると自動的にインストールされます。AliPlayerSDK_iOS は、ビデオデコードおよびレンダリング機能を提供します。SDWebImage は、カバー画像の読み込みに使用されます。プロジェクトで既に SDWebImage を使用している場合は、バージョンの互換性を確認してください。

手順 3:依存関係のインストール

pod install
open YourApp.xcworkspace
説明

CocoaPods を使用した後、プロジェクトは .xcodeproj ではなく .xcworkspace で開いてください。

手順 4:ライセンスの設定

プレーヤー SDK が動作するには、有効なライセンスが必要です。ライセンスの取得と設定については、「Manage License」をご参照ください。

説明

[AliPlayerKit setup] を呼び出す前に、ライセンスが登録されていることを確認してください。

手順 5:グローバル初期化

このメソッドは、アプリケーションのライフサイクル中に 1 回だけ呼び出してください:

#import <AliPlayerKit/AliPlayerKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // (オプション) setOption などのグローバル SDK 設定
    // [AliPlayerKit setOnGlobalInitBlock:^{
    //  setup 後に一度だけ実行されるグローバル設定
    // }];

    // AliPlayerKit を初期化
    [AliPlayerKit setup];
    return YES;
}
import AliPlayerKit

func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
    // (オプション) グローバル SDK 設定
    // AliPlayerKit.setOnGlobalInitBlock {
    //  setup 後に一度だけ実行されるグローバル設定
    // }

    // AliPlayerKit を初期化
    AliPlayerKit.setup()
    return true
}
説明
  • [AliPlayerKit setup] は、べき等性を保証するために内部で dispatch_once を使用します。複数回呼び出しても安全で、後続の呼び出しは無視されます。

  • グローバル SDK 設定を適用するには、setOnGlobalInitBlock: を setup の前に設定する必要があります。

  • [AliPlayerKit isInitialized] を呼び出すことで、初期化ステータスを確認できます。

手順 6:統合の検証

次のチェックリストを使用して、統合を検証します:

  • pod install は依存関係の競合なしで正常に完了します。

  • ライセンスが正しく設定されていること。

  • [AliPlayerKit setup] は AppDelegate で呼び出されます。

  • プロジェクトがリンカエラーなしで正常にビルドできること (Cmd + B)。

オプション 2:シーンレベルの統合

シーンレベル (PlayerKitScenes) は、コンポーネントレベルをベースに構築され、特定のビジネスシナリオ向けの標準的な再生ソリューションを提供します。各シーンモジュールは独立しており、必要に応じてインポートできます。

重要

シーンレベルを統合する前に、オプション 1:コンポーネントレベルの統合 のすべての手順を完了してください。

手順 1:モジュールのプロジェクトへのコピー

PlayerKitScenes/ ディレクトリを、プロジェクト内の PlayerKit/ と同じ階層にコピーします:

YourProject/
├── YourApp/
├── PlayerKit/                  # コンポーネントレベル (コピー済み)
├── PlayerKitScenes/            # ← このディレクトリをコピー
│   ├── PlayerKitScenes.podspec
│   ├── SceneCommon/
│   ├── SceneLongVideo/
│   ├── SceneShortVideo/
│   ├── SceneLive/
│   └── ScenePlaylist/
└── Podfile

手順 2:Podfile の設定

Podfile で、ローカルパスを使用して PlayerKitScenes を参照します:

target 'YourApp' do
  use_frameworks!

  # コアコンポーネント (必須)
  pod 'PlayerKit', :path => './PlayerKit'
  pod 'AliPlayerSDK_iOS', '~> 7.15.0'

  # 再生シーンソリューション (必要に応じてインポート)
  pod 'PlayerKitScenes', :path => './PlayerKitScenes'

  # または、必要に応じて個別のシーンを選択します:
  # pod 'PlayerKitScenes/SceneLongVideo', :path => './PlayerKitScenes'
  # pod 'PlayerKitScenes/SceneShortVideo', :path => './PlayerKitScenes'
  # pod 'PlayerKitScenes/SceneLive', :path => './PlayerKitScenes'
  # pod 'PlayerKitScenes/ScenePlaylist', :path => './PlayerKitScenes'
end

シーンモジュールの説明:

シーンモジュール

Pod subspec

説明

SceneCommon

PlayerKitScenes/SceneCommon

シーン向けの共通モジュールです。ベース依存関係として自動的に含まれます。

SceneLongVideo

PlayerKitScenes/SceneLongVideo

中長尺動画のシナリオ向けです。

SceneShortVideo

PlayerKitScenes/SceneShortVideo

ショート動画のシナリオ向けです。

SceneLive

PlayerKitScenes/SceneLive

ライブ配信のシナリオ向けです。

ScenePlaylist

PlayerKitScenes/ScenePlaylist

プレイリスト再生のシナリオ向けです。

手順 3:インストールと検証

pod install

プロジェクトが正常にビルドできれば、シーンレベルの統合は完了です。

SDK のアップグレード

AliPlayerKit は、以下の SDK に依存します:

SDK

説明

AliPlayerSDK_iOS

Alibaba Cloud Player SDK です。動画のデコード、レンダリング、再生制御などのコア再生機能を提供します。

RtsSDK

Alibaba Cloud RTS SDK です。超低遅延ライブストリーミング再生を提供します (オプション)。

バージョン情報

  • 実行時に [AliPlayerKit getSdkVersion] を呼び出して、基盤となる SDK のバージョン番号を取得します。

  • AliPlayerKit コンポーネントのバージョン番号を取得するには、 [AliPlayerKit getPlayerKitVersion] を呼び出します。

  • 「Download Player SDK」および「iOS SDK Release History」をご参照ください。

アップグレード手順

  1. バージョン互換性を確認します。

    アップグレード前に、SDK のリリース履歴と変更履歴を確認し、対象バージョンに破壊的変更が含まれているかどうかを確認してください。

  2. Podfile のバージョン番号を変更します。

    pod 'AliPlayerSDK_iOS', '~> x.x.x'  # 対象バージョンに置き換え
    
    # RTS (ライブ配信シナリオを使用する場合)
    # pod 'AliPlayerSDK_iOS_ARTC', '~> x.x.x'
    # pod 'RtsSDK', '~> x.x.x'
  3. 更新コマンドを実行します。

    pod update AliPlayerSDK_iOS
  4. アップグレードを検証します。

    • プロジェクトがリンカエラーなしで正常にビルドできること。

    • コア再生機能 (再生、一時停止、シーク、再生速度など) を確認します。

    • RTS を使用した超低遅延ライブストリーミングなど、特定の再生シナリオを確認します。

説明

アップグレード後は、アップグレード前後のバージョン番号を記録することを推奨します。将来のトラブルシューティングとバージョントラッキングに役立ちます。

よくある質問

ライセンスに関する問題

問題:プレーヤーがライセンスエラーを報告する、またはブラックスクリーンが表示されます。

一般的な原因として、証明書ファイルの追加ミス、License Key の不一致、ライセンスに紐付けられた Bundle ID との不一致、またはライセンスの期限切れが挙げられます。詳細については、「Manage License」をご参照ください。

依存関係の競合

問題: pod installが依存関係の競合で失敗します。

トラブルシューティングの手順: この競合は、お使いのプロジェクトと PlayerKit が、異なるバージョンの SDWebImage に依存している場合に発生する可能性があります。競合を解決するには、pod update を実行してみてください。問題が解決しない場合は、pod repo update を実行してローカルリポジトリのインデックスを更新してから、再度お試しください。

初期化に関する問題

問題:[AliPlayerKit setup] を呼び出した後、再生が正常に動作しません。

トラブルシューティング手順:

  1. AppDelegate内の application:didFinishLaunchingWithOptions:で呼び出しが行われるようにしてください。

  2. ライセンスが正しく設定されていることを確認してください。詳細については、「Manage License」をご参照ください。

  3. [AliPlayerKit isInitialized] を呼び出して、初期化が成功したか確認します。

  4. setup メソッドは (dispatch_once を使用するため) べき等です。繰り返し呼び出しても安全であり、例外はスローされません。

  5. グローバル SDK 設定を注入する必要がある場合は、setOnGlobalInitBlock: が、setup が呼び出される前に設定されていることを確認してください。

ログによるデバッグ

再生に関する問題が発生した場合は、デバッグログを有効化してトラブルシューティングに役立てることができます:

// デバッグモードを有効化します
[AliPlayerKit setDebugModeEnabled:YES];
// ログ出力を最も詳細にするには、ログレベルをVerbose に設定します
[AliPlayerKit setLogLevel:LogLevelVerbose];

ログシステムの使用方法の詳細については、「Logging System」をご参照ください。