AMOS 反应原生广告
AdMob付费活动收入被本地的AMOS包装机自动捕获. 使用 getRevenueHealth() 从本地模块或 useAmos() 上下文检查待处理、重试、确认和排队能力诊断.
对AMOS管理的AdMob广告加上AMOS核心决定,事件和度量衡进行回放.
当 AMOS 应当配置、 预装、 请求并显示 AdMob 位置时使用此软件包 .
import {
AmosBannerAd,
AmosProvider,
BannerAdSize,
useAmosRewardedAd,
} from '@amos-sdk/react-native-admob';
export function Root() {
return (
<AmosProvider
config={{
apiKey: 'AMOS_API_KEY',
appId: 'app_example',
userId: 'publisher-user-123',
lifecycle: {
automatic: true,
sessionTimeoutSeconds: 1800,
configRefreshIntervalSeconds: 300,
},
admob: {
rewardedGroups: {
default: { unitIds: ['ca-app-pub-xxx/111'], preloadOnInit: true },
watermark_remove: {
unitIds: ['ca-app-pub-xxx/222'],
preloadOnInit: true,
allowFallbackToDefault: true,
},
},
},
}}
>
<App />
</AmosProvider>
);
}
function RemoveWatermarkButton() {
const rewarded = useAmosRewardedAd('watermark_remove');
return <Button title="Watch ad" onPress={() => rewarded.show()} />;
}
function HomeBanner() {
return <AmosBannerAd size={BannerAdSize.ANCHORED_ADAPTIVE_BANNER} />;
}
生命周期块是可选的;上面的值是默认值. Android生命周期处理是自动的,包括 stale policy 刷新和不活动会话翻转. 不要从反应原生状态结束 AMOS 会话 AppState 听着 打电话 refreshConfiguration() 从 useAmos() 仅用于即刻的质量保证或关键政策更新.
谷歌游戏购买
提供者的背景也暴露 recordGooglePlayPurchasePlay Billing 报告成功购买后
await useAmos().recordGooglePlayPurchase({
clientEventId: `gplay:${purchase.productId}:${purchase.transactionId}`,
packageName: 'com.example.app',
productId: purchase.productId,
productType: 'ONE_TIME',
purchaseToken: purchase.purchaseToken,
});
结果证实了持久的本地队列;RTDN和开发者API验证决定了最终的购买生命周期.
导出 AdMob 助手 :
AmosBannerAdAmosNativeAdCardAmosAppOpenAdGateuseAmosInterstitialAduseAmosRewardedAduseAmosAppOpenAduseAmosAdMobRequestBannerAdSize
Android包装器解决了这个包里的 AdMob Maven文物 amosSdkVersion 字段 :
implementation("com.amostack:amos-sdk-admob:<amosSdkVersion>")
对于没有AMOS管理广告的决定和跟踪,安装 @amos-sdk/react-native。 。 。 .
原生软件包命名空间保留 com.amostack.amos... 用于Android兼容性.