测试已测试 | ✓ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布最后发布 | 2014年12月 |
由Ayaka Nonaka、Dasmer Singh、Mark Adams维护。
Venmo iOS SDK 允许您将 Venmo 集成到您的 iOS 应用中。
开始最简单的方法是使用CocoaPods。只需在您的 Podfile 中添加以下行
pod 'venmo-ios-sdk', '~> 1.0.0'
使用 Venmo iOS SDK 与通过 Venmo 发送朋友一样简单!
app id
和 app secret
。Info
部分中,向下滚动到 URL Types
。添加一个新的 URL Type,并使用以下属性设置
Identifier
==> venmo<<YOUR_APP_ID>>
URL Schemes
==> venmo<<YOUR_APP_ID>>
例如,如果您的应用 ID 是 1234
,则应将 venmo1234
。
将 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 开发者网站上注册的应用的 IDVENMO_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;
}
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]);
}
}];
您可以使用 requestPermissions:withCompletionHandler:
请求访问用户的Venmo账户。权限可以通过 这些范围 指定。
[[Venmo sharedInstance] requestPermissions:@[VENPermissionMakePayments,
VENPermissionAccessProfile]
withCompletionHandler:^(BOOL success, NSError *error) {
if (success) {
// :)
}
else {
// :(
}
}];
在 sample
目录中包含一个示例应用 MiniVenmo,它演示了如何使用Venmo iOS SDK进行登录和发送付款。
我们很乐意看到您对改进这个库的想法!最好的贡献方式是提交一个pull请求 - 我们将尽最大努力尽快回应您的补丁。如果您发现虫子或有任何问题,也可以 提交一个问题。
请确保遵循我们的通用编码风格并为新功能添加测试覆盖率!