VENAppSwitchSDK 1.0.0

VENAppSwitchSDK 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

Ayaka NonakaDasmer SinghMark Adams维护。




Venmo iOS SDK

Venmo iOS SDK 允许您将 Venmo 集成到您的 iOS 应用中。

安装

开始最简单的方法是使用CocoaPods。只需在您的 Podfile 中添加以下行

pod 'venmo-ios-sdk', '~> 1.0.0'

用法

使用 Venmo iOS SDK 与通过 Venmo 发送朋友一样简单!

1. 在 Venmo 上创建您的应用

  1. Venmo 开发者网站 上创建一个新的应用。
  2. 记下您新应用的 app idapp secret

2. 配置您的 Xcode 项目

  1. 在您的应用目标 Info 部分中,向下滚动到 URL Types
  2. 添加一个新的 URL Type,并使用以下属性设置

    Identifier ==> venmo<<YOUR_APP_ID>>

    URL Schemes ==> venmo<<YOUR_APP_ID>>

例如,如果您的应用 ID 是 1234,则应将 venmo1234

Set URL Types

3. 初始化 Venmo iOS SDK

将 Venmo SDK 头文件添加到您的应用代理中。您可以通过导入此头文件在任何实现文件中使用 SDK。

#import <Venmo-iOS-SDK/Venmo.h>

将以下代码添加到您的应用代理的 application:didFinishLaunchingWithOptions: 方法中,以初始化 SDK。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [Venmo startWithAppId:@"VENMO_APP_ID" secret:@"VENMO_APP_SECRET" name:@"VENMO_APP_NAME"];

    return YES;
}
  • VENMO_APP_ID: 来自您在Venmo 开发者网站上注册的应用的 ID
  • VENMO_APP_SECRET: 来自您在Venmo 开发者网站上注册的应用的 秘钥
  • VENMO_APP_NAME: 将在 Venmo 应用中显示的应用名称(例如 "通过我的 My Supercool App 发送")

为允许 Venmo iOS SDK 处理来自 Venmo 应用的响应,请将以下内容添加到您的应用代理的 application:openURL:sourceApplication:annotation: 方法中

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    if ([[Venmo sharedInstance] handleOpenURL:url]) {
        return YES;
    }
    return NO;
}

4. 发送支付

Venmo iOS SDK 允许您以两种方式发送付款:1. 切换到Venmo应用 * 此方法会将用户切换到Venmo应用中预先填充的付款界面。用户发送或取消付款后,会切换回您的应用。 * 如果用户尚未安装Venmo应用,付款将因适当错误失败。 2. 使用Venmo API * 此方法不会切换用户到Venmo进行付款,但 提示用户允许您的应用访问其Venmo账户。请参阅 5. 请求权限

通过切换到Venmo应用发送付款的优点是,可以让您的用户绕过Venmo OAuth流程。如果用户未安装Venmo应用,我们建议使用Venmo API。

if (![Venmo isVenmoAppInstalled]) {
    [[Venmo sharedInstance] setDefaultTransactionMethod:VENTransactionMethodAPI];
}
else {
    [[Venmo sharedInstance] setDefaultTransactionMethod:VENTransactionMethodAppSwitch];
}

您可以使用 sendPaymentTo:amount:note:completionHandler: 发送付款。要发送付款请求,请使用 sendRequestTo:amount:note:completionHandler:

[[Venmo sharedInstance] sendPaymentTo:self.toTextField.text
                               amount:self.amountTextField.text.floatValue*100
                                 note:self.noteTextField.text
                    completionHandler:^(VENTransaction *transaction, BOOL success, NSError *error) {
    if (success) {
        NSLog(@"Transaction succeeded!");
    }
    else {
        NSLog(@"Transaction failed with error: %@", [error localizedDescription]);
    }
}];

5. 请求权限

您可以使用 requestPermissions:withCompletionHandler: 请求访问用户的Venmo账户。权限可以通过 这些范围 指定。

[[Venmo sharedInstance] requestPermissions:@[VENPermissionMakePayments,
                                             VENPermissionAccessProfile]
                     withCompletionHandler:^(BOOL success, NSError *error) {
                         if (success) {
                            // :)
                         }
                         else {
                            // :(
                         }
}];

示例应用

sample 目录中包含一个示例应用 MiniVenmo,它演示了如何使用Venmo iOS SDK进行登录和发送付款。

贡献

我们很乐意看到您对改进这个库的想法!最好的贡献方式是提交一个pull请求 - 我们将尽最大努力尽快回应您的补丁。如果您发现虫子或有任何问题,也可以 提交一个问题:octocat:

请确保遵循我们的通用编码风格并为新功能添加测试覆盖率!