mychips-react-sdk
Version:
MyChips Offerwall
90 lines (66 loc) • 2.99 kB
text/typescript
import { UserService } from "./services/UserService";
import { BalanceService } from "./services/BalanceService"
import type { RewardDTO } from "./domain/RewardDTO";
import { MCGenderEnum } from "./domain/MCGenderEnum";
export class MCOfferwallSDK {
private static _apikey: any;
private static _userService: UserService;
static init(apikey: string): void {
this._apikey=apikey;
this._userService = new UserService();
}
static getApikey(): string {
return this._apikey;
}
static async setUserId(uid: string): Promise<void> {
await this._userService.setId(uid)
}
static async getUserId(): Promise<string> {
return await this._userService.getOrCreateId()
}
static async setGaid(gaid: string): Promise<void> {
await this._userService.setGaid(gaid)
}
static async getGaid(): Promise<string> {
return await this._userService.getGaid()
}
static async setIdfa(idfa: string): Promise<void> {
await this._userService.setIdfa(idfa)
}
static async getIdfa(): Promise<string> {
return await this._userService.getIdfa()
}
static async setGender(gender: MCGenderEnum): Promise<void> {
await this._userService.setGender(gender)
}
static async setAge(age: number): Promise<void> {
await this._userService.setAge(age)
}
static async setAffSub1(sub1: string): Promise<void> { await this._userService.setAffSub1(sub1) }
static async setAffSub2(sub2: string): Promise<void> { await this._userService.setAffSub2(sub2) }
static async setAffSub3(sub3: string): Promise<void> { await this._userService.setAffSub3(sub3) }
static async setAffSub4(sub4: string): Promise<void> { await this._userService.setAffSub4(sub4) }
static async setAffSub5(sub5: string): Promise<void> { await this._userService.setAffSub5(sub5) }
static async getAffSub1(): Promise<string> { return await this._userService.getAffSub1() }
static async getAffSub2(): Promise<string> { return await this._userService.getAffSub2() }
static async getAffSub3(): Promise<string> { return await this._userService.getAffSub3() }
static async getAffSub4(): Promise<string> { return await this._userService.getAffSub4() }
static async getAffSub5(): Promise<string> { return await this._userService.getAffSub5() }
static async GetReward(adunit_id: string): Promise<RewardDTO | null> {
const balanceService = new BalanceService();
const uid = await this.getUserId();
try {
const reward = await balanceService.getBalance(uid, adunit_id);
if (reward) {
console.log('Reward received:', reward);
return reward;
} else {
console.log('No reward received');
return null;
}
} catch (error) {
console.error('Error fetching balance:', error);
throw error;
}
}
}