Latest 0.0.9
Homepage https://github.com/karuka/Illidan
License MIT
Platforms ios 7.0
Frameworks Foundation, UIKit
Authors

用于统计用户在游戏内的充值数据。

功能

在 App 中,每当一笔 IAP 成功支付时,SDK 向服务端发送一条通知。对于用户来说,不影响任何体验。

获取 SDK

使用 Cocoapods

pod 'Illidan'

手动接入

跳转到本项目最新的稳定版本(目前为 0.0.9),下载 FrameworkRelease/IllidanLib.framework,并将其引入你的项目。

接入代码

  1. 获取 appKey 和 appSecret。
    appKey 是你的项目的唯一标识符,appSecret 则用来保证通信安全。

  2. 配置 scheme。
    IAP 任务流程将由外部发起,通常是由浏览器唤起游戏 app,因此 app 中需要提供可供外部调用的 scheme 接口。你可以去 Info.plist 中添加 scheme,也可以点击 target,找到 Info 配置下面的 URL Types 来可视化添加 scheme。这个 scheme 将会和 appKey 一起下发,与 app 的 bundleId 一一对应。

  3. 在 app 启动时设置你的 appKey。
    你可以在 AppDelegate 的 application:didFinishLaunchingWithOptions: 中设置,也可以在别处,只要在你的 IAP 流程发生之前即可。
    设置 appKey 是必要的,否则 SDK 将无法正常运行。

    
    #import <IllidanLib/Illidan.h>
  • (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions {

    [Illidan setupWithAppKey:@"your-app-key" secret:@"your-app-secret"];
    return YES;
    }

  1. 检查 AppDelegate.handleOpenURL。
    为了响应 scheme 调用,你的 AppDelegate 中必须实现 handleOpenURL 方法,总共有三个:application:handleOpenURL:application:openURL:options:application:openURL:sourceApplication:annotation:。如果你已实现了它们,则什么都不需要干;如果没有,则在你的 AppDelegate 中添加如下代码。
//内部不需要添加额外代码,SDK 会自动调用它们。大多数情况下 app 本来就会实现这三个方法,SDK 不会影响方法中原有代码的运行。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return YES;
}

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
    return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return YES;
}
  1. 设置用户唯一标识(非必要)。
    我们会自动获取设备的 IDFA 以区分用户的身份,为了方便,你可以单独给一个用户设置唯一标识(如游戏人物角色的名字)。
    该操作可以放在代码的任意一处,设置后,我们的服务端会将此设备的 IDFA 与该标识绑定。
    另外,这个用户唯一标识不是必要的,不设置也不会影响主要功能。

    [Illidan setUserIdentifier:@"id-of-this-user"];

接入实例

https://github.com/karuka/IllidanSample

日志说明

  1. 默认开启日志,可以通过 [Illidan showLog:NO]; 关掉。

  2. 设置 appKey 时 SDK 会自动激活,如果你看到如下日志,则表示 SDK 成功激活(BundleId 和 AppKey 会换成你自己的)。

    ------
    [Illidan-Log] IAP observer active - [BundleId]com.softwind.iap.test - [AppKey]12345678
    ------
    ------
    [Illidan-Log] IAP network succeed - active
    ------
  3. 统计 IAP 时,如果你看到如下日志,则表示 IAP 成功被统计到了。

    ------
    [Illidan-Log] IAP task report - xxxx - [ProductIdentifier]testIAP - [Money]1 * 1.00CNY
    ------
    ------
    [Illidan-Log] IAP network succeed - iap-report
    ------
  4. 任何时候,如果没有看到 [Illidan-Log] IAP network succeed 则表示网络有问题,此次任务没有统计成功。

Latest podspec

{
    "name": "Illidan",
    "version": "0.0.9",
    "summary": "IAP observer SDK.",
    "description": "Send a message to our server when user succeeds in IAP.",
    "homepage": "https://github.com/karuka/Illidan",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "Softwind Tang": "[email protected]"
    },
    "platforms": {
        "ios": "7.0"
    },
    "source": {
        "git": "https://github.com/karuka/Illidan.git",
        "tag": "0.0.9"
    },
    "vendored_frameworks": "FrameworkRelease/*.framework",
    "frameworks": [
        "Foundation",
        "UIKit"
    ]
}

Pin It on Pinterest

Share This