Typescript
adsgram.d.ts फ़ाइल बनाएं और इसे types फ़ोल्डर या मौजूदा टाइप घोषणा फ़ोल्डर में जोड़ें।
जानकारी
यदि आप हमारे फ्रेमवर्क-विशिष्ट npm पैकेज (React या Vue) का उपयोग कर रहे हैं, तो TypeScript समर्थन पहले से ही बॉक्स में शामिल है और मैन्युअल टाइप घोषणा की आवश्यकता नहीं है।
AdsGram API Typing
ts
export interface ShowPromiseResult {
done: boolean;
description: string;
state: 'load' | 'render' | 'playing' | 'destroy';
error: boolean;
}
type BannerType = 'RewardedVideo' | 'FullscreenMedia';
interface AdsgramInitParams {
blockId: string;
debug?: boolean;
debugBannerType?: BannerType;
}
type EventType =
| 'onReward'
| 'onComplete'
| 'onStart'
| 'onSkip'
| 'onBannerNotFound'
| 'onNonStopShow'
| 'onTooLongSession'
| 'onError';
type HandlerType = () => void;
export interface AdController {
show(): Promise<ShowPromiseResult>;
addEventListener(event: EventType, handler: HandlerType): void;
removeEventListener(event: EventType, handler: HandlerType): void;
destroy(): void;
}
declare global {
interface Window {
Adsgram?: {
init(params: AdsgramInitParams): AdController;
};
}
}React/preact प्रोजेक्ट में <adsgram-task> के लिए टाइपिंग
adsgram.d.ts में निम्न कोड जोड़ें ताकि वेब कंपोनेंट adsgram-task के उपयोग के लिए प्रकार वर्णित हो सकें:
ts
import { DOMAttributes } from "react";
type CustomElement<T> = Partial<T & DOMAttributes<T> & { children: any }> &
LibraryManagedAttributes;
declare module "react/jsx-runtime" {
namespace JSX {
interface IntrinsicElements extends JSXInternal {
"adsgram-task": CustomElement<HTMLDivElement>;
}
}
}ts
import { JSXInternal, LibraryManagedAttributes } from 'preact/src/jsx';
import DOMAttributes = JSXInternal.DOMAttributes;
type CustomElement<T> = Partial<T & DOMAttributes<T> & { children: any }> &
LibraryManagedAttributes;
declare module "preact/jsx-runtime" {
namespace JSX {
interface IntrinsicElements extends JSXInternal {
"adsgram-task": CustomElement<HTMLDivElement>;
}
}
}.vue या vanilla js के लिए टाइपिंग जोड़ने की आवश्यकता नहीं है।