mediation.rn
v0.2.0
Published
Admost mediation for React Native (new architecture)
Maintainers
Readme
mediation.rn
Admost mediation for React Native — New Architecture (TurboModule). Hem bare React Native (CLI) hem Expo (prebuild / dev client) ile çalışır.
⚠️ Native modül içerir; Expo Go'da çalışmaz.
expo run:android/expo run:iosveya dev client / EAS Build gerekir.
Kurulum
npm install mediation.rnAndroid için AdMost AMR deposu uygulamanın autolinking'i ile gelir; iOS için pod install çalıştırın.
Kullanım (init)
import { Platform } from 'react-native';
import Admost from 'mediation.rn';
const appId = Platform.select({
ios: 'IOS_ADMOST_APP_ID',
android: 'ANDROID_ADMOST_APP_ID',
})!;
Admost.setAppID(appId);
Admost.setUserConsents(true);
Admost.setSubjectToGDPR(false);
Admost.setUserChild(false);
const result = await Admost.start();
console.log(result); // "ADMOST INIT SUCCESSFUL"Event tracking
eventType dışarıya açılmaz; SDK'nın yaptığı gibi her tip için ayrı metot vardır.
start() çağrıldıktan sonra kullanılmalıdır.
import Admost from 'mediation.rn';
// Ekran görüntüleme → tip: screen_view
Admost.trackScreenView('MatchDetailPage');
// Genel event → tip: design
Admost.trackEvent('add_favorite', { type: 'team', id: '42' });
// Log event → tip: log
Admost.trackLog('api_error', { endpoint: '/matches', code: '500' });
// Gelir/revenue → tip: design + currency & value
Admost.trackRevenue('shop_buy_item', 'USD', 4.99, { item: 'coins_250' });
parametersher yerde{ [key: string]: string }(opsiyonel). iOS public API string değer beklediği için Android'de de string map kullanılır.
API (v0.2.0)
| Metot | İmza |
|-------|------|
| setAppID | (appID: string) => void |
| setUserConsents | (value: boolean) => void |
| setSubjectToGDPR | (value: boolean) => void |
| setSubjectToCCPA | (value: boolean) => void |
| setUserChild | (value: boolean) => void |
| setUserId | (userId: string) => void |
| start | () => Promise<string> |
| trackScreenView | (screenName: string) => void |
| trackEvent | (eventName: string, parameters?: Record<string,string>) => void |
| trackLog | (eventName: string, parameters?: Record<string,string>) => void |
| trackRevenue | (eventName: string, currency: string, value: number, parameters?: Record<string,string>) => void |
| trackHTTPRequest | (request: AdmostNetworkRequest) => void |
| trackSocketRequest | (request: AdmostNetworkRequest) => void |
Her metot native'de sabit event tipi kullanır: trackScreenView → screen_view,
trackEvent/trackRevenue → design, trackLog → log,
trackHTTPRequest → http_request, trackSocketRequest → socket_request.
AdmostNetworkRequest: { url, method?, startTime, duration, statusCode?, requestBytes?, responseBytes?, error? }
(startTime = unix epoch saniye, duration = saniye, error = hata mesajı string).
Reklam metotları (interstitial / rewarded / banner) sonraki sürümlerde eklenecek.
Lisans
MIT
