DraugiemSDK 0.1.2

DraugiemSDK 0.1.2

测试已验证
Lang语言 Obj-CObjective C
许可证 WTFPL
发布最后发布Nov 2016

Aigars SilavsDraugiemArmands 维护。



Draugiem SDK for iOS

这个开源库允许您将 Draugiem 集成到您的 iOS 应用中。

安装

0. 创建您的 draugiem.lv 应用程序,如果还没有的话。

导航到 您的 draugiem 开发者页面 并创建一个新的应用程序。填写详细信息。您最终可能会有以下这样的内容

App creation form

请注意您的应用程序 ID(示例中的 15019040)和应用程序 API 密钥(示例中的 068411db50ed4d0de895d4405461f112)。

注意:应用程序 ID 是一个 8 位整数。如果您的应用程序 ID 小于 8 位,请在其前面添加 "15" 后跟适当数量的零。例如,如果您的 appID 是 "19040",则您将使用 "15019040" 作为 DraugiemSDK 中的 appID。

1. 将 DraugiemSDK 添加到您的 Xcode 项目中。

如果您正在使用 git 进行应用的版本控制,您可以将其作为子模块添加到您的项目中以更容易地获取未来的更新。您还可以下载此仓库,并将 SDK 文件手动添加到项目中。DraugiemSDK 还可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile

pod "DraugiemSDK"

2. 配置您的 Xcode 项目

在您的项目 .plist 文件中创建一个名为 URL Types 的数组键,其下只有一个子数组 URL Schemes。给这个单项一个用 'dr' 前缀和您的应用 ID 组成的项。完成的 .plist 中的相关片段应如下所示

Plist fragment

这用于确保当应用程序执行外部操作时,将从原生 Draugiem iOS 应用或 Safari 浏览器收到回调。

您的应用程序可能支持多个 URL 方案。DraugiemSDK 将使用与所需模式匹配的那个。

使用

设置

将您唯一的应用程序 ID 和应用程序密钥分配给 DraugiemSDK 实例。我们建议在应用启动时这样做,但您也可以在应用程序生命周期中稍后进行。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
    [Draugiem startWithAppID:15019040 appKey:@"068411db50ed4d0de895d4405461f112"];
    // Override point for customization after application launch.
    return YES;
}

从AppDelegate中的[UIApplicationDelegate application:openURL:sourceApplication:annotation:]方法中调用[Draugiem openURL:sourceApplication:]方法。这将用于正确处理与原生Draugiem应用或Safari的交互响应,作为SSO身份验证流程或Draugiem对话框的一部分。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    if ([Draugiem openURL:url sourceApplication:sourceApplication] == NO) {
        //The url was not intended for the Draugiem SDK. Handle other potential calls here.
    }
    return YES;
}

身份验证

身份验证仅需一个方法调用

[Draugiem logInWithCompletion:^(NSString *apiKey, NSError *error) {
    if (apiKey) {
        //Valid apiKey has been received. Client data may be requested now.
    } else {
        //Something went wrong. Refer to the error object for more information.
    }
}];

如果没有遇到任何错误,您可以请求当前客户端的用户对象。我们将当前使用DraugiemSDK登录的用户称为客户端

[Draugiem clientWithCompletion:^(DRUser *client, NSError *error) {
    if (client) {
        //Valid user object has been received. You may display this information in your app.
    } else {
        //Something went wrong. Refer to the error object for more information.
    }
}];

您应该单独管理由登录方法返回的apiKey。根据您的需求保存它,并在应用重新启动时使用以下方法恢复它

[Draugiem restoreApiKey:savedApiKey completion:^(BOOL success, NSError *error) {
    if (success) {
        //Restoration of apiKey was successful.
    } else {
        //Restoration of apiKey was unccessful. Refer to the error object for details.
    }
}];

必须恢复先前存储的apiKey,这样客户端就不需要在应用重启时每次都进行登录。示例项目显示了如何使用密钥链保存apiKey。您也可以使用自己的网络服务来存储密钥。

附录

帮助:有关更多信息,请参考提供的示例项目此处draugiem开发者门户。要运行示例项目,首先克隆repo,然后从Example目录中运行pod install

许可:DraugiemSDK受WTFPL许可协议保护。有关更多信息,请参阅LICENSE文件。