| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- export interface IFBLoginRes {
- accessToken: string;
- isCancel: boolean;
- status?: string;
- reason?: string;
- }
- export type IFBEventValue = string | number;
- export type IFBEventParams = Record<string, IFBEventValue>;
- export interface IFBShareOptions {
- url: string;
- hashtag?: string;
- quote?: string;
- }
- export interface IFBShareRes {
- success: boolean;
- isCancel: boolean;
- postId?: string;
- reason?: string;
- }
- export abstract class FacebookImpl {
- private _isInitialized = false;
- public get isInitialized() { return this._isInitialized; }
- abstract init(): void;
- protected onInited() {
- this._isInitialized = true;
- }
- async login(): Promise<IFBLoginRes> {
- const res = await this.onLogin();
- return res;
- }
- protected abstract onLogin(): Promise<IFBLoginRes>;
- abstract logOut(): Promise<boolean>;
- abstract share(options: IFBShareOptions): Promise<IFBShareRes>;
- abstract logEvent(
- eventName: string,
- parameters?: IFBEventParams,
- valueToSum?: number,
- ): Promise<boolean>;
- abstract logPurchase(
- amount: number,
- currency: string,
- parameters?: IFBEventParams,
- ): Promise<boolean>;
- abstract flushEvents(): Promise<boolean>;
- }
|