import { defineGkdApp } from '@gkd-kit/define';
export default defineGkdApp({
id: 'com.luna.music',
name: '汽水音乐',
groups: [
{
key: 0,
name: '开屏广告',
matchTime: 10000,
actionMaximum: 1,
resetMatch: 'app',
actionMaximumKey: 0,
priorityTime: 10000,
rules: [
{
key: 0,
fastQuery: true,
anyMatches: [
'@View[text=null][clickable=true][childCount=0][visibleToUser=true][width<200&&height<200] +(1,2) TextView[index=parent.childCount.minus(1)][childCount=0] <n FrameLayout[childCount>2][text=null][desc=null] >(n+6) [text*="第三方应用" || text*="扭动手机" || text*="点击或上滑" || text*="省钱好物" || text*="扭一扭"][visibleToUser=true]',
'FrameLayout > FrameLayout[childCount>2][text=null][desc=null] > @View[text=null][clickable=true][childCount=0][visibleToUser=true][width<200&&height<200] +(1,2) TextView[index=parent.childCount.minus(1)][childCount=0][visibleToUser=true]',
],
snapshotUrls: 'https://i.gkd.li/i/14232395',
},
{
key: 1,
fastQuery: true,
matches: '[text^="跳过"][text.length<10][visibleToUser=true]',
snapshotUrls: [
'https://i.gkd.li/i/15087528',
'https://i.gkd.li/i/15148298', // 避免误触
],
},
],
},
{
key: 1,
name: '更新提示',
fastQuery: true,
matchTime: 10000,
actionMaximum: 1,
resetMatch: 'app',
rules: [
{
activityIds: [
'com.luna.biz.ad.AdActivity',
'com.luna.biz.main.main.MainActivity',
],
matches: '@[text="稍后再说"] + [text="立即升级"]',
snapshotUrls: [
'https://i.gkd.li/i/14790279',
'https://i.gkd.li/i/21427972',
],
},
],
},
{
key: 2,
name: '全屏广告-VIP弹窗',
desc: '直接关闭所有底部半屏弹窗',
fastQuery: true,
activityIds: [
'com.luna.biz.main.main.MainActivity',
'com.luna.biz.ad.AdActivity',
],
rules: [
{
key: 0,
name: '底部半屏弹窗',
action: 'back', // 使用点击方式有概率无效
excludeMatches:
'FlattenUIText[text="立得全天畅听" || text="立即解锁 今日畅听"][visibleToUser=true]',
matches:
'FlattenUIText[text="开会员听整月" || text="购买汽水会员" || text*="免费听"][visibleToUser=true]',
exampleUrls: 'https://e.gkd.li/43099439-a0ab-4da0-a686-5c960df92607',
snapshotUrls: [
'https://i.gkd.li/i/13533795',
'https://i.gkd.li/i/13660652',
'https://i.gkd.li/i/13533797',
'https://i.gkd.li/i/14767233',
'https://i.gkd.li/i/16280954',
'https://i.gkd.li/i/16342691',
'https://i.gkd.li/i/17580823',
'https://i.gkd.li/i/18183749',
],
excludeSnapshotUrls: [
'https://i.gkd.li/i/13613296',
'https://i.gkd.li/i/14237527',
'https://i.gkd.li/i/18242457',
],
},
{
key: 2,
name: '全屏弹窗',
matches:
'@LynxFlattenUI[clickable=true] -2 FlattenUIText[text="立即抢购"]',
snapshotUrls: 'https://i.gkd.li/i/16278152',
},
{
key: 3,
name: '0.01开通7天VIP',
matches:
'@View[childCount=2][index=1] >2 [text$="天体验卡" || text^="VIP"][visibleToUser=true]',
position: {
left: 'width * 0.90',
top: 'width * 0.09',
},
snapshotUrls: 'https://i.gkd.li/i/26757915',
exampleUrls: 'https://e.gkd.li/4cefa02b-b83e-4f68-b861-d377ea427514',
},
],
},
{
key: 8,
name: '功能类-全自动看广告领VIP',
desc: '⚠️二选一,广告一直看下去直到手动干预退出,适合需要领多天vip的用户,与单日规则互斥',
rules: [
// 主页界面
{
// 主页界面
name: '开屏自动看视频',
key: 0,
fastQuery: true,
activityIds: 'com.luna.biz.main.main.MainActivity',
actionMaximum: 1,
priorityTime: 5000,
resetMatch: 'app',
anyMatches: [
'[vid="ui"] >3 @[clickable=true] < ViewGroup +3 View > [text="今日畅听"] + [text^="第" || text$="个"]',
'@ViewGroup[childCount=0] < ViewGroup[index=2] <n [childCount=5] <<6 FrameLayout <<4 [id="android:id/content"]',
],
snapshotUrls: [
'https://i.gkd.li/i/26758188',
'https://i.gkd.li/i/28299711', // 新UI_2026.05.27
],
exampleUrls: [
'https://e.gkd.li/194773d6-a9c0-48c4-84bf-e1a57449434b',
'https://e.gkd.li/9cd0c931-5ae8-4739-8a1a-481d2d5731f4',
],
},
// 视频播放界面
// 1. 旧版节点树(轮询法)
{
key: 1,
name: '①x掉-坐标轮询点击', // 反复点击x来判断是否已领取奖励
fastQuery: true,
actionDelay: 8000,
position: {
left: 'width * 3.28',
top: 'width * 0.2',
},
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'FlattenUIText[text="广告"] + [text$="声音"] + [text="反馈"][visibleToUser=true]', // [反馈]相对坐标点击成功率高
snapshotUrls: [
'https://i.gkd.li/i/24521440', // 18s后可领取奖励
'https://i.gkd.li/i/26401083', // 38s后???
'https://i.gkd.li/i/24521423', // 设备1
'https://i.gkd.li/i/26401058', // 设备2
'https://i.gkd.li/i/26401097', // 设备3
],
exampleUrls: 'https://e.gkd.li/87c7201a-f413-4d82-9198-2dc9455c4f23',
},
{
key: 2, // 老UI(遗弃?)
name: '①跳过',
activityIds:
'com.bytedance.sdk.openadsdk.core.component.reward.activity.TTRewardVideoActivity',
matches: '[visibleToUser=true][text="奖励已领取"]',
snapshotUrls: 'https://i.gkd.li/i/24522627',
},
{
preKeys: [1, 2], // 轮询判断是否已领取
name: '②没结束-继续轮询',
fastQuery: true,
actionDelay: 500,
activityIds: [
'com.bytedance.sdk.openadsdk.core.component.reward.activity.TTRewardVideoActivity',
'com.bytedance.sdk.openadsdk.stub.activity.Stub_Standard_Portrait_Activity',
'com.ss.android.excitingvideo.ExcitingVideoActivity',
],
matches:
'[text="领取奖励" || text^="再看一个" || text="继续观看"][visibleToUser=true]',
snapshotUrls: [
'https://i.gkd.li/i/15140816',
'https://i.gkd.li/i/24521416',
'https://i.gkd.li/i/24521446',
'https://i.gkd.li/i/24521516',
],
exampleUrls: 'https://e.gkd.li/3b2a0948-3b77-419b-8acf-2166e1cd445c',
},
// 2. 新版本节点树(可直接识别状态领取奖励)
{
key: 3,
name: '①x掉-领取成功', // 节点树可直接区分状态(版本19.1.0以上)
versionCode: { minimum: 100191030 },
fastQuery: true,
matchRoot: true,
actionDelay: 1200, //稳定节点树时间
actionCd: 8000,
activityIds: [
'com.ss.android.excitingvideo.ExcitingVideoActivity',
'com.luna.biz.ad.adns.luna.LunaRewardActivity',
],
anyMatches: [
'@ImageView[width<56 && height<56][visibleToUser=true] < [childCount=1] <n [childCount>6] <<(6,7) [id="android:id/content"]',
'@[desc="领取成功,关闭,按钮"] <<3 [index=parent.childCount.minus(1)] <n ViewGroup < ViewGroup <3 FrameLayout <<5 [id="android:id/content"]',
'@TextView[clickable=true] - [text="领取成功"][visibleToUser=true]',
],
snapshotUrls: [
'https://i.gkd.li/i/27359402', // 领取成功
'https://i.gkd.li/i/27363266',
'https://i.gkd.li/i/28018493', // UI2
'https://i.gkd.li/i/28300641', // UI3_2026.05.27
],
excludeSnapshotUrls: 'https://i.gkd.li/i/27272574', // 未领取
},
// 2026_05_01 新UI
{
preKeys: [3],
name: '②领取奖励_2',
versionCode: { minimum: 100191030 },
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'[desc="领取奖励" || desc^="再看一个" || desc="继续观看"][visibleToUser=true]',
snapshotUrls: 'https://i.gkd.li/i/28021222',
},
// 3. 旧版
// 领取奖励继续看视频(到第14个Ad后由order1接管)
{
preKeys: [3],
name: '②领取奖励',
versionCode: { minimum: 100191030 },
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
actionMaximum: 13, // 限制次数
order: 0,
matches:
'@[childCount=2] + ImageView[index=parent.childCount.minus(1)] <n [childCount=5] <<5 [id="android:id/content"]',
position: {
left: 'width * 0.50',
top: 'width * 0.85',
},
snapshotUrls: 'https://i.gkd.li/i/27359717',
},
// 接管最后一个Ad观看点击结束
{
preKeys: [3],
name: '③结束^_^',
versionCode: { minimum: 100191030 },
order: 1,
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'@[childCount=2] + ImageView[index=parent.childCount.minus(1)] <n [childCount=5] <<5 [id="android:id/content"]',
position: {
left: 'width * 0.50',
top: 'width * 1.00',
},
snapshotUrls: 'https://i.gkd.li/i/27359717',
},
//其他情况-无视频
{
key: 99,
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'@[clickable=true][width<120 && height<120] + LinearLayout > [text="当前无新视频"][visibleToUser=true]',
snapshotUrls: 'https://i.gkd.li/i/24522244',
},
],
},
{
key: 9,
name: '功能类-关闭广告的声音',
rules: [
{
key: 0,
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches: '[text="开启声音"][visibleToUser=true]',
snapshotUrls: 'https://i.gkd.li/i/24522999',
excludeSnapshotUrls: 'https://i.gkd.li/i/24521440',
},
{
key: 1,
fastQuery: true,
actionCd: 40000,
versionCode: { minimum: 100191030 },
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'@ImageView[width<57 && height<78][visibleToUser=true] - ScrollView <n [childCount>6] <<(6,7) [id="android:id/content"]',
snapshotUrls: 'https://i.gkd.li/i/27365536',
exampleUrls: 'https://e.gkd.li/7d86c22c-bbf3-419e-bd6f-eecdaf357872',
},
{
key: 2,
fastQuery: true,
actionCd: 40000,
versionCode: { minimum: 100191030 },
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'@ImageView[height=-1] <<4 ViewGroup <3 FrameLayout <<5 [id="android:id/content"]',
position: {
left: 'width * 0.33',
top: 'width * 0.81',
},
snapshotUrls: 'https://i.gkd.li/i/28018493',
},
],
},
{
key: 10,
name: '评价提示-评分弹窗',
desc: '使用返回关闭弹窗',
actionMaximum: 1,
resetMatch: 'app',
rules: [
{
fastQuery: true,
action: 'back',
matches: '[text="为汽水音乐评分"]',
exampleUrls:
'https://m.gkd.li/57941037/a7e53af0-8b84-4619-b369-69b949ab2ce4',
snapshotUrls: 'https://i.gkd.li/i/14720841',
},
],
},
{
key: 11,
name: '局部广告-悬浮窗广告',
desc: '点击关闭',
fastQuery: true,
activityIds: 'com.luna.biz.main.main.MainActivity',
rules: [
{
key: 0,
matches: '[vid="fl_pendant_container"] > [vid="view_close"]',
exampleUrls:
'https://m.gkd.li/57941037/8a427d5f-680b-4562-9cf3-90b1db82df0f',
snapshotUrls: 'https://i.gkd.li/i/13674376',
},
{
key: 1,
matches:
'@View[clickable=true][width<126 && height<60] < [childCount=3] <n [childCount=4] < [childCount=3] <2 [childCount=2] <2 [childCount=2] <<3 [vid="navigation_container_under_bottom_bar"]',
exampleUrls: 'https://e.gkd.li/42a3884a-6888-4d5b-aa61-7ff5159a5228',
snapshotUrls: 'https://i.gkd.li/i/28298866',
},
],
},
{
key: 12,
name: '其他-关闭[更多直播]推荐',
desc: '直播间出现[更多直播]时点击右上角关闭',
rules: [
{
fastQuery: true,
activityIds: 'com.luna.biz.live.plugin.LunaDefaultLivePlayerActivity',
matches:
'@[desc="关闭"][clickable=true] <n RelativeLayout + FrameLayout >4 [text="更多直播"][visibleToUser=true]',
exampleUrls: 'https://e.gkd.li/148466b5-9769-4b79-b648-f2cf7719e3e7',
snapshotUrls: 'https://i.gkd.li/i/22922565',
},
],
},
{
key: 13,
name: '功能类-全自动看广告领VIP_单日',
desc: '⚠️二选一,领到今天vip收手退出,适合只想领一天vip的用户,与多日规则互斥',
rules: [
{
// 主页界面
name: '开屏自动看视频',
key: 0,
fastQuery: true,
activityIds: 'com.luna.biz.main.main.MainActivity',
actionMaximum: 1,
priorityTime: 5000,
resetMatch: 'app',
anyMatches: [
'[vid="ui"] >3 @[clickable=true] < ViewGroup +3 View > [text="今日畅听"] + [text^="第" || text$="个"]',
'@ViewGroup[childCount=0] < ViewGroup[index=2] <n [childCount=5] <<6 FrameLayout <<4 [id="android:id/content"]',
],
snapshotUrls: [
'https://i.gkd.li/i/26758188',
'https://i.gkd.li/i/28299711', // 新UI_2026.05.27
],
exampleUrls: [
'https://e.gkd.li/194773d6-a9c0-48c4-84bf-e1a57449434b',
'https://e.gkd.li/9cd0c931-5ae8-4739-8a1a-481d2d5731f4',
],
},
// 视频播放界面
// 1.旧版节点树(轮询法)
{
name: '①x掉-坐标轮询点击', // 反复点击x来判断是否已领取奖励
key: 1,
fastQuery: true,
actionDelay: 8000,
position: {
left: 'width * 3.28',
top: 'width * 0.2',
},
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'FlattenUIText[text="广告"] + [text$="声音"] + [text="反馈"][visibleToUser=true]', // [反馈]相对坐标点击成功率高
snapshotUrls: [
'https://i.gkd.li/i/24521440', // 18s后可领取奖励
'https://i.gkd.li/i/26401083', // 38s后???
'https://i.gkd.li/i/24521423', // 设备1
'https://i.gkd.li/i/26401058', // 设备2
'https://i.gkd.li/i/26401097', // 设备3-领取成功
],
exampleUrls: 'https://e.gkd.li/87c7201a-f413-4d82-9198-2dc9455c4f23',
},
{
name: '①跳过', // 老UI(遗弃?)
key: 2,
activityIds:
'com.bytedance.sdk.openadsdk.core.component.reward.activity.TTRewardVideoActivity',
matches: '[visibleToUser=true][text="奖励已领取"]',
snapshotUrls: 'https://i.gkd.li/i/24522627',
},
{
name: '②没结束?继续轮询',
preKeys: [1, 2], // 轮询判断是否已领取
fastQuery: true,
actionDelay: 500,
activityIds: [
'com.bytedance.sdk.openadsdk.core.component.reward.activity.TTRewardVideoActivity',
'com.bytedance.sdk.openadsdk.stub.activity.Stub_Standard_Portrait_Activity',
'com.ss.android.excitingvideo.ExcitingVideoActivity',
],
matches:
'[text="领取奖励" || text^="再看一个" || text="继续观看"][visibleToUser=true]',
excludeMatches: '[text$="提前得"]', // 今日已领取-排除
snapshotUrls: [
'https://i.gkd.li/i/15140816',
'https://i.gkd.li/i/24521416',
'https://i.gkd.li/i/24521446',
'https://i.gkd.li/i/24521516',
],
exampleUrls: 'https://e.gkd.li/3b2a0948-3b77-419b-8acf-2166e1cd445c',
excludeSnapshotUrls: 'https://i.gkd.li/i/24521416',
},
// 完成目标:今日畅听vip
{
key: 3,
name: '③今日结束退出',
fastQuery: true,
actionDelay: 500,
activityIds: [
'com.bytedance.sdk.openadsdk.core.component.reward.activity.TTRewardVideoActivity',
'com.bytedance.sdk.openadsdk.stub.activity.Stub_Standard_Portrait_Activity',
'com.ss.android.excitingvideo.ExcitingVideoActivity',
],
matches: '[text$="提前得"] +n [text="坚持退出"][visibleToUser=true]',
snapshotUrls: 'https://i.gkd.li/i/24521416',
exampleUrls: 'https://e.gkd.li/8cc22cd9-f48e-4aaa-8c5c-a04a752e6df6',
},
// 2.新版本节点树(可直接识别状态领取奖励)
{
key: 4,
name: '①x掉-领取成功_2', // 第二种节点树形式_可直接区分非轮询(版本19.1.0以上)
versionCode: { minimum: 100191030 },
fastQuery: true,
matchRoot: true,
actionDelay: 1200, //稳定节点树时间
actionCd: 8000,
activityIds: [
'com.ss.android.excitingvideo.ExcitingVideoActivity',
'com.luna.biz.ad.adns.luna.LunaRewardActivity',
],
anyMatches: [
'@ImageView[width<56 && height<56][visibleToUser=true] < [childCount=1] <n [childCount>6] <<(6,7) [id="android:id/content"]',
'@[desc="领取成功,关闭,按钮"] <<3 [index=parent.childCount.minus(1)] <n ViewGroup < ViewGroup <3 FrameLayout <<5 [id="android:id/content"]',
'@TextView[clickable=true] - [text="领取成功"][visibleToUser=true]',
],
snapshotUrls: [
'https://i.gkd.li/i/27359402', // 领取成功
'https://i.gkd.li/i/27363266',
'https://i.gkd.li/i/28018493', // UI2
'https://i.gkd.li/i/28300641', // UI3_2026.05.27
],
excludeSnapshotUrls: 'https://i.gkd.li/i/27272574', // 未领取
},
// 2025_05_19 新UI
{
preKeys: [4],
key: 5,
name: '②领取奖励_2',
versionCode: { minimum: 100191030 },
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'[desc="领取奖励" || desc^="再看一个" || desc="继续观看"][visibleToUser=true]',
excludeMatches: '[desc$="日免费听"][visibleToUser=true]',
snapshotUrls: 'https://i.gkd.li/i/28021222',
excludeSnapshotUrls: 'https://i.gkd.li/i/28301078',
},
{
preKeys: [5],
key: 6,
name: '③今日结束结束^_^_2',
versionCode: { minimum: 100191030 },
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches: [
'[desc$="提前得"][visibleToUser=true]',
'[desc$="日免费听"]',
'[desc="坚持退出"][visibleToUser=true]',
],
snapshotUrls: 'https://i.gkd.li/i/28020902',
},
// 3.旧版
// 领取奖励继续看视频(到第2个Ad后由order1接管)
{
preKeys: [4],
name: '②领取奖励',
versionCode: { minimum: 100191030 },
actionMaximum: 1, // 限制次数
order: 0,
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'@[childCount=2] + ImageView[index=parent.childCount.minus(1)] <n [childCount=5] <<5 [id="android:id/content"]',
position: {
left: 'width * 0.50',
top: 'width * 0.85',
},
snapshotUrls: 'https://i.gkd.li/i/27359717',
},
// 接管最后一个Ad观看点击结束
{
preKeys: [4],
name: '③今日结束结束^_^',
versionCode: { minimum: 100191030 },
order: 1,
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'@[childCount=2] + ImageView[index=parent.childCount.minus(1)] <n [childCount=5] <<5 [id="android:id/content"]',
position: {
left: 'width * 0.50',
top: 'width * 1.00',
},
snapshotUrls: 'https://i.gkd.li/i/27359717',
},
// 回到主界面
{
// preKeys: [3, 4],
preKeys: [3, 6],
name: '④再看视频?-返回操作',
fastQuery: true,
activityIds: 'com.luna.biz.main.main.MainActivity',
anyMatches: [
'[text^="再看" || desc^="再看"][text$="个提前领" || desc$="个提前领"]',
'@ViewGroup[childCount=0] <<2 [childCount=4] <<6 FrameLayout <<4 [id="android:id/content"]',
],
action: 'back',
snapshotUrls: [
'https://i.gkd.li/i/26411131',
'https://i.gkd.li/i/26905455',
'https://i.gkd.li/i/28299305', // 新UI_2026.05.27
],
exampleUrls: 'https://e.gkd.li/6fedf579-d3bc-46eb-b29f-679f469dcfea', //'https://e.gkd.li/d3902ed0-5e8d-4c0c-b8ae-5bf3f64c84a8',
},
//其他情况-无视频
{
key: 99,
fastQuery: true,
activityIds: 'com.ss.android.excitingvideo.ExcitingVideoActivity',
matches:
'@[clickable=true][width<120 && height<120] + LinearLayout > [text="当前无新视频"][visibleToUser=true]',
snapshotUrls: 'https://i.gkd.li/i/24522244',
},
],
},
],
});
Details