60 lines
1.3 KiB
TypeScript
60 lines
1.3 KiB
TypeScript
/**
|
|
* Game Iframe SDK - Message Sender
|
|
* Gửi message đến iframe
|
|
*/
|
|
import { PushDataPayload, LeaderboardData } from './types';
|
|
export interface MessageSenderConfig {
|
|
/**
|
|
* Target origin for postMessage
|
|
*/
|
|
targetOrigin: string;
|
|
/**
|
|
* Enable debug logging
|
|
*/
|
|
debug?: boolean;
|
|
}
|
|
export interface SendResult {
|
|
success: boolean;
|
|
error?: Error;
|
|
}
|
|
/**
|
|
* MessageSender - Gửi messages đến iframe
|
|
*/
|
|
export declare class MessageSender {
|
|
private config;
|
|
private iframe;
|
|
constructor(config: MessageSenderConfig);
|
|
/**
|
|
* Set iframe element
|
|
*/
|
|
setIframe(iframe: HTMLIFrameElement | null): this;
|
|
/**
|
|
* Get current iframe
|
|
*/
|
|
getIframe(): HTMLIFrameElement | null;
|
|
/**
|
|
* Check if iframe is available
|
|
*/
|
|
isReady(): boolean;
|
|
/**
|
|
* Send raw message to iframe
|
|
*/
|
|
sendRaw(message: any): SendResult;
|
|
/**
|
|
* Send game data (SERVER_PUSH_DATA)
|
|
*/
|
|
sendGameData(payload: PushDataPayload): SendResult;
|
|
/**
|
|
* Send leaderboard (SERVER_PUSH_LEADERBOARD)
|
|
*/
|
|
sendLeaderboard(data: LeaderboardData): SendResult;
|
|
/**
|
|
* Reload iframe
|
|
*/
|
|
reloadIframe(): boolean;
|
|
/**
|
|
* Debug log
|
|
*/
|
|
private log;
|
|
}
|
|
//# sourceMappingURL=MessageSender.d.ts.map
|