dbt-sdk 可以通过 CocoaPods 获得。要安装它,只需将以下几行代码添加到您的 Podfile 中。
pod 'dbt-sdk', '~> 0.1'
以下是开始使用 DBT SDK 所需的步骤。
在使用 DBT SDK 之前,您需要在 https://www.digitalbibleplatform.com 注册 API 密钥。
在您的 AppDelegate.m 文件中导入以下文件
#import <dbt-sdk/dbt.h>
在 application:didFinishLaunching:withOptions: 方法内部,添加以下代码。请确保用您为 DBT 分配的 API 密钥替换 API_KEY。
[DBT setAPIKey:@"API_KEY"];
有许多可用的方法,但大多数应用程序将使用一种常见的流程来提取它们所需的内容。以下是步骤
这是一个供您开始使用的示例流程
此方法列出给定参数的所有可用卷。媒体参数可以是 "text"、"audio" 或 "video",取决于您感兴趣检索的内容类型。
[DBT getVolumeWithDamID:nil
languageCode:@"ENG"
media:@"text"
success:^(NSArray *volumes) {
NSLog(@"Volumes %@", volumes);
} failure:^(NSError *error) {
NSLog(@"Error: %@", error);
}];
这将返回一个包含 DBTVolume 对象的数组。这些体积对象有一个重要的字段,将在后续调用中使用。该字段名为 damId,用于标识您正在使用的哪些卷。
一旦有了 damId,您就可以使用它来获取 DBTBook 对象的数组。
[DBT getBookWithDamId:@"ENGESVN2ET"
success:^(NSArray *books) {
NSLog(@"Books: %@", books);
} failure:^(NSError *error) {
NSLog(@"Error: %@", error);
}];
最后,您需要获取特定章节的经文。此方法可以用来获取单个经文或任何数量的经文。注意:当 verseStart 和 verseEnd 都为 nil 时,将检索所有经文。
[DBT getVerseWithDamId:@"ENGESVN2ET"
book:@"John"
chapter:@3
verseStart:nil
verseEnd:nil
success:^(NSArray *verses) {
NSLog(@"Verses: %@", verses);
} failure:^(NSError *error) {
NSLog(@"Error: %@", error);
}];
如果您选择了一个支持音频的卷(在 getLibraryVolumeWithDamId: 调用中设置媒体为音频),那么在播放音频之前,您需要了解以下几点。构建音频播放端点需要两个对象:DBTMediaLocation 对象和 DBTAudioPath 对象。以下是生成完整音频路径的嵌套 API 调用示例。
// Imports
#import <dbt-sdk/DBTMediaLocation.h>
#import <dbt-sdk/DBTAudioPath.h>
[DBT getAudioLocation:@"http"
success:^(NSArray *audioLocations) {
if(audioLocations.count) {
DBTMediaLocation *location = audioLocations[0];
[DBT getAudioPathWithDamId:@"ENGCEVO2DA"
book:@"Gen"
chapter:@1
success:^(NSArray *audioPaths) {
if(audioPaths.count) {
DBTAudioPath *audioPath = audioPaths[0];
NSString *urlString = [NSString stringWithFormat:@"%@/%@",location.baseURL,audioPath.path];
NSURL *url = [NSURL URLWithString:urlString];
NSLog(@"Audio file URL: %@", url);
}
} failure:^(NSError *error) {
NSLog(@"Audio Path Error: %@", error);
}];
}
} failure:^(NSError *error) {
NSLog(@"Audio Location Error: %@", error);
}];
一旦您有了音频文件的 URL,就可以使用标准的 iOS 音频播放库进行播放。
SDK 在涵盖 API 调用方面相当全面。然而,如果您发现 DBT 中有调用未在 SDK 中实现,您始终可以退回到使用我们的通用 API 方法。它需要一个端点和包含参数键的 NSDictionary。唯一的限制是,响应将是一个包含 API 返回数据的 NSDictionary 或 NSArray。以下是一个使用它调用示例。
[DBT query:@"/text/font"
params:@{@"id" : @1}
success:^(id results) {
NSLog(@"Font: %@", results);
} failure:^(NSError *error) {
NSLog(@"Error: %@", error);
}];
这将返回一个包含 id 为 1 的字体信息的 NSDictionaries 数组。
Brandon Trebitowski,[email� correspondence� neutral]
dbt-sdk 按照 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。