LevelUpSDK 1.11.7

LevelUpSDK 1.11.7

测试已测试
语言语言 Obj-CObjective C
许可证 Apache 2
发布上次发布2016年11月

Costa WalcottDonald GaxhoJesse Riemer维护。



LevelUpSDK 1.11.7

  • LevelUp

LevelUp SDK 允许开发者构建与 LevelUp 平台集成的应用程序。

概述

SDK 的主要目的是简化对 LevelUp 平台的请求。它在 LevelUp 的 REST API 上提供了一层。请求可以是注册、登录或查看附近商家等操作。此外,SDK 包含一些实用类,可用于扫描和生成二维码。请阅读下面的更多信息,或查阅完整的文档以查看 SDK 中所有可用的类。

推荐通过 CocoaPods 访问 LevelUp SDK。

与 API 交互

执行请求

通过 LUAPIClient 类与 LevelUp API 进行交互。这是一个单例类,通过它执行所有请求。

在发布任何请求之前,您必须注册应用程序 ID 和 API 密钥。这通过使用 setupWithAppID:APIKey: 方法完成。

[LUAPIClient setupWithAppID:APP_ID APIKey:API_KEY];

API 请求是 LUAPIRequest 的实例。SDK 包含一组请求工厂,用于创建这些请求。

通过调用 performRequest:success:failure: 执行请求

LUAPIRequest *request = [LUUserRequestFactory requestForCurrentUser];
[[LUAPIClient sharedClient] performRequest:request
                                   success:^(LUUser *user) {
                                     NSLog(@"Retrieved user: %@", user);
                                   }
                                   failure:^(NSError *error) {
                                     NSLog(@"Error while retrieving user: %@");
                                   }];

当 API 调用成功时,将调用 success 块,并传递一个结果。对于每个调用,结果都不同;例如,对于当前用户的请求会返回一个 LUUser,而对于附近商家的请求会返回一个包含 LUMerchant 对象的 NSArray。每个请求工厂的文档指定将传递给 success 的对象。

如果 API 请求失败,将向 failure 块传递一个 NSError 实例。此 NSErroruserInfo 字典包含具有一些额外信息的键

  • LUAPIFailingURLRequestErrorKey: 包含请求的 NSURLRequest
  • LUAPIFailingURLResponseErrorKey: 包含响应的 NSURLResponse
  • LUAPIFailingErrorMessageErrorKey: 服务器提供的可选错误消息。
  • LUAPIFailingJSONResponseErrorKey: 服务器的可选 JSON 响应。

生成和扫描代码

基于LevelUp平台构建的应用的核心功能是显示二维码(以便用户支付)和扫描二维码(以便用户领取活动)。SDK提供了两个类来协助这些操作。

生成二维码

LUPaymentQRCodeGenerator 类用于生成包含用户二维码的 UIImage,以及可选信息,如小费百分比。

要为任意的 NSString 生成二维码,请使用 LUGenericQRCodeGenerator

扫描二维码

LUQRCodeScannerView 是一个 UIView,用于处理二维码扫描。它提供了一个代理以在扫描成功时通知。

测试

SDK包含一些可选类,以协助进行测试。这些类可以通过名为 "Testing" 的CocoaPods子规范包含。这些类的头文件是 LevelUpSDKTesting.h

测试类主要分为两大类:工厂和网络存根。

工厂

为了帮助测试,所有主要LevelUp SDK类的假测试实例都可用。这些实例被添加到类中。例如,获取测试用户只需调用 [LUUser fakeInstance]。有关假实例的完整列表,请参阅 Testing/Factories 中的头文件。

网络存根

还提供了所有常见请求的网络存根。这允许您将网络调用存根出来,因此返回预定义的响应而不是连接到服务器。这是对您的代码透明的。

使用 LUAPIStubbing 类来管理存根。 addStub: 方法添加一个存根, clearStubs 清除所有存根。还有两个可选方法: disableNetConnectraiseOnUnexpectedRequest:disableNetConnect 方法将阻止所有网络请求,并为任何不匹配存根的请求返回错误。相关的 raiseOnUnexpectedRequest: 方法将在这种情况下引发异常。这可以用于查找需要添加存根的地方。

存根是 LUAPIStub 类的实例。 LUAPIStubFactory 提供了为许多API常用用例创建存根的方法。有关方法的完整列表,请参阅 Testing/Network-Responses 中的 LUAPIStubFactory.h

以下是如何使用网络存根的一个简单示例

[[LUAPIStubbing sharedInstance] disableNetConnect];
[[LUAPIStubbing sharedInstance] addStub:[LUAPIStubFactory stubToGetCurrentUser]];

LUAPIRequest *request = [LUUserRequestFactory requestForCurrentUser];
[[LUAPIClient sharedClient] performRequest:request
                                   success:^(LUUser *user) {
                                     // ...
                                   }
                                   failure:^(NSError *error) {
                                     // ...
                                   }];

[[LUAPIStubbing sharedInstance] clearStubs];

开发人员条款

通过启用LevelUp集成,包括通过此SDK,您同意LevelUp的 开发人员条款

安全响应

LevelUp非常重视其用户的隐私和安全。有关更多信息,请参阅我们的 安全安全响应 页面。

许可证

版权(C)2015 SCVNGR,Inc。d/b/a LevelUp

除非另有说明,否则iOS的LevelUp SDK遵循Apache License,版本2.0(https://apache.ac.cn/licenses/LICENSE-2.0.html)。

除非适用法律要求或书面同意,否则在许可证下分发的软件按“现状”基础分发,不提供任何形式的明示或暗示担保。有关许可证下权限和限制的具体语言,请参阅许可证。