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

ApsaraVideo VOD:iOS用の短いビデオSDKを初期化する

最終更新日:Oct 23, 2024

前提条件

iOS用のショートビデオSDKを初期化する前に、次の操作が完了していることを確認してください。

  • ショートビデオSDKライセンスが取得され、有効化されます。 詳細については、「ショートビデオSDKのライセンスの取得と使用」をご参照ください。

  • iOS用の短いビデオSDKが統合されています。 ショートビデオSDK 3.29.0以降の場合、SDKを登録する前にライセンスを設定する必要があります。 詳細については、「iOS用の短いビデオSDKの統合」をご参照ください。

ヘッダーファイルをインポートする

ショートビデオSDKのヘッダーファイルは、ショートビデオSDKのメソッドを使用する際に必要な仕様を定義します。 ショートビデオSDKを使用するには、まずヘッダーファイルをインポートする必要があります。

#import <AliyunVideoSDKPro/AliyunVideoSDKPro.h>

iOS用の短いビデオSDKを登録する

ショートビデオSDK 3.29.0以降を使用する場合は、アプリケーションの起動後にSDKを登録する必要があります。 それ以外の場合、ショートビデオSDKは使用できません。 次のコードは、iOS用のショートビデオSDKを登録する方法の例を示しています。

// Register the short video SDK 3.30.0 or later.
NSError *error = [AliyunVideoSDKInfo registerSDK]; // If nil is returned, the registration is successful. 
// In most cases, registration failures result from license integration issues. We recommend that you add an Assert function in your code. This way, if an error occurs during SDK registration, the system returns an error message and provides suggestions on how to fix the error. 
NSAssert2(error == nil, @"SDK registration failed. %@;%@", error.localizedDescription, error.localizedRecoverySuggestion);

// Register the short video SDK 3.29.0.
// Rename the license file to license.crt and add it to your application project. Then, use the following code to obtain the directory in which the license file is stored. 
NSString *licenseFilePath = [NSBundle.mainBundle pathForResource:@"license" ofType:@"crt"];
// Register the SDK by using the obtained license key and license file path. 
[AliyunVideoSDKInfo registerSDKWithLicenseKey:LicenseKey licenseFile:licenseFilePath];
重要

ライセンスキーとライセンスファイルがSDKに正常にインポートされると、登録は成功します。 しかし、成功した登録は、認証が成功したことを示さない。

次のコードを使用して、ライセンスのステータスを表示できます。

AliyunVideoLicense *license = AliyunVideoLicenseManager.CurrentLicense;

特定の機能または付加価値サービスを使用する場合は、SDK認証が必要です。 認証に失敗した場合、API操作に対する応答から認証結果を取得できます。 リスナーで認証結果を聞くこともできます。

// Obtain the authentication results for the short video SDK 3.30.0 or later.
AliyunVideoLicenseManager.EventDelegate = self; // For more information, see the description of AliyunVideoLicenseEventDelegate.

認証結果を表示する:

AliyunVideoLicenseResultCode code = [AliyunVideoLicenseManager check];       

ライセンスを更新した場合、または付加価値サービスを購入した場合は、次のコードを使用してライセンスを更新します。 デフォルトでは、システムは15分ごとにライセンスを更新します。

[AliyunVideoLicenseManager Refresh:^(AliyunVideoLicenseRefreshCode code){
    // The information about the license verification result.
}];

リソースパッケージパスの指定

最小依存関係の統合方法を使用してショートビデオSDKを統合し、AliyunVideoSDKPro.bundleリソースパッケージを追加する場合は、次の手順を実行して、アプリケーションの実行時にリソースパッケージを自動的にダウンロードできます。 ダウンロードが完了すると、リソースパッケージがショートビデオSDKに追加されます。

  1. リソースパッケージをクラウドにアップロードします。 たとえば、リソースパッケージをObject Storage Service (OSS) バケットにアップロードできます。

  2. アプリケーションの起動時にリソースパッケージが存在するかどうかを確認します。 リソースパッケージが存在しない場合、システムはリソースパッケージをローカルデバイスにダウンロードします。 リソースパッケージがすでに存在する場合は、次の手順に進みます。

  3. リソースパッケージを格納するパスを指定します。 サンプルコード:

    [AliyunVideoSDKInfo setSDKBundlePath:@"The path in which the resource package is stored on the local device"];

ログ出力

デフォルトでは、ショートビデオSDKはAlivcLogWarnレベルでアラートとエラーログを生成します。 ログレベルを指定して、トラブルシューティング用のログをさらに生成できます。

// The following levels of logs are supported.
typedef NS_ENUM(NSInteger, AlivcLogLevel)
{
    AlivcLogClose = 1,
    AlivcLogVerbose,
    AlivcLogDebug,
    AlivcLogInfo,
    AlivcLogWarn,
    AlivcLogError,
    AlivcLogFatal
};
// Specify the level of the logs to be generated.
[AliyunVideoSDKInfo setLogLevel:AlivcLogDebug];
                

バージョン情報の照会

次のコードを使用して、ショートビデオSDKのバージョン情報を表示できます。 これにより、統合SDKのバージョンを確認し、SDKの使用時に発生する可能性のある問題をトラブルシューティングできます。

[AliyunVideoSDKInfo printSDKInfo];

次のコードを使用して、表示する特定のバージョン情報を表示することもできます。

NSString *version = [AliyunVideoSDKInfo version]; // The version number.
NSString *module = [AliyunVideoSDKInfo module]; // The version type.
int moduleCode =[AliyunVideoSDKInfo versionCode]; // The code of the version type.
NSString *buildId =[AliyunVideoSDKInfo videoSDKBuildId]; // The bundle ID of the version.
NSLog(@"\n==============\nVERSION:%@\nBUILD_ID:%@\nMODULE:%@\nMODULE_CODE:%d\n==============", version, buildId, module, moduleCode);