xuguohong

commit xingwan

Showing 62 changed files with 1397 additions and 189 deletions
No preview for this file type
This diff is collapsed. Click to expand it.
...@@ -37,7 +37,11 @@ ...@@ -37,7 +37,11 @@
37 [[PoolSdk shareSDK]applicationDidEnterBackground:application]; 37 [[PoolSdk shareSDK]applicationDidEnterBackground:application];
38 } 38 }
39 39
40 - 40 +- (void)applicationWillEnterForeground:(UIApplication *)application {
41 + // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
42 + NSLog(@"applicationWillEnterForeground1111111");
43 + [[PoolSdk shareSDK] applicationWillEnterForeground:application];
44 +}
41 45
42 - (void)applicationDidBecomeActive:(UIApplication *)application { 46 - (void)applicationDidBecomeActive:(UIApplication *)application {
43 // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 47 // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
...@@ -54,22 +58,10 @@ ...@@ -54,22 +58,10 @@
54 return true; 58 return true;
55 } 59 }
56 60
57 --(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
58 -{
59 - [[PoolSdk shareSDK]application:app openURL:url options:options];
60 - return YES;
61 -}
62 -
63 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 61 -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
64 { 62 {
65 [[PoolSdk shareSDK] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; 63 [[PoolSdk shareSDK] application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
66 return YES; 64 return YES;
67 } 65 }
68 66
69 -- (void)applicationWillEnterForeground:(UIApplication *)application {
70 - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
71 - [[PoolSdk shareSDK] applicationWillEnterForeground:application];
72 -}
73 -
74 -
75 @end 67 @end
......
...@@ -154,36 +154,4 @@ ...@@ -154,36 +154,4 @@
154 } 154 }
155 } 155 }
156 156
157 -
158 -
159 -#pragma mark - 截屏
160 -- (void)screenShot:(UIView *)view{
161 - UIImage* image = nil;
162 - UIGraphicsBeginImageContext(view.bounds.size);
163 - [view.layer renderInContext:UIGraphicsGetCurrentContext()];
164 - image = UIGraphicsGetImageFromCurrentImageContext();
165 - UIGraphicsEndImageContext();
166 - UIGraphicsEndImageContext();
167 - if (image != nil) {
168 - NSLog(@"截图成功!");
169 - UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL);
170 -
171 - }
172 -}
173 -
174 -
175 -#pragma mark - 保存到相册
176 --(void)image:(UIImage *)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo
177 -{
178 - if(!error){
179 - NSLog(@"存到相册");
180 - }else{
181 - NSLog(@"存储失败");
182 -
183 - }
184 -}
185 -
186 -
187 -
188 -
189 @end 157 @end
......
This diff is collapsed. Click to expand it.
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<Workspace
3 + version = "1.0">
4 + <FileRef
5 + location = "self:Demo.xcodeproj">
6 + </FileRef>
7 +</Workspace>
1 +{
2 + "DVTSourceControlWorkspaceBlueprintPrimaryRemoteRepositoryKey" : "D1584AEF25B5C21395F515B62C90B71E0ACB26B2",
3 + "DVTSourceControlWorkspaceBlueprintWorkingCopyRepositoryLocationsKey" : {
4 + "5b13317c-0110-4367-8746-06bc6aadd3cd++2397" : {
5 +
6 + }
7 + },
8 + "DVTSourceControlWorkspaceBlueprintWorkingCopyStatesKey" : {
9 + "D1584AEF25B5C21395F515B62C90B71E0ACB26B2" : 0,
10 + "5b13317c-0110-4367-8746-06bc6aadd3cd++2397" : 0
11 + },
12 + "DVTSourceControlWorkspaceBlueprintIdentifierKey" : "8119CC7B-EDC1-4646-9378-8ECAC2EEB94B",
13 + "DVTSourceControlWorkspaceBlueprintWorkingCopyPathsKey" : {
14 + "D1584AEF25B5C21395F515B62C90B71E0ACB26B2" : "public_sdk_ios\/",
15 + "5b13317c-0110-4367-8746-06bc6aadd3cd++2397" : "youai_foolsdk_ios\/"
16 + },
17 + "DVTSourceControlWorkspaceBlueprintNameKey" : "Demo",
18 + "DVTSourceControlWorkspaceBlueprintVersion" : 204,
19 + "DVTSourceControlWorkspaceBlueprintRelativePathToProjectKey" : "PoolSdk_Demo\/Demo.xcodeproj",
20 + "DVTSourceControlWorkspaceBlueprintRemoteRepositoriesKey" : [
21 + {
22 + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "svn:\/\/10.21.210.99",
23 + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Subversion",
24 + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "5b13317c-0110-4367-8746-06bc6aadd3cd++2397"
25 + },
26 + {
27 + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryURLKey" : "ssh:\/\/106.75.192.252:10022\/public_service\/public_sdk_ios.git",
28 + "DVTSourceControlWorkspaceBlueprintRemoteRepositorySystemKey" : "com.apple.dt.Xcode.sourcecontrol.Git",
29 + "DVTSourceControlWorkspaceBlueprintRemoteRepositoryIdentifierKey" : "D1584AEF25B5C21395F515B62C90B71E0ACB26B2"
30 + }
31 + ]
32 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<Bucket
3 + type = "1"
4 + version = "2.0">
5 + <Breakpoints>
6 + <BreakpointProxy
7 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
8 + <BreakpointContent
9 + shouldBeEnabled = "Yes"
10 + ignoreCount = "0"
11 + continueAfterRunningActions = "No"
12 + filePath = "../PoolSdk/PoolSdk/SDKInterface.m"
13 + timestampString = "471440051.171901"
14 + startingColumnNumber = "9223372036854775807"
15 + endingColumnNumber = "9223372036854775807"
16 + startingLineNumber = "77"
17 + endingLineNumber = "77"
18 + landmarkName = "-receiveLoginMessage:"
19 + landmarkType = "5">
20 + </BreakpointContent>
21 + </BreakpointProxy>
22 + <BreakpointProxy
23 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
24 + <BreakpointContent
25 + shouldBeEnabled = "Yes"
26 + ignoreCount = "0"
27 + continueAfterRunningActions = "No"
28 + filePath = "../PoolSdk/PoolSdk/SDKInterface.m"
29 + timestampString = "471440051.171901"
30 + startingColumnNumber = "9223372036854775807"
31 + endingColumnNumber = "9223372036854775807"
32 + startingLineNumber = "43"
33 + endingLineNumber = "43"
34 + landmarkName = "-SDKloginSDK"
35 + landmarkType = "5">
36 + </BreakpointContent>
37 + </BreakpointProxy>
38 + </Breakpoints>
39 +</Bucket>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<Scheme
3 + LastUpgradeVersion = "0640"
4 + version = "1.3">
5 + <BuildAction
6 + parallelizeBuildables = "YES"
7 + buildImplicitDependencies = "YES">
8 + <BuildActionEntries>
9 + <BuildActionEntry
10 + buildForTesting = "YES"
11 + buildForRunning = "YES"
12 + buildForProfiling = "YES"
13 + buildForArchiving = "YES"
14 + buildForAnalyzing = "YES">
15 + <BuildableReference
16 + BuildableIdentifier = "primary"
17 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
18 + BuildableName = "Demo.app"
19 + BlueprintName = "Demo"
20 + ReferencedContainer = "container:Demo.xcodeproj">
21 + </BuildableReference>
22 + </BuildActionEntry>
23 + <BuildActionEntry
24 + buildForTesting = "YES"
25 + buildForRunning = "YES"
26 + buildForProfiling = "NO"
27 + buildForArchiving = "NO"
28 + buildForAnalyzing = "YES">
29 + <BuildableReference
30 + BuildableIdentifier = "primary"
31 + BlueprintIdentifier = "BB5F3CA01C1811BC00DA339D"
32 + BuildableName = "DemoTests.xctest"
33 + BlueprintName = "DemoTests"
34 + ReferencedContainer = "container:Demo.xcodeproj">
35 + </BuildableReference>
36 + </BuildActionEntry>
37 + </BuildActionEntries>
38 + </BuildAction>
39 + <TestAction
40 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
41 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
42 + shouldUseLaunchSchemeArgsEnv = "YES"
43 + buildConfiguration = "Debug">
44 + <Testables>
45 + <TestableReference
46 + skipped = "NO">
47 + <BuildableReference
48 + BuildableIdentifier = "primary"
49 + BlueprintIdentifier = "BB5F3CA01C1811BC00DA339D"
50 + BuildableName = "DemoTests.xctest"
51 + BlueprintName = "DemoTests"
52 + ReferencedContainer = "container:Demo.xcodeproj">
53 + </BuildableReference>
54 + </TestableReference>
55 + </Testables>
56 + <MacroExpansion>
57 + <BuildableReference
58 + BuildableIdentifier = "primary"
59 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
60 + BuildableName = "Demo.app"
61 + BlueprintName = "Demo"
62 + ReferencedContainer = "container:Demo.xcodeproj">
63 + </BuildableReference>
64 + </MacroExpansion>
65 + </TestAction>
66 + <LaunchAction
67 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
68 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
69 + launchStyle = "0"
70 + useCustomWorkingDirectory = "NO"
71 + buildConfiguration = "Debug"
72 + ignoresPersistentStateOnLaunch = "NO"
73 + debugDocumentVersioning = "YES"
74 + allowLocationSimulation = "YES">
75 + <BuildableProductRunnable
76 + runnableDebuggingMode = "0">
77 + <BuildableReference
78 + BuildableIdentifier = "primary"
79 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
80 + BuildableName = "Demo.app"
81 + BlueprintName = "Demo"
82 + ReferencedContainer = "container:Demo.xcodeproj">
83 + </BuildableReference>
84 + </BuildableProductRunnable>
85 + <AdditionalOptions>
86 + </AdditionalOptions>
87 + </LaunchAction>
88 + <ProfileAction
89 + shouldUseLaunchSchemeArgsEnv = "YES"
90 + savedToolIdentifier = ""
91 + useCustomWorkingDirectory = "NO"
92 + buildConfiguration = "Release"
93 + debugDocumentVersioning = "YES">
94 + <BuildableProductRunnable
95 + runnableDebuggingMode = "0">
96 + <BuildableReference
97 + BuildableIdentifier = "primary"
98 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
99 + BuildableName = "Demo.app"
100 + BlueprintName = "Demo"
101 + ReferencedContainer = "container:Demo.xcodeproj">
102 + </BuildableReference>
103 + </BuildableProductRunnable>
104 + </ProfileAction>
105 + <AnalyzeAction
106 + buildConfiguration = "Debug">
107 + </AnalyzeAction>
108 + <ArchiveAction
109 + buildConfiguration = "Release"
110 + revealArchiveInOrganizer = "YES">
111 + </ArchiveAction>
112 +</Scheme>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 +<plist version="1.0">
4 +<dict>
5 + <key>SchemeUserState</key>
6 + <dict>
7 + <key>Demo.xcscheme</key>
8 + <dict>
9 + <key>orderHint</key>
10 + <integer>0</integer>
11 + </dict>
12 + </dict>
13 + <key>SuppressBuildableAutocreation</key>
14 + <dict>
15 + <key>BB5F3C871C1811BC00DA339D</key>
16 + <dict>
17 + <key>primary</key>
18 + <true/>
19 + </dict>
20 + <key>BB5F3CA01C1811BC00DA339D</key>
21 + <dict>
22 + <key>primary</key>
23 + <true/>
24 + </dict>
25 + </dict>
26 +</dict>
27 +</plist>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<Bucket
3 + type = "1"
4 + version = "2.0">
5 + <Breakpoints>
6 + <BreakpointProxy
7 + BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
8 + <BreakpointContent
9 + shouldBeEnabled = "No"
10 + ignoreCount = "0"
11 + continueAfterRunningActions = "No"
12 + filePath = "Demo/SDKInterface.h"
13 + timestampString = "474775745.083759"
14 + startingColumnNumber = "9223372036854775807"
15 + endingColumnNumber = "9223372036854775807"
16 + startingLineNumber = "9"
17 + endingLineNumber = "9"
18 + landmarkName = "@interface SDKInterface"
19 + landmarkType = "2">
20 + </BreakpointContent>
21 + </BreakpointProxy>
22 + </Breakpoints>
23 +</Bucket>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<Scheme
3 + LastUpgradeVersion = "0700"
4 + version = "1.3">
5 + <BuildAction
6 + parallelizeBuildables = "YES"
7 + buildImplicitDependencies = "YES">
8 + <BuildActionEntries>
9 + <BuildActionEntry
10 + buildForTesting = "YES"
11 + buildForRunning = "YES"
12 + buildForProfiling = "YES"
13 + buildForArchiving = "YES"
14 + buildForAnalyzing = "YES">
15 + <BuildableReference
16 + BuildableIdentifier = "primary"
17 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
18 + BuildableName = "Demo.app"
19 + BlueprintName = "Demo"
20 + ReferencedContainer = "container:Demo.xcodeproj">
21 + </BuildableReference>
22 + </BuildActionEntry>
23 + </BuildActionEntries>
24 + </BuildAction>
25 + <TestAction
26 + buildConfiguration = "Debug"
27 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29 + shouldUseLaunchSchemeArgsEnv = "YES">
30 + <Testables>
31 + <TestableReference
32 + skipped = "NO">
33 + <BuildableReference
34 + BuildableIdentifier = "primary"
35 + BlueprintIdentifier = "BB5F3CA01C1811BC00DA339D"
36 + BuildableName = "DemoTests.xctest"
37 + BlueprintName = "DemoTests"
38 + ReferencedContainer = "container:Demo.xcodeproj">
39 + </BuildableReference>
40 + </TestableReference>
41 + </Testables>
42 + <MacroExpansion>
43 + <BuildableReference
44 + BuildableIdentifier = "primary"
45 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
46 + BuildableName = "Demo.app"
47 + BlueprintName = "Demo"
48 + ReferencedContainer = "container:Demo_xingwan_login.xcodeproj">
49 + </BuildableReference>
50 + </MacroExpansion>
51 + <AdditionalOptions>
52 + </AdditionalOptions>
53 + </TestAction>
54 + <LaunchAction
55 + buildConfiguration = "Debug"
56 + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
57 + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
58 + launchStyle = "0"
59 + useCustomWorkingDirectory = "NO"
60 + ignoresPersistentStateOnLaunch = "NO"
61 + debugDocumentVersioning = "YES"
62 + debugServiceExtension = "internal"
63 + allowLocationSimulation = "YES">
64 + <BuildableProductRunnable
65 + runnableDebuggingMode = "0">
66 + <BuildableReference
67 + BuildableIdentifier = "primary"
68 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
69 + BuildableName = "Demo.app"
70 + BlueprintName = "Demo"
71 + ReferencedContainer = "container:Demo_xingwan_login.xcodeproj">
72 + </BuildableReference>
73 + </BuildableProductRunnable>
74 + <AdditionalOptions>
75 + </AdditionalOptions>
76 + </LaunchAction>
77 + <ProfileAction
78 + buildConfiguration = "Release"
79 + shouldUseLaunchSchemeArgsEnv = "YES"
80 + savedToolIdentifier = ""
81 + useCustomWorkingDirectory = "NO"
82 + debugDocumentVersioning = "YES">
83 + <BuildableProductRunnable
84 + runnableDebuggingMode = "0">
85 + <BuildableReference
86 + BuildableIdentifier = "primary"
87 + BlueprintIdentifier = "BB5F3C871C1811BC00DA339D"
88 + BuildableName = "Demo.app"
89 + BlueprintName = "Demo"
90 + ReferencedContainer = "container:Demo.xcodeproj">
91 + </BuildableReference>
92 + </BuildableProductRunnable>
93 + </ProfileAction>
94 + <AnalyzeAction
95 + buildConfiguration = "Debug">
96 + </AnalyzeAction>
97 + <ArchiveAction
98 + buildConfiguration = "Release"
99 + revealArchiveInOrganizer = "YES">
100 + </ArchiveAction>
101 +</Scheme>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 +<plist version="1.0">
4 +<dict>
5 + <key>SchemeUserState</key>
6 + <dict>
7 + <key>Demo.xcscheme</key>
8 + <dict>
9 + <key>orderHint</key>
10 + <integer>0</integer>
11 + </dict>
12 + </dict>
13 + <key>SuppressBuildableAutocreation</key>
14 + <dict>
15 + <key>BB5F3C871C1811BC00DA339D</key>
16 + <dict>
17 + <key>primary</key>
18 + <true/>
19 + </dict>
20 + <key>BB5F3CA01C1811BC00DA339D</key>
21 + <dict>
22 + <key>primary</key>
23 + <true/>
24 + </dict>
25 + </dict>
26 +</dict>
27 +</plist>
No preview for this file type
No preview for this file type
No preview for this file type
1 +//
2 +// DCSdk.h
3 +// DCSdk
4 +//
5 +// Created by xqwang on 13-7-8.
6 +// Copyright (c) 2013年 digitcube. All rights reserved.
7 +//
8 +
9 +#import <Foundation/Foundation.h>
10 +
11 +//这里提供静态方法
12 +@interface DCTrackingAgent : NSObject
13 +
14 +/**
15 + * @brief 初始化接口,程序启动时调用
16 + *
17 + * 一般在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions内调用一次即可
18 + * !!!一定要调用,否则后面无法上报,只能调用一次
19 + * @param appId 在我们网站上创建游戏时分配的appId,用于标识这款游戏. 注意保密!
20 + * @param channelId 渠道id , 方便统计分析你在各渠道的推广效果
21 + */
22 ++ (void)initWithAppId:(NSString *)appId andChannelId:(NSString*)channelId;
23 +
24 +
25 +/**
26 + * @brief 设置数据上报间隔时间,该接口需要在onStart接口之前调用,否则无效。如果不调用该接口,SDK默认以1分钟的间隔上报数据
27 + *
28 + **/
29 ++(void)setUploadInterval:(unsigned int)time;
30 +
31 +
32 +/**
33 + * @brief 设置应用版本号,不调用该接口时SDK默认从配置文件中读取应用版本号
34 + *
35 + * @param version:应用版本号
36 + */
37 ++(void)setVersion:(NSString*)version;
38 +
39 +/**
40 + * @brief 立即上报数据
41 + **/
42 ++(void)uploadNow;
43 +
44 +/**
45 + * @brief 获取设备ID
46 + **/
47 ++(NSString*)getUID;
48 +
49 +@end
50 +
51 +
52 +@interface DCTrackingPoint : NSObject
53 +
54 +/**
55 + @brief 广告效果追踪设置有效的效果点
56 + @param pointId 广告效果点
57 + @param propDictionary 触发时希望传入的属性字典
58 + **/
59 ++(void)setEffectPoint:(NSString*)pointId propDictionary:(NSDictionary*)dictionary;
60 +
61 +/**
62 + @brief 玩家登陆事件
63 + @param accountId 玩家账户ID
64 + **/
65 ++(void)login:(NSString*)accountId;
66 +
67 +
68 +/**
69 + @brief 玩家注册事件
70 + @param accountId 玩家账户ID
71 + **/
72 ++(void)createAccount:(NSString*)accountId;
73 +
74 +/**
75 + @brief 玩家付费事件
76 + @param orderId 订单ID
77 + @param currencyAmount 付费总额
78 + @param currencyType 货币类型
79 + @param paymentType 支付途径
80 + **/
81 ++(void)paymentSuccess:(NSString*)orderId currencyAmount:(double)currencyAmount currencyType:(NSString*)currencyType paymentType:(NSString*)paymentType;
82 +
83 +@end
1 -{
2 - "images" : [
3 - {
4 - "idiom" : "iphone",
5 - "size" : "29x29",
6 - "scale" : "2x"
7 - },
8 - {
9 - "idiom" : "iphone",
10 - "size" : "29x29",
11 - "scale" : "3x"
12 - },
13 - {
14 - "idiom" : "iphone",
15 - "size" : "40x40",
16 - "scale" : "2x"
17 - },
18 - {
19 - "idiom" : "iphone",
20 - "size" : "40x40",
21 - "scale" : "3x"
22 - },
23 - {
24 - "idiom" : "iphone",
25 - "size" : "60x60",
26 - "scale" : "2x"
27 - },
28 - {
29 - "idiom" : "iphone",
30 - "size" : "60x60",
31 - "scale" : "3x"
32 - }
33 - ],
34 - "info" : {
35 - "version" : 1,
36 - "author" : "xcode"
37 - }
38 -}
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "images" : [
3 - {
4 - "orientation" : "portrait",
5 - "idiom" : "iphone",
6 - "minimum-system-version" : "7.0",
7 - "scale" : "2x"
8 - },
9 - {
10 - "orientation" : "portrait",
11 - "idiom" : "iphone",
12 - "minimum-system-version" : "7.0",
13 - "subtype" : "retina4",
14 - "scale" : "2x"
15 - }
16 - ],
17 - "info" : {
18 - "version" : 1,
19 - "author" : "xcode"
20 - }
21 -}
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "info" : {
3 - "version" : 1,
4 - "author" : "xcode"
5 - }
6 -}
...\ No newline at end of file ...\ No newline at end of file
...@@ -33,11 +33,6 @@ ...@@ -33,11 +33,6 @@
33 <string>1</string> 33 <string>1</string>
34 <key>LSRequiresIPhoneOS</key> 34 <key>LSRequiresIPhoneOS</key>
35 <true/> 35 <true/>
36 - <key>NSAppTransportSecurity</key>
37 - <dict>
38 - <key>NSAllowsArbitraryLoads</key>
39 - <true/>
40 - </dict>
41 <key>UILaunchStoryboardName</key> 36 <key>UILaunchStoryboardName</key>
42 <string>LaunchScreen</string> 37 <string>LaunchScreen</string>
43 <key>UIMainStoryboardFile</key> 38 <key>UIMainStoryboardFile</key>
......
No preview for this file type
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
5 // Created by yun on 16/1/11. 5 // Created by yun on 16/1/11.
6 // Copyright © 2016年 yun. All rights reserved. 6 // Copyright © 2016年 yun. All rights reserved.
7 // 7 //
8 -#define TRACK_VERSION @"1.0.1" 8 +#define TRACK_VERSION @"3.0.1"
9 9
10 #import <Foundation/Foundation.h> 10 #import <Foundation/Foundation.h>
11 #import <UIKit/UIKit.h> 11 #import <UIKit/UIKit.h>
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
15 热云移动广告效果监测 平台 api 请选择对应的api进行使用 15 热云移动广告效果监测 平台 api 请选择对应的api进行使用
16 */ 16 */
17 NS_ASSUME_NONNULL_BEGIN 17 NS_ASSUME_NONNULL_BEGIN
18 -@interface TrackingIO : NSObject 18 +@interface ReYunChannel : NSObject
19 //开启打印日志 正式上线包请关掉 19 //开启打印日志 正式上线包请关掉
20 +(void) setPrintLog :(BOOL)print; 20 +(void) setPrintLog :(BOOL)print;
21 // 开启数据统计 21 // 开启数据统计
...@@ -29,10 +29,10 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -29,10 +29,10 @@ NS_ASSUME_NONNULL_BEGIN
29 // 支付完成,付费分析,记录玩家充值的金额(人民币单位是元) 29 // 支付完成,付费分析,记录玩家充值的金额(人民币单位是元)
30 +(void)setPayment:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount; 30 +(void)setPayment:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
31 //自定义事件 31 //自定义事件
32 -+(void)setEvent:(NSString *)eventName andExtra:(nullable NSDictionary *)extra; 32 ++(void)setEvent:(NSString *)eventName;
33 -//标准接口
34 -+(void)setProfile:(NSDictionary *)dataDic;
35 //获取设备信息 33 //获取设备信息
36 +(NSString*)getDeviceId; 34 +(NSString*)getDeviceId;
35 +
36 ++(BOOL)RYApplication:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options;
37 @end 37 @end
38 NS_ASSUME_NONNULL_END 38 NS_ASSUME_NONNULL_END
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
11 #import "YouaiSDK/YouaiSDKMgr.h" 11 #import "YouaiSDK/YouaiSDKMgr.h"
12 #import "YouaiSDK/YouaiNotifications.h" 12 #import "YouaiSDK/YouaiNotifications.h"
13 #import "YouaiSDK/YouaiLoginInfo.h" 13 #import "YouaiSDK/YouaiLoginInfo.h"
14 -#import "TrackingIO.h" 14 +#import "ReYunTrack.h"
15 +#import "DCTrackingAgent.h"
15 16
16 //SDK 17 //SDK
17 18
...@@ -31,18 +32,23 @@ int mExchange; ...@@ -31,18 +32,23 @@ int mExchange;
31 [super SDKinit:control]; 32 [super SDKinit:control];
32 33
33 [PoolConfig getInstance]; 34 [PoolConfig getInstance];
35 +
34 [[YouaiSDKMgr getInstance]initSDK]; 36 [[YouaiSDKMgr getInstance]initSDK];
35 [[YouaiSDKMgr getInstance]setStyleName:@"sdk"]; 37 [[YouaiSDKMgr getInstance]setStyleName:@"sdk"];
38 + [[YouaiSDKMgr getInstance]setServerUrl:@"https://sdk.shxingwan.com"];
39 +
36 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:youaiLoginNotification object:nil]; 40 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:youaiLoginNotification object:nil];
37 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applePayCallBack:) name:@"applePayCallBack" object:nil]; 41 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applePayCallBack:) name:@"applePayCallBack" object:nil];
38 42
39 [[PoolChecker getInstance] sendNotice:PoolSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:POOLSDK_NO_ERROR description:@"initSuccess" extendData:nil]; 43 [[PoolChecker getInstance] sendNotice:PoolSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:POOLSDK_NO_ERROR description:@"initSuccess" extendData:nil];
40 44
41 - NSString* channelId = [[PoolConfig getInstance] getValueByKey:@"gamechannelid"]; 45 +
42 - if(channelId == nil || [channelId length] <= 0){ 46 + NSString* channelId = [[PoolConfig getInstance] getValueByKey:@"sdkSimpleName"];
43 - channelId = @"unknown"; 47 + [ReYunChannel initWithappKey:[[PoolConfig getInstance] getValueByKey:@"renyunAppKey"] withChannelId:channelId];
44 - } 48 +
45 - [TrackingIO initWithappKey:[[PoolConfig getInstance] getValueByKey:@"renyunAppKey"] withChannelId:channelId]; 49 + NSString* dateEyeAppId = [[PoolConfig getInstance] getValueByKey:@"dateEyeAppId"];
50 +
51 + [DCTrackingAgent initWithAppId:dateEyeAppId andChannelId:channelId];
46 } 52 }
47 53
48 /** 54 /**
...@@ -50,11 +56,16 @@ int mExchange; ...@@ -50,11 +56,16 @@ int mExchange;
50 */ 56 */
51 - (void)SDKloginSDK 57 - (void)SDKloginSDK
52 { 58 {
59 + NSLog(@"no parames login");
60 + [self SDKloginSDK:self.controller];
61 +}
62 +
63 +- (void)SDKloginSDK:(UIViewController *)control
64 +{
53 NSLog(@"调用了LoginSDK"); 65 NSLog(@"调用了LoginSDK");
54 NSString *appId = [[PoolConfig getInstance] getValueByKey:@"APP_ID"]; 66 NSString *appId = [[PoolConfig getInstance] getValueByKey:@"APP_ID"];
55 NSString *appKey =[[PoolConfig getInstance] getValueByKey:@"APP_KEY"]; 67 NSString *appKey =[[PoolConfig getInstance] getValueByKey:@"APP_KEY"];
56 - [[YouaiSDKMgr getInstance]openLogin:appId :appKey :self.controller]; 68 + [[YouaiSDKMgr getInstance]openLogin:appId :appKey :control];
57 -
58 } 69 }
59 70
60 /** 71 /**
...@@ -67,11 +78,7 @@ int mExchange; ...@@ -67,11 +78,7 @@ int mExchange;
67 loginInfo.openId = [[YouaiLoginInfo getInstance]openId]; 78 loginInfo.openId = [[YouaiLoginInfo getInstance]openId];
68 loginInfo.sign = [[YouaiLoginInfo getInstance] token]; 79 loginInfo.sign = [[YouaiLoginInfo getInstance] token];
69 loginInfo.timestamp = [YouaiLoginInfo getInstance].timestamp; 80 loginInfo.timestamp = [YouaiLoginInfo getInstance].timestamp;
70 -
71 - dispatch_async(dispatch_get_global_queue(0, 0), ^{
72 [[PoolChecker getInstance] startCheck:loginInfo]; 81 [[PoolChecker getInstance] startCheck:loginInfo];
73 - });
74 -
75 } 82 }
76 83
77 84
...@@ -146,13 +153,15 @@ int mExchange; ...@@ -146,13 +153,15 @@ int mExchange;
146 NSString* reportType = [reportInfo reportType]; 153 NSString* reportType = [reportInfo reportType];
147 if (reportInfo) { 154 if (reportInfo) {
148 if ([reportType isEqualToString:REPORT_ENTER]) { 155 if ([reportType isEqualToString:REPORT_ENTER]) {
149 - [TrackingIO setLoginWithAccountID:[reportInfo playerId]]; 156 + [ReYunChannel setLoginWithAccountID:[reportInfo playerId]];//reyun login
157 + [DCTrackingPoint login:[reportInfo playerId]];//dateeye login
150 158
151 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 159 dispatch_async(dispatch_get_global_queue(0, 0), ^{
152 [self handlerLeakOrder]; 160 [self handlerLeakOrder];
153 }); 161 });
154 - }else if ([reportType isEqualToString:REPORT_CREATEROLE]){ 162 + }else if([reportType isEqualToString:REPORT_CREATEROLE]){
155 - [TrackingIO setRegisterWithAccountID:[reportInfo playerId]]; 163 + [ReYunChannel setRegisterWithAccountID:[reportInfo playerId]];//reyun reg
164 + [DCTrackingPoint createAccount:[reportInfo playerId]];//reyun reg
156 } 165 }
157 } 166 }
158 } 167 }
...@@ -220,33 +229,28 @@ int mExchange; ...@@ -220,33 +229,28 @@ int mExchange;
220 NSNumber *amount = @([[payInfo postAmount] integerValue] * mExchange); 229 NSNumber *amount = @([[payInfo postAmount] integerValue] * mExchange);
221 NSString *serverId = [payInfo serverId]; 230 NSString *serverId = [payInfo serverId];
222 NSString *roleName = [payInfo playerName]; 231 NSString *roleName = [payInfo playerName];
223 - NSString *queryId = [payInfo queryId];
224 232
225 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 233 dispatch_async(dispatch_get_global_queue(0, 0), ^{
226 [self handlerLeakOrder]; 234 [self handlerLeakOrder];
227 }); 235 });
228 236
229 - NSString *isOpenThirdPay = [payInfo isOpenThirdPay]; 237 + //NSString *isOpenThirdPay = [payInfo isOpenThirdPay];
230 - NSLog(@"custom%@",[payInfo custom]); 238 +
231 - if([isOpenThirdPay isEqualToString:@"false"]){ 239 + NSString *other = [payInfo other];
232 - NSString* products = [payInfo products]; 240 +
233 - //NSLog(@"products:%@",products); 241 + if (other && [other length] > 0) {
234 - [[YouaiSDKMgr getInstance] openApplePay:self.controller products:products amount:[payInfo postAmount] queryId:queryId];
235 - }else{
236 [[YouaiSDKMgr getInstance] openPay:serverId :roleName :amount :[payInfo queryId] :self.controller]; 242 [[YouaiSDKMgr getInstance] openPay:serverId :roleName :amount :[payInfo queryId] :self.controller];
243 + }else{
244 + NSString* products = [payInfo products];
245 + [[YouaiSDKMgr getInstance] openApplePay:self.controller products:products amount:[payInfo postAmount] productName:[payInfo productName] queryId:[payInfo queryId]];
237 } 246 }
238 -
239 - int64_t delayInSeconds = 5.0; // 延迟的时间
240 - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
241 - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
242 - NSLog(@"chage state");
243 - [[PoolChecker getInstance] setOnlyOneTimePay:false];
244 - });
245 } 247 }
246 248
249 +
247 -(void)paymentSuccess:(NSString *)accountId orderId:(NSString *)orderId currencyAmount:(double)amount currencyType:(NSString *)currencyType payType:(NSString *)payType custom:(NSArray *)customArray 250 -(void)paymentSuccess:(NSString *)accountId orderId:(NSString *)orderId currencyAmount:(double)amount currencyType:(NSString *)currencyType payType:(NSString *)payType custom:(NSArray *)customArray
248 { 251 {
249 - [TrackingIO setPayment:orderId paymentType:payType currentType:currencyType currencyAmount:amount]; 252 + [DCTrackingPoint paymentSuccess:orderId currencyAmount:amount currencyType:currencyType paymentType:payType];
253 + [ReYunChannel setPayment:orderId paymentType:payType currentType:currencyType currencyAmount:amount];
250 } 254 }
251 255
252 @end 256 @end
...\ No newline at end of file ...\ No newline at end of file
......
1 -{"renyunAppKey": "1", "payorderurl": "https://public.sdk.gzyouai.com/paycheck/create", "usertype": 150, "sdkSimpleName": "apple_youyu", "gamechannelid": "", "APP_KEY": "b06b86b79c25774ec758657a7203bae6", "custom": "{}", "sdkVersionCode": "V1_0", "loginCheckUrl": "https://public.sdk.gzyouai.com/logincheck/check", "appScheme": "com.qyj.ios.xw", "c2": "", "c1": "", "APP_ID": "58fd78a9834e7246b8dc0eac", "paycheckurl": "https://public.sdk.gzyouai.com/paycheck/confirm", "gameSimpleName": "fytx_test"}
...\ No newline at end of file ...\ No newline at end of file
1 +{"renyunAppKey": "d4f6d8e337472e5277634bcdb1ef6cf6", "dateEyeAppId": "", "payorderurl": "https://public.sdk.gzyouai.com/paycheck/create", "usertype": 139, "sdkSimpleName": "apple_xingwan", "gamechannelid": "", "APP_KEY": "f0455d5b7f2e982144b2ac8bc642e453", "custom": "{}", "sdkVersionCode": "V1_0", "loginCheckUrl": "https://public.sdk.gzyouai.com/logincheck/check", "appScheme": "com.ssmyj.ios.xw", "c2": "", "c1": "", "APP_ID": "5936756454c21d629d0c2755", "paycheckurl": "https://public.sdk.gzyouai.com/paycheck/confirm", "gameSimpleName": "qyj4"}
...\ No newline at end of file ...\ No newline at end of file
......
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 +<plist version="1.0">
4 +<dict>
5 + <key>CFBundleDevelopmentRegion</key>
6 + <string>en</string>
7 + <key>CFBundleExecutable</key>
8 + <string>$(EXECUTABLE_NAME)</string>
9 + <key>CFBundleIdentifier</key>
10 + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
11 + <key>CFBundleInfoDictionaryVersion</key>
12 + <string>6.0</string>
13 + <key>CFBundleName</key>
14 + <string>$(PRODUCT_NAME)</string>
15 + <key>CFBundlePackageType</key>
16 + <string>APPL</string>
17 + <key>CFBundleShortVersionString</key>
18 + <string>1.0</string>
19 + <key>CFBundleSignature</key>
20 + <string>????</string>
21 + <key>CFBundleURLTypes</key>
22 + <array>
23 + <dict>
24 + <key>CFBundleTypeRole</key>
25 + <string>Editor</string>
26 + <key>CFBundleURLSchemes</key>
27 + <array>
28 + <string>i9133public</string>
29 + </array>
30 + </dict>
31 + <dict>
32 + <key>CFBundleTypeRole</key>
33 + <string>Editor</string>
34 + <key>CFBundleURLSchemes</key>
35 + <array>
36 + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
37 + </array>
38 + </dict>
39 + </array>
40 + <key>CFBundleVersion</key>
41 + <string>1</string>
42 + <key>LSRequiresIPhoneOS</key>
43 + <true/>
44 + <key>NSAppTransportSecurity</key>
45 + <dict>
46 + <key>NSAllowsArbitraryLoads</key>
47 + <true/>
48 + <key>public.sdk.gzyouai.com</key>
49 + <dict>
50 + <key>NSExceptionMinimumTLSVersion</key>
51 + <string>TLSv1.0</string>
52 + </dict>
53 + <key>sdk.shxingwan.com</key>
54 + <dict>
55 + <key>NSExceptionMinimumTLSVersion</key>
56 + <string>TLSv1.0</string>
57 + </dict>
58 + <key>statistic.public.sdk.gzyouai.com</key>
59 + <dict>
60 + <key>NSExceptionMinimumTLSVersion</key>
61 + <string>TLSv1.0</string>
62 + </dict>
63 + </dict>
64 + <key>UILaunchStoryboardName</key>
65 + <string>LaunchScreen</string>
66 + <key>UIMainStoryboardFile</key>
67 + <string>Main</string>
68 + <key>UIRequiredDeviceCapabilities</key>
69 + <array>
70 + <string>armv7</string>
71 + </array>
72 + <key>UISupportedInterfaceOrientations</key>
73 + <array>
74 + <string>UIInterfaceOrientationLandscapeLeft</string>
75 + <string>UIInterfaceOrientationLandscapeRight</string>
76 + </array>
77 +</dict>
78 +</plist>
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 +<plist version="1.0">
4 +<dict>
5 + <key>CFBundleURLTypes</key>
6 + <array>
7 + <dict>
8 + <key>CFBundleTypeRole</key>
9 + <string>Editor</string>
10 + <key>CFBundleURLSchemes</key>
11 + <array>
12 + <string>i9133public</string>
13 + </array>
14 + </dict>
15 + <dict>
16 + <key>CFBundleTypeRole</key>
17 + <string>Editor</string>
18 + <key>CFBundleURLSchemes</key>
19 + <array>
20 + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
21 + </array>
22 + </dict>
23 + </array>
24 + <key>NSAppTransportSecurity</key>
25 + <dict>
26 + <key>NSAllowsArbitraryLoads</key>
27 + <true/>
28 + <key>public.sdk.gzyouai.com</key>
29 + <dict>
30 + <key>NSExceptionMinimumTLSVersion</key>
31 + <string>TLSv1.0</string>
32 + </dict>
33 + <key>sdk.shxingwan.com</key>
34 + <dict>
35 + <key>NSExceptionMinimumTLSVersion</key>
36 + <string>TLSv1.0</string>
37 + </dict>
38 + <key>statistic.public.sdk.gzyouai.com</key>
39 + <dict>
40 + <key>NSExceptionMinimumTLSVersion</key>
41 + <string>TLSv1.0</string>
42 + </dict>
43 + </dict>
44 +</dict>
45 +</plist>
...\ No newline at end of file ...\ No newline at end of file
1 +//
2 +// DCSdk.h
3 +// DCSdk
4 +//
5 +// Created by xqwang on 13-7-8.
6 +// Copyright (c) 2013年 digitcube. All rights reserved.
7 +//
8 +
9 +#import <Foundation/Foundation.h>
10 +
11 +//这里提供静态方法
12 +@interface DCTrackingAgent : NSObject
13 +
14 +/**
15 + * @brief 初始化接口,程序启动时调用
16 + *
17 + * 一般在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions内调用一次即可
18 + * !!!一定要调用,否则后面无法上报,只能调用一次
19 + * @param appId 在我们网站上创建游戏时分配的appId,用于标识这款游戏. 注意保密!
20 + * @param channelId 渠道id , 方便统计分析你在各渠道的推广效果
21 + */
22 ++ (void)initWithAppId:(NSString *)appId andChannelId:(NSString*)channelId;
23 +
24 +
25 +/**
26 + * @brief 设置数据上报间隔时间,该接口需要在onStart接口之前调用,否则无效。如果不调用该接口,SDK默认以1分钟的间隔上报数据
27 + *
28 + **/
29 ++(void)setUploadInterval:(unsigned int)time;
30 +
31 +
32 +/**
33 + * @brief 设置应用版本号,不调用该接口时SDK默认从配置文件中读取应用版本号
34 + *
35 + * @param version:应用版本号
36 + */
37 ++(void)setVersion:(NSString*)version;
38 +
39 +/**
40 + * @brief 立即上报数据
41 + **/
42 ++(void)uploadNow;
43 +
44 +/**
45 + * @brief 获取设备ID
46 + **/
47 ++(NSString*)getUID;
48 +
49 +@end
50 +
51 +
52 +@interface DCTrackingPoint : NSObject
53 +
54 +/**
55 + @brief 广告效果追踪设置有效的效果点
56 + @param pointId 广告效果点
57 + @param propDictionary 触发时希望传入的属性字典
58 + **/
59 ++(void)setEffectPoint:(NSString*)pointId propDictionary:(NSDictionary*)dictionary;
60 +
61 +/**
62 + @brief 玩家登陆事件
63 + @param accountId 玩家账户ID
64 + **/
65 ++(void)login:(NSString*)accountId;
66 +
67 +
68 +/**
69 + @brief 玩家注册事件
70 + @param accountId 玩家账户ID
71 + **/
72 ++(void)createAccount:(NSString*)accountId;
73 +
74 +/**
75 + @brief 玩家付费事件
76 + @param orderId 订单ID
77 + @param currencyAmount 付费总额
78 + @param currencyType 货币类型
79 + @param paymentType 支付途径
80 + **/
81 ++(void)paymentSuccess:(NSString*)orderId currencyAmount:(double)currencyAmount currencyType:(NSString*)currencyType paymentType:(NSString*)paymentType;
82 +
83 +@end
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
5 // Created by yun on 16/1/11. 5 // Created by yun on 16/1/11.
6 // Copyright © 2016年 yun. All rights reserved. 6 // Copyright © 2016年 yun. All rights reserved.
7 // 7 //
8 -#define TRACK_VERSION @"1.0.1" 8 +#define TRACK_VERSION @"3.0.1"
9 9
10 #import <Foundation/Foundation.h> 10 #import <Foundation/Foundation.h>
11 #import <UIKit/UIKit.h> 11 #import <UIKit/UIKit.h>
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
15 热云移动广告效果监测 平台 api 请选择对应的api进行使用 15 热云移动广告效果监测 平台 api 请选择对应的api进行使用
16 */ 16 */
17 NS_ASSUME_NONNULL_BEGIN 17 NS_ASSUME_NONNULL_BEGIN
18 -@interface TrackingIO : NSObject 18 +@interface ReYunChannel : NSObject
19 //开启打印日志 正式上线包请关掉 19 //开启打印日志 正式上线包请关掉
20 +(void) setPrintLog :(BOOL)print; 20 +(void) setPrintLog :(BOOL)print;
21 // 开启数据统计 21 // 开启数据统计
...@@ -29,10 +29,10 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -29,10 +29,10 @@ NS_ASSUME_NONNULL_BEGIN
29 // 支付完成,付费分析,记录玩家充值的金额(人民币单位是元) 29 // 支付完成,付费分析,记录玩家充值的金额(人民币单位是元)
30 +(void)setPayment:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount; 30 +(void)setPayment:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
31 //自定义事件 31 //自定义事件
32 -+(void)setEvent:(NSString *)eventName andExtra:(nullable NSDictionary *)extra; 32 ++(void)setEvent:(NSString *)eventName;
33 -//标准接口
34 -+(void)setProfile:(NSDictionary *)dataDic;
35 //获取设备信息 33 //获取设备信息
36 +(NSString*)getDeviceId; 34 +(NSString*)getDeviceId;
35 +
36 ++(BOOL)RYApplication:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options;
37 @end 37 @end
38 NS_ASSUME_NONNULL_END 38 NS_ASSUME_NONNULL_END
...\ No newline at end of file ...\ No newline at end of file
......
1 +
2 +//
3 +// PPInterface.h
4 +// PoolSdk
5 +//
6 +// Created by winFan on 11/23/15.
7 +// Copyright (c) 2015 winFan. All rights reserved.
8 +//
9 +
10 +#import <PoolSdk/PoolSdk2.h>
11 +@interface SDKInterface : Interface
12 +
13 +
14 +@end
1 +//
2 +// UnionInterface.m
3 +// PoolSdk
4 +//
5 +// Created by winFan on 11/23/15.
6 +// Copyright (c) 2015 winFan. All rights reserved.
7 +//
8 +#include "SDKInterface.h"
9 +#import <UIKit/UIKit.h>
10 +
11 +#import "YouaiSDK/YouaiSDKMgr.h"
12 +#import "YouaiSDK/YouaiNotifications.h"
13 +#import "YouaiSDK/YouaiLoginInfo.h"
14 +
15 +//SDK
16 +
17 +
18 +@implementation SDKInterface : Interface
19 +
20 +
21 +int mExchange;
22 +
23 +
24 +/**
25 + 初始化SDK
26 +*/
27 +- (void)SDKinit:(UIViewController *) control
28 +{
29 + //必须继承
30 + [super SDKinit:control];
31 +
32 + [PoolConfig getInstance];
33 + [[YouaiSDKMgr getInstance]initSDK];
34 + [[YouaiSDKMgr getInstance]setStyleName:@"sdk"];
35 + [[YouaiSDKMgr getInstance]setServerUrl:@"https://sdk.shxingwan.com"];
36 + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:youaiLoginNotification object:nil];
37 + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applePayCallBack:) name:@"applePayCallBack" object:nil];
38 +
39 + [[PoolChecker getInstance] sendNotice:PoolSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:POOLSDK_NO_ERROR description:@"initSuccess" extendData:nil];
40 +}
41 +
42 +/**
43 + 登录SDK
44 + */
45 +- (void)SDKloginSDK
46 +{
47 + NSLog(@"no parames login");
48 + [self SDKloginSDK:self.controller];
49 +}
50 +
51 +- (void)SDKloginSDK:(UIViewController *)control
52 +{
53 + NSLog(@"调用了LoginSDK");
54 + NSString *appId = [[PoolConfig getInstance] getValueByKey:@"APP_ID"];
55 + NSString *appKey =[[PoolConfig getInstance] getValueByKey:@"APP_KEY"];
56 + [[YouaiSDKMgr getInstance]openLogin:appId :appKey :control];
57 +}
58 +
59 +
60 +
61 +/**
62 + loginCheck
63 + */
64 +- (void)receiveLoginMessage:(NSNotification *)notification
65 +{
66 + NSLog(@"loginchek");
67 + PoolLoginInfo *loginInfo = [PoolLoginInfo alloc];
68 + loginInfo.openId = [[YouaiLoginInfo getInstance]openId];
69 + loginInfo.sign = [[YouaiLoginInfo getInstance] token];
70 + loginInfo.timestamp = [YouaiLoginInfo getInstance].timestamp;
71 + dispatch_async(dispatch_get_global_queue(0, 0), ^{
72 + [[PoolChecker getInstance] startCheck:loginInfo];
73 + });
74 +}
75 +
76 +
77 +-(NSString*)DataTojsonString:(id)object
78 +{
79 + NSString *jsonString = nil;
80 + NSError *error;
81 + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:object
82 + options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string
83 + error:&error];
84 + jsonString = [jsonData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
85 + return jsonString;
86 +}
87 +
88 +/**
89 + 苹果支付结果回调
90 + */
91 +
92 +- (void)applePayCallBack:(NSNotification *)notification
93 +{
94 + NSDictionary* payResultDic = notification.object;
95 +
96 + NSString* receiptStr = [payResultDic objectForKey:@"payResult"];
97 + NSString* queryId = [payResultDic objectForKey:@"query_id"];
98 +
99 + NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
100 + NSString* result = [[NetCenter getInstance] httpPostSyn:[PoolUtils createPayUrl] :receiptDic];
101 +
102 +
103 + if([@"success" isEqualToString:result]){//确认订单成功
104 + }else{//失败
105 + NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
106 + NSMutableArray* queryIdArray = [userDefaults objectForKey:@"queryIds"];
107 +
108 + NSMutableArray* tempQueryIdArray = [[NSMutableArray alloc] initWithCapacity:10];
109 +
110 + if (queryIdArray) {
111 + }else{
112 + queryIdArray = [[NSMutableArray alloc]initWithCapacity:10];
113 + }
114 +
115 + for (NSString* arrayQueryId in queryIdArray) {
116 + [tempQueryIdArray addObject:arrayQueryId];
117 + }
118 +
119 + [tempQueryIdArray addObject:queryId];
120 + [userDefaults setObject:tempQueryIdArray forKey:@"queryIds"];
121 + [userDefaults setObject:receiptStr forKey:queryId];
122 + [userDefaults synchronize];
123 + }
124 +}
125 +
126 +/**
127 + 支付 创建订单
128 + */
129 +- (void)SDKpayWithPaymentInfo:(PoolCreateOrderInfo *)payInfo
130 +{
131 + mExchange = [payInfo exchange].intValue;
132 + [super SDKpayWithPaymentInfo:payInfo];
133 +}
134 +
135 +/**
136 + SDK
137 + */
138 +- (void)SDKgotoUserCenter
139 +{
140 +}
141 +
142 +- (void)SDKreport:(PoolReportInfo *)reportInfo
143 +{
144 + NSLog(@"reportInfo");
145 + NSString* reportType = [reportInfo reportType];
146 + if (reportInfo) {
147 + if ([reportType isEqualToString:REPORT_ENTER]) {
148 + dispatch_async(dispatch_get_global_queue(0, 0), ^{
149 + [self handlerLeakOrder];
150 + });
151 + }
152 + }
153 +}
154 +
155 +/**
156 + SDK
157 + */
158 +- (void)SDKexitSDK
159 +{
160 +
161 +}
162 +
163 +- (void)SDKlogoutSDK
164 +{
165 + NSLog(@"切换账号");
166 +}
167 +
168 +- (void)handleOpenurl:(NSURL *)url
169 +{
170 +}
171 +
172 +- (void)receivePayMessage : (NSNotification *)notification;
173 +{
174 + NSString *order_id = [notification object];
175 + NSLog(@"订单ID:%@", order_id);
176 +}
177 +
178 +//补单处理
179 +- (void) handlerLeakOrder{
180 + NSUserDefaults* userDefaults2 = [NSUserDefaults standardUserDefaults];
181 + NSMutableArray* queryIdArray = [userDefaults2 objectForKey:@"queryIds"];
182 +
183 + NSLog(@"orderDic%@",queryIdArray);
184 + NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
185 + NSMutableArray* failQueryIdArray = [[NSMutableArray alloc]initWithCapacity:10];//补单失败的queryid集合
186 +
187 + if(queryIdArray){
188 + for (NSString* queryId in queryIdArray) {
189 + NSString* receiptStr = [userDefaults valueForKey:queryId];
190 + NSDictionary* receiptDic = [NSDictionary dictionaryWithObjectsAndKeys:receiptStr,@"receipt",queryId,@"query_id", nil];
191 + NSString* result = [[NetCenter getInstance] httpPostSyn:[PoolUtils createPayUrl] :receiptDic];
192 + if([@"success" isEqualToString:result]){//成功
193 + [userDefaults removeObjectForKey:queryId];
194 + }else{//补单失败
195 + [failQueryIdArray addObject:queryId];
196 + }
197 + }
198 +
199 + NSLog(@"order count:%lu",(unsigned long)[failQueryIdArray count]);
200 + if([failQueryIdArray count] > 0){//含有补单失败项
201 + [userDefaults setObject:failQueryIdArray forKey:@"queryIds"];
202 + }else{//全部补单成功
203 + [userDefaults removeObjectForKey:@"queryIds"];
204 + }
205 + [userDefaults synchronize];
206 + }
207 +}
208 +
209 +
210 +- (void)receiveCreateOrder:(NSNotification *)notification
211 +{
212 + NSLog(@"创建订单成功");
213 + PoolPayInfo *payInfo = [notification object];
214 + NSString *queryId = [payInfo queryId];
215 +
216 + dispatch_async(dispatch_get_global_queue(0, 0), ^{
217 + [self handlerLeakOrder];
218 + });
219 +
220 + NSString* products = [payInfo products];
221 + [[YouaiSDKMgr getInstance]openApplePay:self.controller products:products amount:[payInfo postAmount] productName:[payInfo productName] queryId:queryId];
222 +
223 +
224 + int64_t delayInSeconds = 5.0; // 延迟的时间
225 + dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
226 + dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
227 + NSLog(@"chage state");
228 + [[PoolChecker getInstance] setOnlyOneTimePay:false];
229 + });
230 +}
231 +@end
...\ No newline at end of file ...\ No newline at end of file
1 +//
2 +// IapController.h
3 +// mangosanguo
4 +//
5 +// Created by Gino on 12-11-6.
6 +// Copyright (c) 2012年 private. All rights reserved.
7 +//
8 +#if applepay
9 +#import <Foundation/Foundation.h>
10 +#import "StoreKit/StoreKit.h"
11 +
12 +@interface IapController : NSObject<SKProductsRequestDelegate,SKPaymentTransactionObserver>
13 +{
14 + bool isRequestedBuy;
15 + SKPaymentTransaction *PayTransaction;
16 +
17 + NSMutableArray *payArray;
18 + SKPaymentTransaction *curTransaction;
19 +}
20 +
21 ++ (IapController *)sharedController;
22 +- (id)init;
23 +- (void)removeIt;
24 +- (void)requestProductData;
25 +- (void)requestBuyProduct:(NSString *)identifier;
26 +
27 +- (void)requestProductInfoById:(NSString *)str;
28 +- (void)comfireTransactions:(bool)isSuessPosted;
29 +- (void)checkReceiptIsFail;
30 +
31 +- (void)addItemToPayArray:(SKPaymentTransaction *)transaction;
32 +- (bool)checkPayArrayIsEmpty;
33 +- (void)checkReceiptForArray;
34 +
35 +- (void)setAppleCallBack: (NSString*)url;
36 +@end
37 +#endif
...\ No newline at end of file ...\ No newline at end of file
1 +//
2 +// GetWifiMac.h
3 +// mangosanguo
4 +//
5 +// Created by 莫 on 12-9-28.
6 +// Copyright (c) 2012年 private. All rights reserved.
7 +//
8 +
9 +#import <UIKit/UIKit.h>
10 +
11 +@interface YouaiGetWifiMac : NSObject
12 +
13 ++ (NSString *)macaddress;
14 +@end
1 +//
2 +// YouaiLoginInfo.h
3 +// YouaiSDK
4 +//
5 +// Created by 莫 东荣 on 13-4-10.
6 +// Copyright (c) 2013年 莫 东荣. All rights reserved.
7 +//
8 +
9 +#import <Foundation/Foundation.h>
10 +
11 +@interface YouaiLoginInfo : NSObject //用户uid
12 +{
13 +//
14 +NSString *openId;
15 +//token
16 +NSString *token;
17 +//时间戳
18 +NSString *timestamp;
19 +
20 +}
21 +
22 +@property(retain,nonatomic) NSString *openId;
23 +@property(retain,nonatomic) NSString *token;
24 +@property(retain,nonatomic) NSString *timestamp;
25 ++ (YouaiLoginInfo *)getInstance;
26 +@end
...\ No newline at end of file ...\ No newline at end of file
1 +//
2 +// YouaiNotifications.h
3 +// YouaiSDK
4 +//
5 +// Created by 莫 东荣 on 13-4-10.
6 +// Copyright (c) 2013年 莫 东荣. All rights reserved.
7 +//
8 +
9 +#import <Foundation/Foundation.h>
10 +
11 +extern NSString * const youaiExitNotification; /**< 退出 */
12 +extern NSString * const youaiLoginNotification; /**< 登录完成的通知*/
13 +extern NSString * const youaiPaytNotification; /**< 支付通知 */
14 +extern NSString * const youaiShareNotification; /**< 分享通知 */
15 +extern NSString * const youaiCenterNotification; /**< 用户中心通知 */
16 +extern NSString * const youaiErrorNotification; /**< 出错 */
17 +
18 +
19 +@interface YouaiNotifications : NSObject
20 +
21 +@end
1 +//
2 +// YouaiSDKMgr.h
3 +// YouaiSDK
4 +//
5 +// Created by 莫 东荣 on 13-4-9.
6 +// Copyright (c) 2013年 莫 东荣. All rights reserved.
7 +//
8 +
9 +#import <UIKit/UIKit.h>
10 +#import "StoreKit/StoreKit.h"
11 +
12 +@interface YouaiSDKMgr : NSObject
13 +{
14 + NSString* appId_;
15 + NSString* appKey_;
16 +
17 + NSString* inviterCode_;
18 +
19 +// NSString* openId;
20 +// NSString* loginKey;
21 +}
22 +
23 +@property bool isApplePaying;
24 +
25 ++ (YouaiSDKMgr *)getInstance;
26 +- (void)initSDK;
27 +- (void)initSDK:(NSString *)weixinId;
28 +- (void)setServerUrl:(NSString *)serverUrl;
29 +
30 +- (void)openLogin:(NSString *)appId : (NSString *)appKey : (UIViewController *)controller;
31 +- (void)openLogin:(NSString *)appId : (NSString *)appKey : (UIViewController *)controller : (NSString *) inviterCode;
32 +- (void)openLogin:(NSString *)appId : (NSString *)appKey : (UIViewController *)controller : (NSString *) inviterCode : (NSString *)userName : (NSString *)passWord;
33 +- (void)setStyleName:(NSString*)styleName;
34 +- (void)openLogin:(NSString *)appId : (NSString *)appKey : (UIViewController *)controller : (NSString *)userName : (NSString *)passWord;
35 +
36 +- (void)openCenter: (UIViewController *)controller;
37 +- (void)openPay: (NSString *)serverId : (NSString *)nickName : (NSString *)callBack : (UIViewController *)controller;
38 +- (void)openPay: (NSString *)serverId : (NSString *)nickName : (NSNumber *)payAmount : (NSString *)callBack : (UIViewController *)controller;
39 +- (void)openShare: (UIViewController *)controller;
40 +
41 +- (void)openApplePay:(UIViewController*)controll products:(NSString*)products amount:(NSString*)amount productName:(NSString*)productName queryId:(NSString*) queryId;
42 +
43 +- (void)applePayCallBack:(NSString *)url :(SKPaymentTransaction *)transaction :(NSString *)resultStr;
44 +
45 +
46 +
47 +@end
1 +//
2 +// YouaiViewController.h
3 +// newYouaiSDK
4 +//
5 +// Created by Mog90 on 14-9-28.
6 +// Copyright (c) 2014年 东荣 莫. All rights reserved.
7 +//
8 +
9 +#import <UIKit/UIKit.h>
10 +#import "YouaiLoginInfo.h"
11 +
12 +@interface YouaiViewController : UIViewController<UIWebViewDelegate,UIAlertViewDelegate>
13 +{
14 + UIWebView *webView_;
15 + UIActivityIndicatorView *activityIndicator;
16 +}
17 +
18 +
19 +//@property(assign) int webViewWidth;
20 +//@property(assign) int webViewHeight;
21 +//@property(assign) int screenwidth;
22 +//@property(assign) int screenHeight;
23 +
24 +@property(assign) BOOL hasCorner;
25 +
26 +-(void)setView:(int)webViewWidth :(int) webViewHeight :(int) screenwidth :(int) screenHeight;
27 +- (void)initWebView;
28 +- (void)loadWebPageWithString:(NSString *)url;
29 +- (void)loadWebPageWithJs:(NSString *)content;
30 +- (void)postNotification:(NSString *)name : (NSString *)code;
31 +- (void)receiveIap:(NSNotification *)notification;
32 +
33 +@end
1 +{"renyunAppKey": "d4f6d8e337472e5277634bcdb1ef6cf6", "dateEyeAppId": "", "payorderurl": "http://183.57.76.181:9020/paycheck/create", "usertype": 139, "sdkSimpleName": "apple_xingwan", "gamechannelid": "", "APP_KEY": "f0455d5b7f2e982144b2ac8bc642e453", "custom": "{}", "sdkVersionCode": "V1_0", "loginCheckUrl": "http://183.57.76.181:9010/logincheck/check", "appScheme": "com.ssmyj.ios.xw", "c2": "", "c1": "", "APP_ID": "5936756454c21d629d0c2755", "paycheckurl": "http://183.57.76.181:9020/paycheck/confirm", "gameSimpleName": "fytx_test"}
...\ No newline at end of file ...\ No newline at end of file
1 +import shutil
2 +import os
3 +import plistlib
4 +
5 +import config
6 +import json
7 +import packageProj
8 +
9 +from mod_pbxproj import XcodeProject
10 +
11 +
12 +gameProjName = config.gameProjName
13 +channelName = "xingwan_login"
14 +#copy dir xcodeproj
15 +copyNewDirName = gameProjName + '_' + channelName + '.xcodeproj'
16 +currentPath = os.path.abspath('.')
17 +currentPath += '/' + copyNewDirName
18 +
19 +
20 +if os.path.exists(currentPath):
21 + shutil.rmtree(currentPath)
22 +
23 +shutil.copytree(gameProjName + '.xcodeproj',currentPath)
24 +
25 +project = XcodeProject.Load(copyNewDirName + '/project.pbxproj')
26 +
27 +project.add_other_ldflags('-ObjC')
28 +#frameworks = project.add_folder('poolsdk_file/poolsdk_itools')
29 +#print(frameworks);
30 +#add search path
31 +
32 +channelRootPath = config.channelRootPath#'poolsdk_file'
33 +
34 +frameworksPath = '$(PROJECT_DIR)/' + channelRootPath + '/poolsdk_' + channelName + '/SDK'
35 +print(frameworksPath);
36 +#add header search path
37 +project.add_header_search_paths(frameworksPath, recursive=False)
38 +#add framework search path
39 +project.add_framework_search_paths(frameworksPath, recursive=False)
40 +#add library search path
41 +project.add_library_search_paths(frameworksPath, recursive=False)
42 +
43 +#add poolsdk_xy dir all file into project
44 +project.remove_group_by_name('poolsdk')
45 +frameworkRelativePath = project.add_folder(channelRootPath + '/poolsdk_' + channelName + '/SDK')
46 +
47 +project.add_file_if_doesnt_exist('pool_setting',parent=frameworkRelativePath, weak=True,ignore_unknown_type=True)
48 +
49 +
50 +systemFrameworks = project.get_or_create_group('Frameworks')
51 +#add system framework
52 +project.add_file_if_doesnt_exist('System/Library/Frameworks/Security.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
53 +project.add_file_if_doesnt_exist('System/Library/Frameworks/StoreKit.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
54 +project.add_file_if_doesnt_exist('System/Library/Frameworks/Foundation.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
55 +project.add_file_if_doesnt_exist('System/Library/Frameworks/QuartzCore.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
56 +project.add_file_if_doesnt_exist('System/Library/Frameworks/CoreText.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
57 +project.add_file_if_doesnt_exist('System/Library/Frameworks/CoreGraphics.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
58 +project.add_file_if_doesnt_exist('System/Library/Frameworks/UIKit.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
59 +project.add_file_if_doesnt_exist('System/Library/Frameworks/CoreMotion.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
60 +project.add_file_if_doesnt_exist('System/Library/Frameworks/CFNetwork.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
61 +project.add_file_if_doesnt_exist('System/Library/Frameworks/CoreLocation.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
62 +project.add_file_if_doesnt_exist('System/Library/Frameworks/CoreTelephony.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
63 +project.add_file_if_doesnt_exist('System/Library/Frameworks/SystemConfiguration.framework',parent=systemFrameworks, weak=True, tree='SDKROOT')
64 +
65 +
66 +
67 +#add system dylib
68 +systemLibs = project.get_or_create_group('Libraries')
69 +project.add_file_if_doesnt_exist('/usr/lib/libsqlite3.dylib',parent=systemLibs, weak=True, tree='<absolute>')#absolute path
70 +project.add_file_if_doesnt_exist('/usr/lib/libz.1.dylib',parent=systemLibs, weak=True, tree='<absolute>')
71 +project.add_file_if_doesnt_exist('/usr/lib/libc++.1.dylib',parent=systemLibs, weak=True, tree='<absolute>')
72 +
73 +
74 +#modify info.plist reference path
75 +project.add_single_valued_flag('INFOPLIST_FILE',channelRootPath + '/poolsdk_' + channelName + '/Info.plist')
76 +
77 +project.add_single_valued_flag('ENABLE_BITCODE', 'NO')
78 +
79 +readInfoPlistFilePath = channelRootPath + '/poolsdk/Info.plist'
80 +writeInfoFilePath = channelRootPath + '/poolsdk_' + channelName + '/Info.plist'
81 +infoContent = plistlib.readPlist(readInfoPlistFilePath)
82 +
83 +xyInfoPath = channelRootPath + '/poolsdk_' + channelName + '/Info_' + channelName + '.plist'
84 +xyInfoContent = plistlib.readPlist(xyInfoPath)
85 +
86 +#read pool_setting file
87 +settingFile = open(channelRootPath + '/poolsdk_' + channelName + '/SDK/pool_setting','rw')
88 +try:
89 + settingFileContent = settingFile.read( )
90 +finally:
91 + settingFile.close( )
92 +#json op
93 +jsonStr = json.loads(settingFileContent)
94 +
95 +#modify bundle id
96 +project.add_single_valued_flag('PRODUCT_BUNDLE_IDENTIFIER',jsonStr["appScheme"])
97 +
98 +#update and add info.plist content
99 +infoContent.update(xyInfoContent)
100 +#write
101 +plistlib.writePlist(infoContent,writeInfoFilePath)
102 +
103 +project.save()
104 +
105 +
106 +packageProj.buildProjName = gameProjName + '_' + channelName
107 +packageProj.targetName = gameProjName
108 +packageProj.buildProj()
1 +//
2 +// DCSdk.h
3 +// DCSdk
4 +//
5 +// Created by xqwang on 13-7-8.
6 +// Copyright (c) 2013年 digitcube. All rights reserved.
7 +//
8 +
9 +#import <Foundation/Foundation.h>
10 +
11 +//这里提供静态方法
12 +@interface DCTrackingAgent : NSObject
13 +
14 +/**
15 + * @brief 初始化接口,程序启动时调用
16 + *
17 + * 一般在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions内调用一次即可
18 + * !!!一定要调用,否则后面无法上报,只能调用一次
19 + * @param appId 在我们网站上创建游戏时分配的appId,用于标识这款游戏. 注意保密!
20 + * @param channelId 渠道id , 方便统计分析你在各渠道的推广效果
21 + */
22 ++ (void)initWithAppId:(NSString *)appId andChannelId:(NSString*)channelId;
23 +
24 +
25 +/**
26 + * @brief 设置数据上报间隔时间,该接口需要在onStart接口之前调用,否则无效。如果不调用该接口,SDK默认以1分钟的间隔上报数据
27 + *
28 + **/
29 ++(void)setUploadInterval:(unsigned int)time;
30 +
31 +
32 +/**
33 + * @brief 设置应用版本号,不调用该接口时SDK默认从配置文件中读取应用版本号
34 + *
35 + * @param version:应用版本号
36 + */
37 ++(void)setVersion:(NSString*)version;
38 +
39 +/**
40 + * @brief 立即上报数据
41 + **/
42 ++(void)uploadNow;
43 +
44 +/**
45 + * @brief 获取设备ID
46 + **/
47 ++(NSString*)getUID;
48 +
49 +@end
50 +
51 +
52 +@interface DCTrackingPoint : NSObject
53 +
54 +/**
55 + @brief 广告效果追踪设置有效的效果点
56 + @param pointId 广告效果点
57 + @param propDictionary 触发时希望传入的属性字典
58 + **/
59 ++(void)setEffectPoint:(NSString*)pointId propDictionary:(NSDictionary*)dictionary;
60 +
61 +/**
62 + @brief 玩家登陆事件
63 + @param accountId 玩家账户ID
64 + **/
65 ++(void)login:(NSString*)accountId;
66 +
67 +
68 +/**
69 + @brief 玩家注册事件
70 + @param accountId 玩家账户ID
71 + **/
72 ++(void)createAccount:(NSString*)accountId;
73 +
74 +/**
75 + @brief 玩家付费事件
76 + @param orderId 订单ID
77 + @param currencyAmount 付费总额
78 + @param currencyType 货币类型
79 + @param paymentType 支付途径
80 + **/
81 ++(void)paymentSuccess:(NSString*)orderId currencyAmount:(double)currencyAmount currencyType:(NSString*)currencyType paymentType:(NSString*)paymentType;
82 +
83 +@end
No preview for this file type
1 +//
2 +// NewTtack.h
3 +// NewTtack
4 +//
5 +// Created by yun on 16/1/11.
6 +// Copyright © 2016年 yun. All rights reserved.
7 +//
8 +#define TRACK_VERSION @"3.0.1"
9 +
10 +#import <Foundation/Foundation.h>
11 +#import <UIKit/UIKit.h>
12 +
13 +
14 +/*
15 + 热云移动广告效果监测 平台 api 请选择对应的api进行使用
16 + */
17 +NS_ASSUME_NONNULL_BEGIN
18 +@interface ReYunChannel : NSObject
19 +//开启打印日志 正式上线包请关掉
20 ++(void) setPrintLog :(BOOL)print;
21 +// 开启数据统计
22 ++ (void)initWithappKey:(NSString *)appKey withChannelId:(NSString *)channelId;
23 +//注册成功后调用
24 ++ (void)setRegisterWithAccountID:(NSString *)account;
25 +//登陆成功后调用
26 ++ (void)setLoginWithAccountID:(NSString *)account;
27 +//开始付费时 调用(人民币单位是元)
28 ++(void)setPaymentStart:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
29 +// 支付完成,付费分析,记录玩家充值的金额(人民币单位是元)
30 ++(void)setPayment:(NSString *)transactionId paymentType:(NSString*)paymentType currentType:(NSString*)currencyType currencyAmount:(float)currencyAmount;
31 +//自定义事件
32 ++(void)setEvent:(NSString *)eventName;
33 +//获取设备信息
34 ++(NSString*)getDeviceId;
35 +
36 ++(BOOL)RYApplication:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options;
37 +@end
38 +NS_ASSUME_NONNULL_END
...\ No newline at end of file ...\ No newline at end of file
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
11 #import "YouaiSDK/YouaiSDKMgr.h" 11 #import "YouaiSDK/YouaiSDKMgr.h"
12 #import "YouaiSDK/YouaiNotifications.h" 12 #import "YouaiSDK/YouaiNotifications.h"
13 #import "YouaiSDK/YouaiLoginInfo.h" 13 #import "YouaiSDK/YouaiLoginInfo.h"
14 -#import "TrackingIO.h" 14 +#import "ReYunTrack.h"
15 +#import "DCTrackingAgent.h"
15 16
16 //SDK 17 //SDK
17 18
...@@ -31,18 +32,23 @@ int mExchange; ...@@ -31,18 +32,23 @@ int mExchange;
31 [super SDKinit:control]; 32 [super SDKinit:control];
32 33
33 [PoolConfig getInstance]; 34 [PoolConfig getInstance];
35 +
34 [[YouaiSDKMgr getInstance]initSDK]; 36 [[YouaiSDKMgr getInstance]initSDK];
35 [[YouaiSDKMgr getInstance]setStyleName:@"sdk"]; 37 [[YouaiSDKMgr getInstance]setStyleName:@"sdk"];
38 + [[YouaiSDKMgr getInstance]setServerUrl:@"https://sdk.shxingwan.com"];
39 +
36 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:youaiLoginNotification object:nil]; 40 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLoginMessage:) name:youaiLoginNotification object:nil];
37 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applePayCallBack:) name:@"applePayCallBack" object:nil]; 41 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applePayCallBack:) name:@"applePayCallBack" object:nil];
38 42
39 [[PoolChecker getInstance] sendNotice:PoolSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:POOLSDK_NO_ERROR description:@"initSuccess" extendData:nil]; 43 [[PoolChecker getInstance] sendNotice:PoolSDKNotificationInitSDK notiName:@"InitSuccess" statusCode:POOLSDK_NO_ERROR description:@"initSuccess" extendData:nil];
40 44
41 - NSString* channelId = [[PoolConfig getInstance] getValueByKey:@"gamechannelid"]; 45 +
42 - if(channelId == nil || [channelId length] <= 0){ 46 + NSString* channelId = [[PoolConfig getInstance] getValueByKey:@"sdkSimpleName"];
43 - channelId = @"unknown"; 47 + [ReYunChannel initWithappKey:[[PoolConfig getInstance] getValueByKey:@"renyunAppKey"] withChannelId:channelId];
44 - } 48 +
45 - [TrackingIO initWithappKey:[[PoolConfig getInstance] getValueByKey:@"renyunAppKey"] withChannelId:channelId]; 49 + NSString* dateEyeAppId = [[PoolConfig getInstance] getValueByKey:@"dateEyeAppId"];
50 +
51 + [DCTrackingAgent initWithAppId:dateEyeAppId andChannelId:channelId];
46 } 52 }
47 53
48 /** 54 /**
...@@ -50,11 +56,16 @@ int mExchange; ...@@ -50,11 +56,16 @@ int mExchange;
50 */ 56 */
51 - (void)SDKloginSDK 57 - (void)SDKloginSDK
52 { 58 {
59 + NSLog(@"no parames login");
60 + [self SDKloginSDK:self.controller];
61 +}
62 +
63 +- (void)SDKloginSDK:(UIViewController *)control
64 +{
53 NSLog(@"调用了LoginSDK"); 65 NSLog(@"调用了LoginSDK");
54 NSString *appId = [[PoolConfig getInstance] getValueByKey:@"APP_ID"]; 66 NSString *appId = [[PoolConfig getInstance] getValueByKey:@"APP_ID"];
55 NSString *appKey =[[PoolConfig getInstance] getValueByKey:@"APP_KEY"]; 67 NSString *appKey =[[PoolConfig getInstance] getValueByKey:@"APP_KEY"];
56 - [[YouaiSDKMgr getInstance]openLogin:appId :appKey :self.controller]; 68 + [[YouaiSDKMgr getInstance]openLogin:appId :appKey :control];
57 -
58 } 69 }
59 70
60 /** 71 /**
...@@ -67,11 +78,7 @@ int mExchange; ...@@ -67,11 +78,7 @@ int mExchange;
67 loginInfo.openId = [[YouaiLoginInfo getInstance]openId]; 78 loginInfo.openId = [[YouaiLoginInfo getInstance]openId];
68 loginInfo.sign = [[YouaiLoginInfo getInstance] token]; 79 loginInfo.sign = [[YouaiLoginInfo getInstance] token];
69 loginInfo.timestamp = [YouaiLoginInfo getInstance].timestamp; 80 loginInfo.timestamp = [YouaiLoginInfo getInstance].timestamp;
70 -
71 - dispatch_async(dispatch_get_global_queue(0, 0), ^{
72 [[PoolChecker getInstance] startCheck:loginInfo]; 81 [[PoolChecker getInstance] startCheck:loginInfo];
73 - });
74 -
75 } 82 }
76 83
77 84
...@@ -146,13 +153,15 @@ int mExchange; ...@@ -146,13 +153,15 @@ int mExchange;
146 NSString* reportType = [reportInfo reportType]; 153 NSString* reportType = [reportInfo reportType];
147 if (reportInfo) { 154 if (reportInfo) {
148 if ([reportType isEqualToString:REPORT_ENTER]) { 155 if ([reportType isEqualToString:REPORT_ENTER]) {
149 - [TrackingIO setLoginWithAccountID:[reportInfo playerId]]; 156 + [ReYunChannel setLoginWithAccountID:[reportInfo playerId]];//reyun login
157 + [DCTrackingPoint login:[reportInfo playerId]];//dateeye login
150 158
151 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 159 dispatch_async(dispatch_get_global_queue(0, 0), ^{
152 [self handlerLeakOrder]; 160 [self handlerLeakOrder];
153 }); 161 });
154 - }else if ([reportType isEqualToString:REPORT_CREATEROLE]){ 162 + }else if([reportType isEqualToString:REPORT_CREATEROLE]){
155 - [TrackingIO setRegisterWithAccountID:[reportInfo playerId]]; 163 + [ReYunChannel setRegisterWithAccountID:[reportInfo playerId]];//reyun reg
164 + [DCTrackingPoint createAccount:[reportInfo playerId]];//reyun reg
156 } 165 }
157 } 166 }
158 } 167 }
...@@ -220,33 +229,28 @@ int mExchange; ...@@ -220,33 +229,28 @@ int mExchange;
220 NSNumber *amount = @([[payInfo postAmount] integerValue] * mExchange); 229 NSNumber *amount = @([[payInfo postAmount] integerValue] * mExchange);
221 NSString *serverId = [payInfo serverId]; 230 NSString *serverId = [payInfo serverId];
222 NSString *roleName = [payInfo playerName]; 231 NSString *roleName = [payInfo playerName];
223 - NSString *queryId = [payInfo queryId];
224 232
225 dispatch_async(dispatch_get_global_queue(0, 0), ^{ 233 dispatch_async(dispatch_get_global_queue(0, 0), ^{
226 [self handlerLeakOrder]; 234 [self handlerLeakOrder];
227 }); 235 });
228 236
229 - NSString *isOpenThirdPay = [payInfo isOpenThirdPay]; 237 + //NSString *isOpenThirdPay = [payInfo isOpenThirdPay];
230 - NSLog(@"custom%@",[payInfo custom]); 238 +
231 - if([isOpenThirdPay isEqualToString:@"false"]){ 239 + NSString *other = [payInfo other];
232 - NSString* products = [payInfo products]; 240 +
233 - //NSLog(@"products:%@",products); 241 + if (other && [other length] > 0) {
234 - [[YouaiSDKMgr getInstance] openApplePay:self.controller products:products amount:[payInfo postAmount] queryId:queryId];
235 - }else{
236 [[YouaiSDKMgr getInstance] openPay:serverId :roleName :amount :[payInfo queryId] :self.controller]; 242 [[YouaiSDKMgr getInstance] openPay:serverId :roleName :amount :[payInfo queryId] :self.controller];
243 + }else{
244 + NSString* products = [payInfo products];
245 + [[YouaiSDKMgr getInstance] openApplePay:self.controller products:products amount:[payInfo postAmount] productName:[payInfo productName] queryId:[payInfo queryId]];
237 } 246 }
238 -
239 - int64_t delayInSeconds = 5.0; // 延迟的时间
240 - dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
241 - dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
242 - NSLog(@"chage state");
243 - [[PoolChecker getInstance] setOnlyOneTimePay:false];
244 - });
245 } 247 }
246 248
249 +
247 -(void)paymentSuccess:(NSString *)accountId orderId:(NSString *)orderId currencyAmount:(double)amount currencyType:(NSString *)currencyType payType:(NSString *)payType custom:(NSArray *)customArray 250 -(void)paymentSuccess:(NSString *)accountId orderId:(NSString *)orderId currencyAmount:(double)amount currencyType:(NSString *)currencyType payType:(NSString *)payType custom:(NSArray *)customArray
248 { 251 {
249 - [TrackingIO setPayment:orderId paymentType:payType currentType:currencyType currencyAmount:amount]; 252 + [DCTrackingPoint paymentSuccess:orderId currencyAmount:amount currencyType:currencyType paymentType:payType];
253 + [ReYunChannel setPayment:orderId paymentType:payType currentType:currencyType currencyAmount:amount];
250 } 254 }
251 255
252 @end 256 @end
...\ No newline at end of file ...\ No newline at end of file
......
No preview for this file type
1 -{"renyunAppKey": "1", "payorderurl": "https://public.sdk.gzyouai.com/paycheck/create", "usertype": 150, "sdkSimpleName": "apple_youyu", "gamechannelid": "", "APP_KEY": "b06b86b79c25774ec758657a7203bae6", "custom": "{}", "sdkVersionCode": "V1_0", "loginCheckUrl": "https://public.sdk.gzyouai.com/logincheck/check", "appScheme": "com.qyj.ios.xw", "c2": "", "c1": "", "APP_ID": "58fd78a9834e7246b8dc0eac", "paycheckurl": "https://public.sdk.gzyouai.com/paycheck/confirm", "gameSimpleName": "fytx_test"}
...\ No newline at end of file ...\ No newline at end of file
1 +{"renyunAppKey": "d4f6d8e337472e5277634bcdb1ef6cf6", "dateEyeAppId": "", "payorderurl": "https://public.sdk.gzyouai.com/paycheck/create", "usertype": 139, "sdkSimpleName": "apple_xingwan", "gamechannelid": "", "APP_KEY": "f0455d5b7f2e982144b2ac8bc642e453", "custom": "{}", "sdkVersionCode": "V1_0", "loginCheckUrl": "https://public.sdk.gzyouai.com/logincheck/check", "appScheme": "com.ssmyj.ios.xw", "c2": "", "c1": "", "APP_ID": "5936756454c21d629d0c2755", "paycheckurl": "https://public.sdk.gzyouai.com/paycheck/confirm", "gameSimpleName": "qyj4"}
...\ No newline at end of file ...\ No newline at end of file
......