AutomaticSDK 0.1.0

AutomaticSDK 0.1.0

测试已测试
语言语言 Obj-CObjective C
许可证 Apache 2
发布日期上次发布2017年3月

Eric Horacek维护。



 
依赖关系
AFNetworking~> 3.0
AFOAuth2Manager~> 3.0
libextobjc/EXTScope>= 0
 

  • Robert Böhnke, Eric Horacek和Sylvain Rebaud

Automatic iOS SDK


注意:此SDK处于alpha阶段。请试用并给我们反馈!


Automatic SDK是构建由Automatic支持iOS应用的最佳方式。

使用Automatic iOS SDK,您的用户可以使用他们的Automatic账户登录您的应用。想象一下Facebook或Twitter登录,但与带来用户社交网络不同,而不是解锁您可以使用来为您的应用增添动力的丰富汽车数据。

Log in with Automatic

图片:您应用的新登录界面

一旦用户批准您的应用访问其数据,您的应用就可以

  • 访问用户旅程以分析驾驶习惯
  • 查询用户的汽车以提供最新的二手价值估值
  • 在不长的注册表单中填充用户的个人资料
  • 更多……

我们迫不及待想知道你将构建什么。让我们开始吧!

使用方法

1. 在Automatic注册您的应用

  1. Automatic开发者网站上注册您的应用。
  2. 一旦您的应用获批准,请记下其客户端ID客户端密钥。请确保使用符合此模式的重定向URL方案
    automatic-[client-id]://oauth.

2. 集成Automatic iOS SDK

  1. 集成Automatic iOS SDK。我们建议使用CocoaPods,它使得集成变得像添加一样简单

    pod "AutomaticSDK", "0.0.1"

    到您的Podfile中。

  2. 配置您的应用以使用您之前决定的URL方案。您可以通过将以下内容添加到您的Info.plist文件来实现这一点。例如,如果您的客户端ID是123abc,则将看起来像这样

    <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLName</key>
            <string>automatic-123abc</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>automatic-123abc</string>
            </array>
        </dict>
    </array>

3. 提出授权请求并处理它们

  1. 使用你的客户端ID客户端密钥创建AUTClient的实例。

    AUTClient *client = [[AUTClient alloc] initWithClientID:@"CLIENT_ID" clientSecret:@"CLIENT_SECRET"];
  2. 当你准备好使用Automatic API授权你的应用时,调用-[AUTClient authorizeWithScopes:success:failure:]让SDK为你打开Safari

    [self.client
       authorizeWithScopes:AUTClientScopesTrip | AUTClientScopesLocation
       success:^{
           NSLog(@"🎉 Your app is now authorized. 🎉");
       }
       failure:^(NSError *error) {
           NSLog(@"Failed to log in with error: %@", error.localizedDescription);
       }];
  3. 实现 <-application:openURL:sourceApplication:annotation: 来处理用户授权你的应用后,Automatic将重定向的定制URL方案。

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)URL sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
      if ([self.client handleOpenURL:URL]) {
          return YES;
      }
    
      return NO;
    }
    
  4. 一旦你的客户端获授权,你可以使用 AFOAuthCredential 将其凭证存储在钥匙串中。

    [AFOAuthCredential storeCredential:self.client.credential withIdentifier:@"credential"];

4. 向Automatic API发送请求

你现在可以为用户代表其发送请求到Automatic API。

[self.client
     fetchTripsForCurrentUserWithSuccess:^(NSDictionary *page){
         NSArray *trips = page[@"results"];

         // Do something cool with the trip data here.
     }
     failure:^(NSError *error){
         NSLog(@"Something went wrong.");
     }];