测试模式
测试模式不需要广告 SDK 或广告网络,就能跑通整条链路(记录、事件、带签名的回调、事件日志)。默认关闭。
npx @kasskeep/cli ads test-enable --id app_xxx从客户端调用
Section titled “从客户端调用”开启 testAds 后,SDK 调用测试接口而不是你的 provider:
Kasskeep.configure({ apiKey, baseUrl, appUserId, ads: { rewardedProvider, adUnits, testAds: __DEV__ } });const r = await Kasskeep.ads.showRewarded({ adUnit: "revive", customData: "stage=3", testOutcome: "completed" });底层调用(使用公钥):
POST /v1/ads/test/rewardsX-Kasskeep-Key: pk_...
{"app_user_id": "6f1c...", "ad_unit": "revive", "reward_type": "coins", "reward_amount": 10, "custom_data": "stage=3", "outcome": "completed"}outcome:completed(默认)、skipped或failed。只有completed会产生ad.reward。network(可选):默认test。设为admob、applovin或levelplay时,奖励会采用该广告网络的格式和已映射的广告位 id。其他值返回400 unknown_ad_network。- 事件带
environment: "test"和platform: "test";交易 id 以testad_开头。 - 在默认的
reject策略下,统一广告位名必须已映射(设置了network时,须在该广告网络下映射),否则返回422 unknown_ad_unit。 - 测试广告关闭时:
403 test_ads_disabled。
返回 {status, reward_event_id, ad_reward}。
从 CLI 调用
Section titled “从 CLI 调用”npx @kasskeep/cli ads simulate --id app_xxx --user <app_user_id> --ad-unit revive --reward-amount 10 --transaction-id replay-1 --network levelplay用同一个 --transaction-id 运行两次,就能看到去重效果。
和测试商店一样,开启测试广告后,http://localhost:* origin 也能通过 CORS。