前提条件
SDK を初期化する前に、以下の手順を完了してください。
-
ショートビデオ SDK のライセンスを取得し、アクティブ化します。詳細については、「ショートビデオ SDK のライセンスを取得する」をご参照ください。
-
ショートビデオ SDK を統合します。バージョン 3.29.0 以降では、SDK を登録する前にライセンスを設定する必要があります。詳細については、「SDK の統合」をご参照ください。
ヘッダーファイルのインポート
ショートビデオ SDK を使用する前に、SDK のヘッダーファイルをインポートします。ヘッダーファイルには、SDK に必要な API 宣言が含まれています。
#import <AliyunVideoSDKPro/AliyunVideoSDKPro.h>
SDK の登録
バージョン 3.29.0 以降、ショートビデオ SDK はアップグレードされたライセンスサービスを使用します。SDK の機能を有効にするには、アプリの起動後に SDK を登録します。以下のコードは、SDK の登録方法を示しています。
// バージョン 3.30.0 以降の場合:
NSError *error = [AliyunVideoSDKInfo registerSDK]; // 返されたエラーが nil の場合、登録は成功です。
// 登録の失敗は通常、統合エラーが原因です。統合とデバッグ中にエラーと推奨される修正案を表示するために、Assert ステートメントを追加します。
NSAssert2(error == nil, @"SDK の登録に失敗しました! %@; %@", error.localizedDescription, error.localizedRecoverySuggestion);
// バージョン 3.29.0 の場合:
// 取得した LicenseFile の名前を license.crt に変更します。ファイルをアプリプロジェクトに追加します。次に、以下のメソッドを使用して LicenseFile のパスを取得します。
NSString *licenseFilePath = [NSBundle.mainBundle pathForResource:@"license" ofType:@"crt"];
// 取得した LicenseKey と LicenseFilePath を使用して SDK を登録します。
[AliyunVideoSDKInfo registerSDKWithLicenseKey:LicenseKey licenseFile:licenseFilePath];
登録が成功したことはライセンスが SDK に読み込まれたことを意味しますが、認証の成功を保証するものではありません。
現在のライセンスステータスを確認するには、以下のコードを使用します。
AliyunVideoLicense *license = AliyunVideoLicenseManager.CurrentLicense;
SDK は、特定の機能または付加価値サービスを使用する際に認証を実行します。認証が失敗した場合、対応する API 呼び出しは失敗を示す結果を返します。また、認証結果を一元的にリッスンすることもできます。
// バージョン 3.30.0 以降の場合
AliyunVideoLicenseManager.EventDelegate = self; // 詳細については、AliyunVideoLicenseEventDelegate プロトコルの説明をご参照ください。
認証結果を能動的に確認するには、以下のコードを使用します。
AliyunVideoLicenseResultCode code = [AliyunVideoLicenseManager check];
サブスクリプションを更新するか、付加価値サービスを購入した場合は、ライセンスを手動で更新できます。デフォルトでは、SDK は 15 分ごとに更新を確認します。
[AliyunVideoLicenseManager Refresh:^(AliyunVideoLicenseRefreshCode code){
// 更新結果:code
}];
リソースバンドルのインポートパスの設定
最小限の依存関係で CocoaPods を使用してショートビデオ SDK を統合する場合、AliyunVideoSDKPro.bundle リソースバンドルをインポートする必要がある場合があります。アプリのパッケージサイズを削減するには、実行時にリソースバンドルをダウンロードするようにアプリを設定します。ダウンロードが完了したら、バンドルパスを設定して SDK で使用できるようにします。
-
リソースバンドルを、Object Storage Service (OSS) などのクラウドストレージにアップロードします。
-
アプリの起動時に、リソースバンドルの有無を確認します。バンドルが存在しない場合は、ローカルストレージにダウンロードします。
-
リソースバンドルがダウンロードされた後、またはすでにローカルに存在する場合は、次のようにショートビデオ SDK でリソースバンドルのインポートパスを設定します。
[AliyunVideoSDKInfo setSDKBundlePath:@"リソースバンドルのローカルストレージパス"];
ログ出力
デフォルトでは、ショートビデオ SDK は警告 (AlivcLogWarn) およびそれ以上のレベルのログのみを出力します。トラブルシューティングのために、より詳細なログを出力するにはログレベルを設定します。
// ログレベルは次のように定義されています:
typedef NS_ENUM(NSInteger, AlivcLogLevel)
{
AlivcLogClose = 1,
AlivcLogVerbose,
AlivcLogDebug,
AlivcLogInfo,
AlivcLogWarn,
AlivcLogError,
AlivcLogFatal
};
// ログ出力レベルを設定
[AliyunVideoSDKInfo setLogLevel:AlivcLogDebug];
バージョン情報
バージョン情報を出力し、正しい SDK バージョンがインポートされていることの確認や、トラブルシューティングに役立てます。
[AliyunVideoSDKInfo printSDKInfo];
特定のフィールドを出力することもできます。
NSString *version = [AliyunVideoSDKInfo version]; // バージョン番号
NSString *module = [AliyunVideoSDKInfo module]; // バージョンタイプ
int moduleCode =[AliyunVideoSDKInfo versionCode]; // バージョンタイプコード
NSString *buildId =[AliyunVideoSDKInfo videoSDKBuildId]; // バージョンパッケージング ID
NSLog(@"\n==============\nVERSION: %@\nBUILD_ID: %@\nMODULE: %@\nMODULE_CODE: %d\n==============", version, buildId, module, moduleCode);