Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> iOS

วิธีเปิด App Store จากแอป iOS

เปิด App Store หน้าแอปที่ต้องการจากแอป iOS

ใช้ Deep Link URL รูปแบบ itms-apps:// หรือ https://apps.apple.com

ขั้นตอนที่ 1: สร้างโปรเจกต์

Xcode → Single View App → ชื่อ "OpenAppStore"

ขั้นตอนที่ 2: เพิ่ม Button และ IBAction

Button Title: "Open App Store" → IBAction: openAppStoreClicked

ขั้นตอนที่ 3: โค้ดเปิด App Store

รูปแบบใหม่ (iOS 11+) - ใช้ https

@IBAction func openAppStoreClicked(_ sender: Any) {
    // รูปแบบ: https://apps.apple.com/app/id
    let appID = "284882215" // Facebook App ID
    let urlString = "https://apps.apple.com/app/id\(appID)"
    
    guard let url = URL(string: urlString) else { return }
    
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
}

รูปแบบเก่า (ยังใช้ได้) - itms-apps

let urlString = "itms-apps://itunes.apple.com/app/id\(appID)"

หา App ID ได้ที่ไหน?

  • App Store Connect → App Information → Apple ID
  • URL ของแอปใน App Store: https://apps.apple.com/app/id
  • เว็บไซต์: https://itunes.apple.com/lookup?id=

ขั้นตอนที่ 4: รันทดสอบ

กดปุ่ม → App Store เปิดหน้าแอป Facebook (หรือแอปของคุณ)


กรณีใช้งานทั่วไป

1. Rate Us / Review Prompt

func openAppStoreForReview() {
    let urlString = "https://apps.apple.com/app/id\(appID)?action=write-review"
    // ?action=write-review เปิดหน้า Review ทันที
}

2. เปิดหน้า Developer (Apps by this Developer)

let urlString = "https://apps.apple.com/developer/id"

3. ใช้ SKStoreProductViewController (In-App Store)

แสดง App Store ภายในแอป ไม่ต้องออกไปนอกแอป

import StoreKit

let storeVC = SKStoreProductViewController()
storeVC.delegate = self
storeVC.loadProduct(withParameters: [SKStoreProductParameterITunesItemIdentifier: appID]) { success, error in
    if success {
        present(storeVC, animated: true)
    }
}

// Delegate
func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
    viewController.dismiss(animated: true)
}

สรุป

วิธีเหมาะสำหรับ
UIApplication.open (https)เปิด App Store แบบธรรมดา, Rate Us
SKStoreProductViewControllerIn-App Purchase Flow, Cross-promotion
itms-apps://Legacy Support, Deep Link เฉพาะเจาะจง