SDKBase.d.ts
3.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import { LaunchOptionType, LoginDataType, LoginDataTypeV2, SDKConfigType, SDKConfigTypeV2 } from "./SDKTypes";
import { DeepReadonly } from "simba-utils";
export declare let V2: boolean;
export declare let SDKConfig: Readonly<SDKConfigType> | Readonly<SDKConfigTypeV2>;
export declare let SDKConfigV2: Readonly<SDKConfigTypeV2>;
export declare function setConfig(config: Readonly<SDKConfigType>): void;
export declare function setConfigV2(config: Readonly<SDKConfigTypeV2>): void;
export declare abstract class SDKBase {
protected loginInfo?: LoginDataType | LoginDataTypeV2;
readonly systemInfo: {
deviceInfo: {
model: string;
brand: string;
platform: string;
system: string;
version: string;
SDKVersion: string;
};
displayInfo: {
windowSize: {
width: number;
height: number;
};
safeArea: {
left: number;
top: number;
right: number;
bottom: number;
};
};
};
init(): Promise<boolean>;
protected abstract _login(): Promise<{
code: string;
}>;
abstract getChannel(): string;
/**构建登录传给服务器的参数 */
buildLoginParam(param: any): any;
login(extraParams?: {
[key: string]: string;
}, timeout?: number): Promise<LoginDataType | LoginDataTypeV2>;
/**原生平台不能调用 getSDKRecord*/
timeManagerOnLogin(): Promise<void>;
/**下载存档 */
downloadRecord(): Promise<void>;
/**静默获取token */
refreshLocalServerToken(): Promise<void>;
getHttpHeaders(): {
IcesimbaToken: string;
IcesimbaSession: string;
"Content-Type": string;
};
isLoggedIn(): boolean;
getLoginInfo(): DeepReadonly<LoginDataType> | DeepReadonly<LoginDataTypeV2> | undefined;
uploadGameRecord(data: Object): void;
getGameRecord(): Object;
bi(category: string, id: string, gameBasicMetrics: {
user_register_version: string;
login_duration: number;
total_duration: number;
daily_duration: number;
[key: string]: any;
}, gameData: Object): Promise<string | ArrayBuffer>;
abstract getLaunchOptions(): LaunchOptionType;
abstract checkSession(): Promise<boolean>;
abstract exit(): void;
abstract showRewardedVideoAd(): Promise<{
result: "complete" | "cancel" | "fail";
}>;
abstract showInterstitialAd(): Promise<boolean>;
abstract showBannerAd(style: {
left: number;
top: number;
width: number;
height: number;
anchorX?: number;
anchorY?: number;
}, refreshInterval?: number): Promise<boolean>;
abstract hideBannerAd(): void;
abstract shareAppMessage(info: {
title?: string;
imageUrl?: string;
query?: string;
imageUrlId?: string;
}): Promise<boolean>;
abstract setClipboardData(data: string): Promise<void>;
abstract createGameClubButton(obj: {
type: 'text' | 'image';
text?: string;
image?: string;
style: {
left: number;
top: number;
width: number;
height: number;
backgroundColor?: string;
borderColor?: string;
borderWidth?: number;
borderRadius?: number;
textAlign?: 'left' | 'center' | 'right';
fontSize?: number;
lineHeight?: number;
};
icon: 'green' | 'white' | 'dark' | 'light';
}): boolean;
abstract hideGameClubButton(): void;
abstract showGameClubButton(): void;
abstract destroyGameClubButton(): void;
abstract openProgram(appId: string, extraData?: object): Promise<void>;
abstract openCustomerServiceConversation(param: {
sessionFrom?: string;
showMessageCard?: boolean;
sendMessageTitle?: string;
sendMessagePath?: string;
sendMessageImg?: string;
}): Promise<boolean>;
}