nanashiki / Studyplus-iOS-SDK-V2

StudyplusSDK-V2 is Studyplus iOS SDK for Swift

Home Page:https://info.studyplus.co.jp/contact/studyplus-api

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

StudyplusSDK-V2

StudyplusSDK-V2 is Studyplus iOS SDK for Swift.

Requirements

  • iOS 9.0 or above
  • Swift 4.0 or above

Dependency

Install

Add the following line to your Podfile:

use_frameworks!

target 'YOUR_TARGET_NAME' do
  pod 'StudyplusSDK-V2'
end

Add the following line to your Cartfile:

github "studyplus/Studyplus-iOS-SDK-V2"

Usage

① Set up custom URL scheme

  • set studyplus-{your consumer key} to URL Types. (ex. studyplus-MIoh79q7pfMbTUVA3BNsSeTaZRcOK3yg )

xcode

② Set up consumerKey and consumerSecret

  • set consumerKey and consumerSecret in your Info.plist.
<key>StudyplusSDK</key>
<dict>
  <key>consumerKey</key>
  <string>set_your_consumerKey</string>
  <key>consumerSecret</key>
  <string>set_your_consumerSecret</string>
</dict>

③ Set up LSApplicationQueriesSchemes

  • Set LSApplicationQueriesSchemes in your info.plist for checking if studyplus is installed.
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>studyplus</string>
</array>

Initialize

// when carthage is StudyplusSDK, cocoapods is StudyplusSDK_V2
import StudyplusSDK_V2

class ViewController: UIViewController, StudyplusLoginDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        Studyplus.shared.delegate = self
    }

    // ...
}

Login

// when carthage is StudyplusSDK, cocoapods is StudyplusSDK_V2
import StudyplusSDK_V2

class AppDelegate: UIResponder, UIApplicationDelegate {

    func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
        return Studyplus.shared.handle(appDelegateUrl: url)
    }
}
// when carthage is StudyplusSDK, cocoapods is StudyplusSDK_V2
import StudyplusSDK_V2

class ViewController: UIViewController, StudyplusLoginDelegate {

    // ...

    // MARK: - Login

    @IBAction func loginButton(_ sender: UIButton) {
        Studyplus.shared.login()
    }

    // MARK: - StudyplusLoginDelegate

    func studyplusDidSuccessToLogin() {
        // do something
    }

    func studyplusDidFailToLogin(error: StudyplusError) {
        // do something
    }

    func studyplusDidCancelToLogin() {
        // do something
    }
}

Post studyRecord to Studyplus

// when carthage is StudyplusSDK, cocoapods is StudyplusSDK_V2
import StudyplusSDK_V2

class ViewController: UIViewController, StudyplusLoginDelegate {

    // ...

    // MARK: - Post studyRecord to Studyplus

    @IBAction func postStudyRecordButton(_ sender: UIButton) {
        let recordAmount: StudyplusRecordAmount = StudyplusRecordAmount(amount: 10)
        let record: StudyplusRecord = StudyplusRecord(duration: duration, recordedAt: Date(), amount: recordAmount, comment: "Today, I studied like anything.")

        Studyplus.shared.post(studyRecord: record, success: {

            // do something

        }, failure: { error in

            print("Error Code: \(error.code()), Message: \(error.message())")
        })
    }
}

Demo app

demo

  • Set studyplus-{your consumer key} to URL Types in Demo.
  • Set consumerKey and consumerSecret in Info.plist of Demo.
  • Select Demo Scheme and Run.

License

About

StudyplusSDK-V2 is Studyplus iOS SDK for Swift

https://info.studyplus.co.jp/contact/studyplus-api

License:MIT License


Languages

Language:Swift 93.5%Language:Objective-C 3.9%Language:Ruby 2.1%Language:Shell 0.4%