Contoh kode
- Format Rewarded, yang berarti Anda harus memberikan hadiah kepada pengguna setelah menonton iklan hingga selesai dan iklan diharapkan seperti setelah mengklik elemen.
Informasi lebih lanjut tentang persyaratan menampilkan iklan. - Format Interstitial, yang berarti pengguna dapat melewatkan iklan sebelum selesai dan iklan diharapkan selama jeda alami dalam alur aplikasi
Informasi lebih lanjut tentang persyaratan menampilkan iklan.
INFO
Di bawah ini adalah contoh kode untuk format Rewarded. Contoh-contoh ini juga relevan untuk format Interstitial. Satu-satunya perbedaan adalah bahwa promise AdController.show() diselesaikan untuk iklan yang telah ditonton hingga selesai, serta yang telah ditutup. Contoh sederhana dapat Anda temukan di sini
React
Menyisipkan skrip
Sisipkan skrip ini di dalam tag <head> HTML Anda.
Membuat hook useAdsgram
Buat file di dalam proyek Anda dengan hook kustom useAdsgram.
Informasi lebih lanjut tentang hook kustom dalam dokumentasi React.
import { useCallback, useEffect, useRef } from 'react';
export function useAdsgram({ blockId, onReward, onError }) {
const AdControllerRef = useRef(undefined);
useEffect(() => {
AdControllerRef.current = window.Adsgram?.init({ blockId });
}, [blockId]);
return useCallback(async () => {
if (AdControllerRef.current) {
AdControllerRef.current
.show()
.then(() => {
// pengguna menonton iklan hingga selesai atau menutupnya dalam format interstitial
onReward();
})
.catch((result) => {
// pengguna mendapatkan error saat memutar iklan
onError?.(result);
});
} else {
onError?.({
error: true,
done: false,
state: 'load',
description: 'Skrip Adsgram tidak dimuat',
});
}
}, [onError, onReward]);
}import { useCallback, useEffect, useRef } from 'react';
/**
* Lihat Bagian Typescript
* dan gunakan path ke tipe adsgram Anda
*/
import type { AdController, ShowPromiseResult } from 'path-to-adsgram-types';
export interface useAdsgramParams {
blockId: string;
onReward?: () => void;
onError?: (result: ShowPromiseResult) => void;
}
export function useAdsgram({ blockId, onReward, onError }: useAdsgramParams): () => Promise<void> {
const AdControllerRef = useRef<AdController | undefined>(undefined);
useEffect(() => {
AdControllerRef.current = window.Adsgram?.init({ blockId, debug: true, debugBannerType: 'FullscreenMedia' });
}, [blockId]);
return useCallback(async () => {
if (AdControllerRef.current) {
AdControllerRef.current
.show()
.then(() => {
// pengguna menonton iklan hingga selesai atau menutupnya dalam format interstitial
onReward?.();
})
.catch((result: ShowPromiseResult) => {
// pengguna mendapatkan error saat memutar iklan
onError?.(result);
});
} else {
onError?.({
error: true,
done: false,
state: 'load',
description: 'Skrip Adsgram tidak dimuat',
});
}
}, [onError, onReward]);
}Contoh penggunaan
Contoh komponen tombol sederhana, saat tombol diklik iklan akan ditampilkan.
import { useCallback, ReactElement } from 'react'
import { useAdsgram } from "./hooks/useAdsgram.ts";
export function ShowAdButton() {
const onReward = useCallback(() => {
alert('Reward');
}, []);
const onError = useCallback((result) => {
alert(JSON.stringify(result, null, 4));
}, []);
/**
* sisipkan your-block-id Anda
*/
const showAd = useAdsgram({ blockId: "your-block-id", onReward, onError });
return (
<button onClick={showAd}>Show Ad</button>
)
}import { useCallback, ReactElement } from 'react'
import { useAdsgram } from "./hooks/useAdsgram.ts";
import { ShowPromiseResult } from "./types/adsgram";
export function ShowAdButton(): ReactElement {
const onReward = useCallback(() => {
alert('Reward');
}, []);
const onError = useCallback((result: ShowPromiseResult) => {
alert(JSON.stringify(result, null, 4));
}, []);
/**
* sisipkan your-block-id Anda
*/
const showAd = useAdsgram({ blockId: "your-block-id", onReward, onError });
return (
<button onClick={showAd}>Show Ad</button>
)
}Unity
Kami belum memiliki plugin untuk Unity.
Buat file .jslib, Anda dapat membaca lebih lanjut tentang hal itu di sini.
Anda dapat memanggil fungsi js dari unity menggunakan ini.
Anda dapat memanggil fungsi unity dari js menggunakan ini.
Vanilla js
Contoh dengan skrip inline dan tombol untuk menampilkan iklan.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Aplikasi Test</title>
<script src="https://telegram.org/js/telegram-web-app.js"></script>
<script src="https://sad.adsgram.ai/js/sad.min.js"></script>
</head>
<body>
<button id="ad">Tampilkan iklan</button>
<script>
// sisipkan block id Anda
const AdController = window.Adsgram.init({ blockId: "your-block-id" });
const button = document.getElementById('ad');
button.addEventListener('click', () => {
AdController.show().then((result) => {
// pengguna menonton iklan hingga selesai atau menutupnya dalam format interstitial
// kode Anda untuk memberikan hadiah kepada pengguna dalam format rewarded
alert('Reward');
}).catch((result) => {
// pengguna mendapatkan error saat memutar iklan
// tidak melakukan apa-apa atau sesuaikan keinginan Anda
alert(JSON.stringify(result, null, 4));
})
})
</script>
</body>
</html>