[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CBR1B2WKREZGRBDP0ZX0JX":3,"skill-same:01M6CBR1B2WKREZGRBDP0ZX0JX":55},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":20,"linkOnly":21,"markdownContent":22,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":13,"repositoryHtmlUrl":27,"repositoryHomepageUrl":6,"ownerHtmlUrl":28,"ownerBlogUrl":6,"ownerDescription":29,"updatedAt":30,"install":31,"resources":44},"01M6CBR1B2WKREZGRBDP0ZX0JX","00-overview",null,"devwinsoft\u002Fdevian","devwinsoft","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F22570160?v=4","01M6C6RR8W05NH8NPKQNCE3Q72","maoshy","01M6C6RRDJ5TJJCZXRTY801YDH",0,"MIT","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian-unity\u002F50-mobile-package\u002F52-push-system\u002F00-overview\u002FSKILL.md",[],[18,19],"overview","00 overview","2026-11-10 10:12:30",false,"# 52-push-system — Overview\n\nStatus: ACTIVE\nAppliesTo: v10\n\n> Routing(키워드→스킬)은 중앙 정본을 따른다: `skills\u002Fdevian\u002F00-overview\u002FSKILL.md`\n\nMobilePackage 샘플의 Push 시스템 개요다.\n`PushManager`가 푸시 토큰 관리, 토픽 구독\u002F해제, 로컬 알림 스케줄링을 담당한다.\n\n이 스킬 그룹 책임:\n- FCM\u002FAPNs 토큰 등록\u002F갱신\u002F삭제\n- 토픽 구독\u002F해제\n- 로컬 푸시 알림 스케줄\u002F취소\n- 플랫폼별 Provider 추상화 (Apple\u002FGoogle)\n\n문서 중복 방지 라우팅:\n- 정책\u002F모듈 경계는 `01-policy`\n- 통합 SSOT\u002F핵심 합의는 `03-ssot`\n- PushManager 설계\u002FAPI는 `10-push-manager`\n- Apple(APNs) 플랫폼 구현은 `11-push-provider-apple`\n- Google(FCM) 플랫폼 구현은 `12-push-provider-google`\n- PushStorage 저장 모델\u002FSaveData 규약은 `13-push-storage`\n- Apple(APNs + FCM iOS) 인프라 셋업은 `20-push-setup-apple`\n- Google(FCM Android) 인프라 셋업은 `21-push-setup-google`\n\n---\n\n## Start Here\n\n| Document | Description |\n|----------|-------------|\n| [01-policy](..\u002F01-policy\u002FSKILL.md) | 모듈 경계\u002F하드룰\u002FAPI 규약 |\n| [03-ssot](..\u002F03-ssot\u002FSKILL.md) | 토큰\u002F토픽\u002F로컬알림\u002FProvider 정본 |\n| [10-push-manager](..\u002F10-push-manager\u002FSKILL.md) | PushManager 설계 |\n| [11-push-provider-apple](..\u002F11-push-provider-apple\u002FSKILL.md) | Apple(APNs) 연동 |\n| [12-push-provider-google](..\u002F12-push-provider-google\u002FSKILL.md) | Google(FCM) 연동 |\n| [13-push-storage](..\u002F13-push-storage\u002FSKILL.md) | PushStorage 저장 모델\u002FSaveData 규약 |\n| [20-push-setup-apple](..\u002F20-push-setup-apple\u002FSKILL.md) | Apple(APNs + FCM iOS) 인프라 셋업 |\n| [21-push-setup-google](..\u002F21-push-setup-google\u002FSKILL.md) | Google(FCM Android) 인프라 셋업 |\n\n---\n\n## Related\n\n- [47-advertise-system](..\u002F..\u002F47-advertise-system\u002F00-overview\u002FSKILL.md)\n- [45-game-message-system](..\u002F..\u002F45-game-message-system\u002F00-overview\u002FSKILL.md)\n- [Root SSOT](..\u002F..\u002F..\u002F..\u002Fdevian\u002F10-module\u002F03-ssot\u002FSKILL.md)\n- [Unity SSOT](..\u002F..\u002F..\u002F03-ssot\u002FSKILL.md)\n- [Devian Index](..\u002F..\u002F..\u002F..\u002Fdevian\u002FSKILL.md)\n",{},"main","8cb5bd877a3a7004867d2f55697cb9e4ff2f1734","skills\u002Fdevian-unity\u002F50-mobile-package\u002F52-push-system\u002F00-overview","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian","https:\u002F\u002Fgithub.com\u002Fdevwinsoft","Kim Hyong Joon","2026-04-12 18:44:10",{"source":7,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add devwinsoft\u002Fdevian --skill 00-overview",{"tool":37,"command":38},"bunx","bunx skills add devwinsoft\u002Fdevian --skill 00-overview",{"tool":40,"command":41},"pnpm","pnpm dlx skills add devwinsoft\u002Fdevian --skill 00-overview","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian-unity\u002F50-mobile-package\u002F52-push-system\u002F00-overview\u002FSKILL.md",true,[45,51],{"path":46,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":49,"sourceHtmlUrl":50},"SOURCE.md","REFERENCE","参考文档",196,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Falienbase-base-dex\u002FSOURCE.md",{"path":52,"resourceType":47,"resourceTypeDesc":48,"sizeBytes":53,"sourceHtmlUrl":54},"TRUST.auto.yaml",2217,"https:\u002F\u002Fgithub.com\u002Fjiayaoqijia\u002Fcryptoskill\u002Fblob\u002Fmain\u002Fskills\u002Fdefi\u002Falienbase-base-dex\u002FTRUST.auto.yaml",[56,62,70,78,87,94],{"skillNo":57,"name":58,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":61,"publishedAt":20},"01M6CBX3K2JJV38ANHVGCAT8A0","devian","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002FSKILL.md",[],[58],{"skillNo":63,"name":64,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":20},"01M6CBX210BFMM8AMN770J9WY8","90-project-archive","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F90-project-archive\u002FSKILL.md",[],[68,69],"archive","90 project archive",{"skillNo":71,"name":72,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":20},"01M6CBWZSGRR9R3YJZB3177667","30-env-management","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F30-env-management\u002FSKILL.md",[],[76,77],"management","30 env management",{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":20},"01M6CBWYD3TGWBQV7V35551THF","19-page-push-send","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F19-page-push-send\u002FSKILL.md",[],[84,85,86],"push","page","19 page push send",{"skillNo":88,"name":89,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":20},"01M6CBWWRQ05A7604GHJKTPJTF","18-page-savedata","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F18-page-savedata\u002FSKILL.md",[],[85,93],"18 page savedata",{"skillNo":95,"name":96,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":20},"01M6CBWVH4S2VF1V7B2GBTESCT","17-page-deobfuscate","https:\u002F\u002Fgithub.com\u002Fdevwinsoft\u002Fdevian\u002Fblob\u002Fmain\u002Fskills\u002Fdevian\u002F80-tools\u002F20-operation\u002F17-page-deobfuscate\u002FSKILL.md",[],[85,100],"17 page deobfuscate"]