ãiOSãðApp Storeã®âïžã¬ãã¥ãŒãèŠæ±ããæè¡
ã¢ããªã®ã¬ãã¥ãŒæ°ãå¢ããããã§ãããïŒ
æ€çŽ¢ãµã€ãïŒã»ãŒGoogleïŒãžã®æé©åãSEOãšèšããŸããã
ã¢ãã€ã«ã¢ããªã®ã¹ãã¢ã®æé©åãASO(App Store Optimization)ãšèšãããã§ãã
ãã®èšäºã¯ãåãiOSã¢ããªã®å人éçºã®äžã§ãæ£æ»æ³ã§ã¬ãã¥ãŒãèŠæ±ããéã暡玢ãããã®ã§ãã
ååã§åçååã®è©±ãããŠãåŸåã«å®è£
æ¹æ³ãæžããŸãã
Appleã¯äœãèšã£ãŠããã
ã¬ãã¥ãŒèŠæ±ã«ã€ããŠãAppleã¯äœãèšã£ãŠããã§ããããã
Human Interface GuidelinesïŒä»¥äžHIGïŒã®äžã«ãããã¯æžãããŠããŸãã
åºæ¬ãšããŠãïŒã€ã®ããšãæžãããŠããŸãã
- ã¢ããªã«ç¿çããååãªæéãäžããåŸã§ã¬ãã¥ãŒãèŠæ±ãã
- ãŠãŒã¶ãŒã倧äºãªã¿ã¹ã¯ãåŠçããŠããšãã«ã¬ãã¥ãŒãèŠæ±ããªã
- ãã€ãããã€ã¢ãã°ãåºããªã
ãã®èŸºã¯åè«ããªãããšæããŸãã
ä»ã®ã¹ãã¢ã«ãããŠãããã®3ã€ããã£ãŠããã¢ããªã¯ãããªãã§ããã
ãããŠApp Storeç¹æã®ç¹ãšããŠã¯ã
- ã·ã¹ãã æäŸã®ãã€ã¢ãã°ãåºãããšã奜ãŸãã
- ïŒâ以å€ã®ïŒãã¿ã³ãã³ã³ãããŒã©ãŒã䜿ããªã
ãšããããšãæžãããŠããŸãã
ã¬ãã¥ãŒèŠæ±ã®ããã«ã«ã¹ã¿ãã€ãºããããã¿ã³ãåºããŠãã¢ããªãç¥ã£ãŠããŸããã
æçµçã«ã¯Appleã®æäŸããŠããã€ã¢ãã°ãåºããŠãããšæããŸãã
ãã£ãäžã€ã®éçºè ãå®ãã¹ãããš
åã®æèŠã ãšãéçºè
ãã¬ãã¥ãŒèŠæ±ã«ã€ããŠå®ãã¹ãããšã¯ãã äžã€ã§ãã
ããã¯ããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã劚害ããªããã§ãã
ãŠãŒã¶ãŒã¯ç®çããã£ãŠã¢ããªãéããŠããŸãã
ãã®ç®çããã¬ãã¥ãŒãã€ã¢ãã°ã§åŠšå®³ããã®ã¯ãããŸãããã
ã¬ãã¥ãŒãã€ã¢ãã°ãåºããªãéžæè¢ããªã
ããããã¬ãã¥ãŒãã€ã¢ãã°ã¯éªéã ããå®è£
ããªããŠããããšããå€æãããããšã¯æããŸãã
ããããããè¯ããªããšæã£ãŠããŸãã
ç¹ã«å人éçºã ãšãã¬ãã¥ãŒãå
šç¶ã€ããªããšãã¢ãããŒã·ã§ã³ãé²éªšã«èœã¡ãŸãã
é©åãªã¿ã€ãã³ã°ã§ãã¬ãã¥ãŒãã€ã¢ãã°ãåºãã®ããã¹ãã ãšåã¯æããŸãã
ã¡ãªã¿ã«ã§ãããåã®å人éçºã®ã¢ããªãPieces of Paperãã®äŸã§è©±ããšã
2020/10/17ã®ã¬ãã¥ãŒèŠæ±ãã€ã¢ãã°ãå
¥ããçŽåã§ã¯ãããŒã¿ã«ã¬ãã¥ãŒ12件ã ã£ããã®ãã2020/10/22ã«ã¯24件ã«ãªããŸããã
ã¬ãã¥ãŒãã€ã¢ãã°ãåºãé©åãªã¿ã€ãã³ã°ãèãã
ããããã¬ãã¥ãŒãã€ã¢ãã°ãåºãé©åãªã¿ã€ãã³ã°ã£ãŠãã€ïŒããšãã話ã§ãããããã¯ã¢ããªã«ãããŸãã
ãã ååãšããŠã¯ããŠãŒã¶ãŒãããã¢ã¯ã·ã§ã³ãçµããã¿ã€ãã³ã°ãé©åãªã¿ã€ãã³ã°ã§ãã
ã¢ããªã®çš®é¡ã«ãã£ãŠã¯ããã®ã¿ã€ãã³ã°ãåãã¥ããã£ããããã®ã¿ã€ãã³ã°ã§åºããšïŒïŒïŒïŒ
åå¿ããŠããããªãã£ãããããã®ãããããšã¯æããŸããã倧ååã¯ãã¢ã¯ã·ã§ã³ã®çµäºãã§ãã
ããšãã°åã®ããŒãã¢ããªã§ã¯ããŠãŒã¶ãŒãããŒããæžãçµããŠãäžèŠ§ç»é¢ã«é·ç§»ããã¿ã€ãã³ã°ã§ã¬ãã¥ãŒãã€ã¢ãã°ãåºããŠããŸãã
æè¿YouTubeã®ã¢ããªãæäœããŠããããåç»ãèŠçµããŠãŠã£ã³ããŠãéããã¿ã€ãã³ã°ã§ã¬ãã¥ãŒãã€ã¢ãã°ãåºãã®ãèŠã€ããŠããããã£ãŠãããããšæããŸããã
ïŒããã©ãããã£ãã®ã§ã¬ãã¥ãŒã¯ããŸããã§ãããâŠâŠïŒ
ä»ã®ã¢ããªã ãšãMacçã ã£ããšæããã§ãããZoomãé話çµäºããã¿ã€ãã³ã°ã§ãã¬ãã¥ãŒãé¡ãããŸãïŒããšããã¡ãã»ãŒãžãåºããŠãã®ããã©ããšèŠãæ°ãããŸãã
ã¿ã€ãã³ã°çã«ã¯æ£è§£ãªãã§ãããé話ã¢ããªã ãšãé話ãçµäºããããšã£ãŠããããã«ã§ãã¢ããªãéããŠå¥ã®äœæ¥ã«è¡ããããªãã®ã§ãã¬ãã¥ãŒããŠãããæçã¯äœããã ãšæããŸããã
ãã ã ãããšèšã£ãŠé話ã®éå§åã«ã¬ãã¥ãŒåºãã®ã¯ã€ããã®ã§ãé£ãããšããã§ããã
ããè©äŸ¡ããŠãããããªãŠãŒã¶ãŒã«åºã
Appleã¯ãç¿çããŠãªããŠãŒã¶ãŒã«ã¯ã¬ãã¥ãŒãã€ã¢ãã°ãåºããªããšèšã£ãŠããŸãããéçºè çã«ã¯æ£çŽãèªåã®ã¢ããªã®ãã¡ã³ã«ã ãã¬ãã¥ãŒãã€ã¢ãã°ãåºãããïŒããšããæ°æã¡ãããããšæããŸãã
ïŒïŒïŒïŒ
ã®ç²ŸåºŠã§ã¯ã§ããŸããããè¿ããããšã¯ã§ããŸãã
ã¬ãã¥ãŒãã€ã¢ãã°ãåºãéã«ãäœããã®æ¡ä»¶ã¥ããããããšã§ãèªåã®ã¢ããªã®ãã¡ã³ãšæããããŠãŒã¶ãŒãçµãããšãã§ããŸãã
ããšãã°åã®ããŒãã¢ããªã ãšããïŒã€ä»¥äžã®ããŒãããŒã¿ãä¿æããŠãããŠãŒã¶ãŒããšããæ¡ä»¶ãã€ããŠããŸãã
ã¢ããªãæ°ã«å
¥ã£ãŠããªããã°ãïŒã€ãããŒãã€ãããªããšæãã®ã§ããã®æ¡ä»¶ã¯ãªããªããããšæã£ãŠããŸãã
ïŒãšããæ°åã絶åŠãªã©ã€ã³ã§ãåã®ã¢ããªãããã®ãŠãŒã¶ãŒæ°ã ãšã¬ãã¥ãŒãããããæžããŠãããããã«ã¯ã
ã¡ãã£ãšéŸå€ãäžããŠã§ãããããã®ãŠãŒã¶ãŒã«ãã€ã¢ãã°ãåºãããããšããæ°æã¡ããã£ãŠãïŒã«ããŠããŸãã
æ¬åœã«èªåã®ã¢ããªã®ãã¡ã³ã«ã ãåºããããªããïŒïŒä»¥äžããããããããšæããŸãããããã¯ãã¬ãŒããªãã§ããã
å®è£ æ¹æ³
äžè¿°ã®éããAppleããã€ã¢ãã°ãçšæããŠãããŠããã®ã§ãããã䜿ãã°å®è£
ã§ããŸãã
iOS 14以éãªãããã§ãã
if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
SKStoreReviewController.requestReview(in: scene)
}
iOS 14以åãªã
SKStoreReviewController.requestReview()
requestReview()
ãã¯ãæ軜ã ã£ããã§ãããDeperecatedæ±ãã«ãªã£ãŠãŸãã
以åå人éçºã®ã¢ããªã®ãã«ãªã¯ããåèã§èŒããŠãããŸãã
ã¡ãªã¿ã«ã§ããã
private func requestAppStoreReview() {
guard drawings.count >= 5 else { return } // frequently used
guard !UserDefaults.standard.bool(forKey: "DidAppStoreReviewRequested") else { return } // request once
// âŠ
}
ãã®éšåã§äžè¿°ã®ãããŒãã®ããŒã¿ãïŒã€ä»¥äžããããšããæ¡ä»¶ã¥ããããŠããŸãã
ãŸããUserDefaultsã䜿ã£ãŠãäžåºŠã¬ãã¥ãŒãã€ã¢ãã°ãåºãããŠãŒã¶ãŒã«ã¯åºããªãããå¶åŸ¡ãå
¥ããŠããŸãã
ãã»ã©ã¬ãã¥ãŒããŠæ¬²ãããã°ãåããŠãŒã¶ãŒã§ãæéããããŠäœåãåºããŠãããããã§ããããã€ãã¹å¹æããããªãã«ããã®ã§ãåã¯äžååºãã°ååãšæã£ãŠããŸãã
SwiftUIããŒã¹ã®ã¢ããªã§ããSKStoreReviewController.requestReview(in: scene)
ã䜿ãããšã«ãªããŸãã
ãã Sceneã®ååŸã«ã€ããŠãUIApplication.shared.connectedScenes
ã§ã¯ãªã UIApplication.shared.windows
ã䜿ããŸããã
// for SwiftUI
if let windowScene = UIApplication.shared.windows.first?.windowScene {
SKStoreReviewController.requestReview(in: windowScene)
}
ã°ã°ã£ãŠãSwiftUIã§ã¯ããã ãããšåºãŠããã®ãéã«äœ¿ã£ãã ããªã®ã§ãäž¡è ã®å·®ç°ã¯ããŸãè¯ãããã£ãŠãŸããããã
ããå®è£ äŸã欲ããæ¹ã¯ãâã®ãã«ãªã¯ãã芧ãã ããã
Discussion