dbt-sdk 0.2.2

dbt-sdk 0.2.2

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年3月

Brandon Trebitowski 维护。



dbt-sdk 0.2.2

  • 作者:
  • Brandon Trebitowski

dbt-sdk

安装

dbt-sdk 可以通过 CocoaPods 获得。要安装它,只需将以下几行代码添加到您的 Podfile 中。

pod 'dbt-sdk', '~> 0.1'

使用方法

以下是开始使用 DBT SDK 所需的步骤。

1. 注册 API 密钥

在使用 DBT SDK 之前,您需要在 https://www.digitalbibleplatform.com 注册 API 密钥。

2. 导入头文件

在您的 AppDelegate.m 文件中导入以下文件


#import <dbt-sdk/dbt.h> 

3. 设置您的 API 密钥

在 application:didFinishLaunching:withOptions: 方法内部,添加以下代码。请确保用您为 DBT 分配的 API 密钥替换 API_KEY。


[DBT setAPIKey:@"API_KEY"];

4. 翻节文本的常用流程

有许多可用的方法,但大多数应用程序将使用一种常见的流程来提取它们所需的内容。以下是步骤

  1. 获取卷列表
  2. 获取给定卷的书籍
  3. 获取给定书的章节
  4. 获取给定章节的经文

这是一个供您开始使用的示例流程

卷列表

此方法列出给定参数的所有可用卷。媒体参数可以是 "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 音频播放库进行播放。

其他/未实现的 DBT API 调用

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 文件。