Illidan 0.0.9

Illidan 0.0.9

License MIT
ReleasedLast Release Jun 2017

Maintained by Softwind Tang.



Illidan 0.0.9

  • By
  • Softwind Tang

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

功能

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

获取 SDK

手动接入

跳转到本项目最新的稳定版本(目前为 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
------
  1. 统计 IAP 时,如果你看到如下日志,则表示 IAP 成功被统计到了。
------
[Illidan-Log] IAP task report - [code]xxxx - [ProductIdentifier]testIAP - [Money]1 * 1.00CNY
------
------
[Illidan-Log] IAP network succeed - iap-report
------
  1. 任何时候,如果没有看到 [Illidan-Log] IAP network succeed 则表示网络有问题,此次任务没有统计成功。