Wildlink 2.0.0

Wildlink 2.0.0

Wildfire Systems, Inc. 维护。



Wildlink 2.0.0

  • Wildfire Systems

Wildlink API for iOS

Build Status Swift Version Swift Version License

CocoaPods Compatible Platform PRs Welcome

功能

此仓库允许您将以下 Wildlink 功能集成到您的 Swift iOS 应用中。

  • 创建虚荣链接
  • 查询虚荣链接点击统计
  • 查询您的个人佣金信息
  • 查询我们的商家数据库
  • 按名称或 ID 搜索特定商家

要求

  • iOS 10.0+
  • Xcode 10.2+

安装

CocoaPods

您可以使用CocoaPods通过将其添加到您的Podfile中来安装Wildlink

use_frameworks!
platform:ios, '10.0'


target 'Wildlink_Example' do
  pod 'Wildlink', '~> 1.0.6'
end

添加cocoapod后,运行pod install来设置您的项目并在Xcode中打开您的.xcworkspace。

手动操作

  1. 下载并将Wildlink/Classes/*.swift拖放到您的项目中。
  2. 恭喜恭喜!

使用示例

初始化SDK

在您的应用程序中(我们建议在您的AppDelegate的didFinishLaunchingWithOptions函数中)您需要调用SDK上的initialize方法,并将自己设置为Wildlink代理

Wildlink.shared.delegate = self
Wildlink.shared.initialize(appId: "<yourAppID>", appSecret: "<yourAppSecret", wildlinkDeviceToken: "<existingUserToken>", wildlinkDeviceKey: "<existingUserKey>")

回调说明

为了防止阻塞主UI线程,Wildlink使用内部处理队列来处理服务器响应。完成处理程序可以在任何线程上调用,因此如果您使用回调的内容更新UI元素,请确保在主线程中包装UI调用。

DispatchQueue.main.async {
    self.urlOutlet.text = url.absoluteString
}

完整的AppDelegate实现示例

import UIKit
import Wildlink

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.

        //initialize wildlink
        Wildlink.shared.delegate = self
        let defaults = UserDefaults.standard
        Wildlink.shared.initialize(appId: "<yourAppID>", appSecret: "<yourAppSecret", wildlinkDeviceToken: defaults.string(forKey: "wildlinkDeviceToken"), wildlinkDeviceKey: defaults.string(forKey: "wildlinkDeviceKey"))

        return true
    }
    
    ...
    
}

extension AppDelegate : WildlinkDelegate {
    func didReceive(deviceKey: String) {
        let defaults = UserDefaults.standard
        defaults.set(deviceKey, forKey: "wildlinkDeviceKey")
    }

    func didReceive(deviceToken: String) {
        let defaults = UserDefaults.standard
        defaults.set(deviceToken, forKey: "wildlinkDeviceToken")
    }

    func didReceive(deviceId: UInt64) {
        let defaults = UserDefaults.standard
        defaults.set(deviceId, forKey: "wildlinkDeviceId")
    }
}

在上面的示例中,您会注意到我们在遵循WildlinkDelegate协议的过程中,正在使用NSUserDefaults来存储和检索Wildlink返回的设备令牌和密钥。其他由Wildlink SDK发起的请求将通过以下所示的方式处理完成处理程序。

从SDK请求事项

一旦初始化SDK以识别您的应用程序并注册其运行的设备,您就可以开始进行请求。

请求个性化网址
import Wildlink
Wildlink.shared.createVanityURL(from: urlOutlet.text) { (url, error) in
    // do something interesting with the result
}
请求您的点击统计
import Wildlink
//get the hourly results of your clicks for the last week
Wildlink.shared.getClickStats(from: Date(timeIntervalSinceNow: -604800), with: .hour, completion: { (results, error) in
    // do something interesting with the result
})
请求您的佣金统计
import Wildlink
Wildlink.shared.getCommissionSummary({ (stats, error) in
    // do something interesting with the result
})
获取特定商家的详细信息
import Wildlink
Wildlink.shared.getMerchantByID("5476062", { (merchant, error) in
    // do something interesting with the result
})
搜索我们的商家列表
import Wildlink
//this example lists *all* of our merchants
Wildlink.shared.searchMerchants(ids: [], names: [], q: nil, disabled: nil, featured: true, sortBy: nil, sortOrder: nil, limit: nil, { (merchants, error) in
    // do something interesting with the result
})

贡献

我们非常希望您为 Wildlink 做出贡献,请查阅 LICENSE 文件获取更多信息。

元数据

版权所有 2019 Wildfire Systems, Inc.

基于 MIT 许可证分发。更多信息请见 LICENSE

https://github.com/wildlink/wildlink-api-ios