Use Encripted File
PAG 企业版 SDK 侧使用加密素材需要通过解密证书。
PAGLicenseManager 只允许通过路径或者文件数据添加证书,加密证书建议通过后台进行下发,防止由于本地证书过期导致素材加载失败。 解密证书可以在调用 PAG SDK 时加载,如果应用没有退出,后续加载加密文件无需再次添加。
Android
/**
* 使用加密素材时需要添加素材证书,否则文件会加载失败,返回 nil,建议在 APP 启动后直接添加,防止加密素材无法使用
*/
private void initFileLicense() {
int result = PAGLicenseManager.AddFileLicense(applicationContext, SDK_LICENSE_FILE_PATH);
if (result == PAGLicenseManager.LicenseResultSuccess) {
Log.i(TAG, "PAGLicenseManager.AddFileLicense success");
} else {
Log.i(TAG, "PAGLicenseManager.AddFileLicense failed");
}
}
/**
* 加密文件与普通文件加载一样,不需要使用其他接口。如果文件加载失败,可能是素材的解密证书不存在,或者文件结构出错,可以通过
* 桌面端 PAGViewer 查看文件状态。
*/
private void loadEncryptedFile() {
PAGFile pagFile = PAGFile.Load(PAG_FILE_PATH);
if (pagFile == null) {
Log.i(TAG, "PAGFile.Load failed");
} else {
Log.i(TAG, "PAGFile.Load success");
}
}
iOS
/**
* 使用加密素材时需要添加素材证书,否则文件会加载失败,返回 nil,建议在 APP 启动后直接添加,防止加密素材无法使用
*/
- (void)initFileLicense {
NSString *path = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"license"];
PAGLicenseResult result = [PAGLicenseManager AddFileLicense:path];
if (result == PAGLicenseResultSuccess) {
NSLog(@"Successfully added license.");
} else {
NSLog(@"Failed to add certificate. Path:%@", path);
}
}
/**
* 加密文件与普通文件加载一样,不需要使用其他接口。如果文件加载失败,可能是素材的解密证书不存在,或者文件结构出错,可以通过
* 桌面端 PAGViewer 查看文件状态。
*/
- (void)loadEncryptedFile {
NSString *path = [[NSBundle mainBundle] pathForResource:@"encryptedFile" ofType:@"pag"];
PAGFile *file = [PAGFile Load:path];
}