ลิงก์ App store สำหรับ“ ให้คะแนน / วิจารณ์แอปนี้”


193

ฉันต้องการนำคุณลักษณะ "ให้คะแนน / วิจารณ์แอปนี้" ในแอปของฉัน

มีวิธีเชื่อมโยงโดยตรงไปยังหน้าจอในร้านค้าแอพที่พวกเขาตรวจสอบแอพหรือไม่? ดังนั้นลูกค้าไม่ต้องคลิกผ่านลิงค์แอพหลัก ขอบคุณ

แก้ไข: เริ่มต้นเงินรางวัลนี้เนื่องจากขาดการตอบสนอง เพียงเพื่อให้แน่ใจว่ามันชัดเจน: ฉันทราบว่าฉันสามารถเชื่อมโยงไปยังหน้าแอพของฉันในร้านค้าและขอให้ผู้ใช้คลิกจากที่นั่นไปยังหน้าจอ "ตรวจสอบแอปนี้" คำถามคือสามารถเชื่อมโยงโดยตรงไปยังหน้าจอ "ตรวจสอบแอพนี้" ได้หรือไม่เพื่อให้พวกเขาไม่ต้องคลิกอะไรเลย


1
ดูคำตอบของฉันที่นี่: stackoverflow.com/questions/3011246/…
iwasrobbed

คำตอบ:


349

สำหรับรุ่นที่ต่ำกว่า iOS 7 ให้ใช้รุ่นเก่า:

itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=YOUR_APP_ID

ใช้งานได้ในตอนท้ายของฉัน (Xcode 5 - iOS 7 - อุปกรณ์ !):

itms-apps://itunes.apple.com/app/idYOUR_APP_ID

สำหรับ iOS 8 หรือใหม่กว่า:

itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=YOUR_APP_ID&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software

ข้อมูลโค้ด (คุณสามารถคัดลอกและวาง):

#define YOUR_APP_STORE_ID 545174222 //Change this one to your ID

static NSString *const iOS7AppStoreURLFormat = @"itms-apps://itunes.apple.com/app/id%d";
static NSString *const iOSAppStoreURLFormat = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d";

[NSURL URLWithString:[NSString stringWithFormat:([[UIDevice currentDevice].systemVersion floatValue] >= 7.0f)? iOS7AppStoreURLFormat: iOSAppStoreURLFormat, YOUR_APP_STORE_ID]]; // Would contain the right link

167
หมายเหตุ - ที่ "type = สีม่วง + ซอฟแวร์" มีที่จะมีและมันก็มีจะเป็นตัวอักษร "ซอฟแวร์สีม่วง" - มันไม่ได้เป็นชื่อของ บริษัท ของคุณก็สมญานามสำหรับการใช้งาน iPhone A :) ผมเสียชั่วโมงก่อนฉันคิดออกนี้ ...
Kuba Suder

16
มันน่าสังเกตว่ามันไม่ได้ทำงานในเครื่องจำลอง แต่มันใช้งานได้กับอุปกรณ์จริง
โจเซฟ

1
FYI ดูเหมือนว่าจะใช้งานได้ใน iPad แต่เฉพาะครั้งที่สองเท่านั้นไม่ใช่ครั้งแรกที่ฉันลอง (หลังจากฆ่าแอพ iTunes & App Store)
Michael

13
ใน iOS 7 นี่เป็นการพาฉันไปที่หน้าร้าน แต่ไม่ได้เลือกแท็บรีวิว
devios1

40
ในฐานะที่เป็นส่วนหนึ่งของ iOS 10.3 มีพารามิเตอร์แบบสอบถามใหม่ที่สามารถเพิ่มไปยัง action=write-reviewURL: ฉันได้ทดสอบสิ่งนี้ใน iOS 10.2 แล้ว แต่มันไม่ทำงาน นี่จะเป็นการเปิดกล่องโต้ตอบ "เขียนรีวิว"แทนที่จะแสดงเพียงแท็บรีวิว ตัวอย่าง: itunes.apple.com/gb/app/ ......
Joseph Duffy

61

ปรับปรุง:

Swift 5.1, Xcode 11

ทดสอบบนอุปกรณ์จริง iOS 13.0 (รับประกันว่าใช้งานได้)

import StoreKit

func rateApp() {

    if #available(iOS 10.3, *) {

        SKStoreReviewController.requestReview()

    } else {

        let appID = "Your App ID on App Store"
        let urlStr = "https://itunes.apple.com/app/id\(appID)" // (Option 1) Open App Page
        let urlStr = "https://itunes.apple.com/app/id\(appID)?action=write-review" // (Option 2) Open App Review Page

        guard let url = URL(string: urlStr), UIApplication.shared.canOpenURL(url) else { return }

        if #available(iOS 10.0, *) {
            UIApplication.shared.open(url, options: [:], completionHandler: nil)
        } else {
            UIApplication.shared.openURL(url) // openURL(_:) is deprecated from iOS 10.
        }
    }
}

ใช้งานได้ใน iOS 10.3
Vladimir Shutyuk

ลบวงเล็บออกจากสตริง appID และใช้งานได้
richc

7
มันไม่ทำงานอีกต่อไป <product-url> การทำงานคืออะไร action = write-review โปรดตรวจสอบเอกสารนี้เพื่อความเข้าใจที่ดีขึ้น: developer.apple.com/documentation/storekit/
......

38

ทุกอย่างที่เขียนไว้ด้านบนถูกต้อง เพียงตัวอย่างที่จะแทรกลงในแอพและเปลี่ยน {รหัสแอปของคุณ} เป็นรหัสแอปจริงที่นำมาจาก iTunesconnect เพื่อแสดงหน้ารีวิว โปรดทราบว่ามันเป็นความเห็นด้านบนว่ามันไม่ทำงานบน Simulator - เพียงอุปกรณ์
- การแก้ไขเนื่องจากการเปลี่ยนแปลง iOS 7

NSString * appId = @"{YOUR APP ID}";
NSString * theUrl = [NSString  stringWithFormat:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software",appId];
if ([[UIDevice currentDevice].systemVersion integerValue] > 6) theUrl = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appId];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:theUrl]];

นี่เป็นเพียงการแสดงหน้า App Store ที่ว่างเปล่าสำหรับฉัน ดูเหมือนว่าคุณจะต้องเติม 'id' ก่อนรหัสจริง
Ger

วงเล็บเหลี่ยมสำหรับ appId จำเป็นหรือไม่ เพราะฉันลืมที่จะรวมพวกเขาและฟังก์ชั่นอัตรายังคงทำงานได้ดี
เกล็

1
ใช้หมายเลขยกเว้น {APP ID ของคุณ} หมายถึง @ "5555555555" - วงเล็บแสดงว่าเป็นค่า
ETech

37

แก้ไข: โซลูชัน iOS 11

นี่คือคำตอบสำหรับคำตอบเดิมของฉัน (ดูด้านล่าง) เมื่อใช้ iOS 11 รูปแบบลิงก์ต่อไปนี้จะใช้งานได้:

https://itunes.apple.com/us/app/appName/idAPP_ID?mt=8&action=write-review

เพียงแทนที่APP_IDด้วย ID แอปเฉพาะของคุณ กุญแจสำคัญที่จะทำให้การทำงานของการเชื่อมโยงเป็นรหัสประเทศ ลิงค์ด้านบนใช้usรหัส แต่จริง ๆ แล้วไม่สำคัญว่าจะใช้รหัสใด ผู้ใช้จะถูกนำไปยังร้านค้าของเขาโดยอัตโนมัติ

การอัปเดต iOS 11:

ดูเหมือนว่าไม่มีวิธีแก้ปัญหาใดที่นำเสนอในคำตอบอื่น ๆ เพื่อเข้าสู่หน้ารีวิวโดยตรงบน iOS 11

ปัญหาที่เกิดขึ้นส่วนใหญ่มีแนวโน้มเป็นที่หน้าแอปใน iOS 11 App Store app ไม่ไม่ได้มีแท็บรีวิวอีกต่อไป ตอนนี้บทวิจารณ์จะอยู่ด้านล่างคำอธิบายและภาพหน้าจอแทน แน่นอนว่ายังคงเป็นไปได้ที่จะเข้าถึงส่วนนี้โดยตรง (เช่นมีสมอเรือ) แต่ดูเหมือนว่าApple ไม่รองรับ / ตั้งใจ

การใช้ลิงค์ใดลิงค์หนึ่งต่อไปนี้จะไม่ทำงานอีกต่อไป พวกเขายังนำผู้ใช้ไปยังแอพ App Store แต่ไปยังหน้าว่างเท่านั้น :

itms-apps://itunes.apple.com/app/idYOUR_APP_ID?action=write-review
itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=YOUR_APP_ID&onlyLatestVersion=true&pageNumber=0&sortOrdering=1&type=Purple+Software

ทุกคนที่ยังใช้ลิงก์เหล่านี้ควรอัปเดตแอพโดยเร็วเพราะการอ้างอิงผู้ใช้ไปยังหน้า App Store ที่ว่างเปล่านั้นมักจะไม่ใช่สิ่งที่คุณตั้งใจ

ลิงค์ที่ไม่ได้อ้างถึงหน้ารีวิว แต่ไปที่หน้าแอพยังคงใช้งานได้เช่น

itms-apps://itunes.apple.com/app/idYOUR_APP_ID   (same as above, but without write-review parameter)

ดังนั้นคุณยังสามารถนำผู้ใช้ไปยังหน้าร้านค้าแอพของคุณ แต่ไม่สามารถไปที่ส่วนการตรวจสอบโดยตรงอีกต่อไป ขณะนี้ผู้ใช้ต้องเลื่อนลงไปที่ส่วนการตรวจสอบด้วยตนเองเพื่อแสดงความคิดเห็น

ไม่มีคำถามนี่คือ "ผลประโยชน์ที่ยอดเยี่ยมและยอดเยี่ยมสำหรับประสบการณ์ผู้ใช้และจะช่วยให้นักพัฒนามีส่วนร่วมกับผู้ใช้ในการแสดงความคิดเห็นคุณภาพสูงโดยไม่ทำให้พวกเขารำคาญ" แอปเปิ้ลทำได้ดี ...


SKStoreReviewController requestReview () ทำงานหรือไม่?
dev_m

1
เกี่ยวกับ SKStoreReviewController: "ร้องขอ StoreKit เพื่อขอความเห็นจากผู้ใช้แอพซึ่งอาจแสดงหรือไม่แสดง UI ใด ๆ " ดังนั้น SKStoreReviewController ไม่ใช่วิธีแก้ปัญหา ฉันพยายามหลีกเลี่ยงมัน
Fallstreak

26

วิธีการข้างต้นทั้งหมดถูกต้อง แต่ทุกวันนี้การใช้SKStoreProductViewControllerนำไปสู่ประสบการณ์การใช้งานที่ดีขึ้น ในการใช้งานคุณจะต้องทำสิ่งต่อไปนี้:

  • ใช้SKStoreProductViewControllerDelegateโปรโตคอลในตัวแทนแอพของคุณ
  • เพิ่มวิธีการที่ต้องการproductViewControllerDidFinish :

    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
      [viewController dismissViewControllerAnimated: YES completion: nil];
    }
  • ตรวจสอบว่ามีคลาสSKStoreProductViewControllerหรือไม่และแสดงหรือเปลี่ยนเป็น App Store:

    extern NSString* cAppleID; // must be defined somewhere...
    
    if ([SKStoreProductViewController class] != nil) {
      SKStoreProductViewController* skpvc = [[SKStoreProductViewController new] autorelease];
      skpvc.delegate = self;
      NSDictionary* dict = [NSDictionary dictionaryWithObject: cAppleID forKey: SKStoreProductParameterITunesItemIdentifier];
      [skpvc loadProductWithParameters: dict completionBlock: nil];
      [[self _viewController] presentViewController: skpvc animated: YES completion: nil];
    }
    else {
      static NSString* const iOS7AppStoreURLFormat = @"itms-apps://itunes.apple.com/app/id%@";
      static NSString* const iOSAppStoreURLFormat = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@";
      NSString* url = [[NSString alloc] initWithFormat: ([[UIDevice currentDevice].systemVersion floatValue] >= 7.0f) ? iOS7AppStoreURLFormat : iOSAppStoreURLFormat, cAppleID];
      [[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
    }

5
นี่ดูเหมือนเป็นทางออกที่ดี แต่ฉันไม่สามารถใช้งานได้ ปุ่ม "เขียนคำวิจารณ์" ถูกปิดใช้งาน ฉันคิดในตอนแรกว่าเป็นเพราะฉันใช้งานเวอร์ชัน dev อยู่และคิดว่าอาจต้องติดตั้งแอพสโตร์ ดังนั้นฉันจึงสร้าง id ชุดใหม่ทั้งหมดและรันพร้อมกับเวอร์ชั่นของ app store และยังไม่มีโชค อ้างอิงจากโพสต์นี้ดูเหมือนว่าปุ่ม "เขียนรีวิว" ถูกปิดใช้งานใน iOS 7+ stackoverflow.com/questions/19058069/…
Matt R

@MattR อาจเป็นเพราะคุณยังไม่ได้ซื้อแอพนั้น ปุ่ม "เขียนคำวิจารณ์" เปิดใช้งานสำหรับฉัน แต่ไม่ได้ทำอะไรเลย ฉันจะต้องทดสอบว่ามันใช้งานได้เฉพาะถ้าคุณซื้อแอป
Kamran Khan

3
ความคิดใด ๆ วิธีการเปิดแท็บ "ความคิดเห็น" โดยค่าเริ่มต้นด้วยการใช้งานนี้? เอกสารประกอบของ Apple ให้พารามิเตอร์ 3 ตัวเท่านั้น แต่ดูเหมือนว่าไม่มีสิ่งใดที่เกี่ยวข้องกับสิ่งที่ฉันต้องการ: SKStoreProductParameterITunesItemIdentifier, SKStoreProductParameterAffiliateToken & SKStoreProductParameterCampaignToken
Jovan

@ KamranKhan ฉันเห็นเหมือนกัน ฉันสงสัยว่านี่ถูกปิดการใช้งานในรุ่น dev หรือไม่ คุณได้ลองทำสิ่งนี้ในแอปที่จัดส่งแล้ว (ลงชื่อ) เพื่อดูว่าใช้งานได้หรือไม่
Shammi

@Shammi ไม่ฉันยังไม่ได้ตรวจสอบ
Kamran Khan

15

โซลูชันสำหรับ iOS 11

URL ของ App Store สั้น ๆ ไม่ถูกต้องเปิดอินเทอร์เฟซ "เขียนรีวิว" ใน iOS 11 App Store ใหม่ ตัวอย่างเช่นสิ่งนี้ใช้ไม่ได้ :

https://itunes.apple.com/app/id333903271?mt=8&action=write-review

วิธีแก้ปัญหาคือการใส่รหัสประเทศและตัวอักษรสองตัวในชื่อ URL เช่นนี้:

https://itunes.apple.com/ เรา /แอพ / twitter / id333903271? mt = 8 & action = write-review

หรือ

itms-apps: //itunes.apple.com/ us / app / twitter / id333903271? mt = 8 & action = write-review

คุณสามารถรับ URL แบบเต็มของแอปได้ที่นี่: https://linkmaker.itunes.apple.com/

วิธีนี้จะเปิดอินเทอร์เฟซ "เขียนรีวิว" ใน iOS 11 App Store

แก้ไข:เนื่องจาก @Theo กล่าวถึงด้านล่างรหัสประเทศไม่จำเป็นต้องแปลเป็นภาษาท้องถิ่นและไม่จำเป็นต้องอัปเดตชื่อแอปใน URL หากชื่อแอปมีการเปลี่ยนแปลง

หวังว่า Apple จะแก้ไขปัญหานี้ในเร็ว ๆ นี้สำหรับ URL ที่สั้นลง ดูที่rdar: // 34498138


3
วิธีนี้เป็นวิธีที่ถูกต้องสำหรับ iOS ที่ 11 เป็นที่รู้จักในWWDC เซสชัน 303 โปรดทราบว่าmt=8ไม่จำเป็นต้องใช้พารามิเตอร์ ยิ่งไปกว่านั้นจำเป็นต้องใช้รหัสประเทศและชื่อแอปใน URL แต่ไม่ต้องสนใจ ดังนั้น URL จึงไม่จำเป็นต้องมีการแปลหรืออัปเดตเมื่อชื่อแอปมีการเปลี่ยนแปลง
Theo

@ พวกเขาถูกต้องเฉพาะ ID เท่านั้นที่จำเป็นต้องเปลี่ยน:itms-apps://itunes.apple.com/xy/app/foo/id{your_app_id}?action=write-review
DaveAlden

4
อย่างจริงจัง? เราต้องดู WWDC กี่ชั่วโมงเพื่อหลีกเลี่ยงสิ่งนี้?!?
thibaut noah

1
เช่นเดียวกับโน้ตสำหรับคนอื่น ๆ , การเชื่อมโยงลึกใหม่ที่สามารถใช้ได้ตั้งแต่ iOS 10.3 ขณะที่กล่าวในงาน WWDC เซสชัน 303
Kjuly


11

ลิงก์ก่อนหน้านี้ทั้งหมดไม่ตรงไปยังแท็บ "ความเห็น" อีกต่อไป

ลิงก์นี้จะนำไปยัง "แท็บคำวิจารณ์" โดยตรง:

https://itunes.apple.com/app/viewContentsUserReviews?id=AppID

หรือ

itms ปพลิเคชัน: //itunes.apple.com/app/viewContentsUserReviews id = AppID


1
ไม่มีลิงก์อย่างเป็นทางการในไลบรารีนักพัฒนา Apple ที่นำผู้ใช้ไปยัง "แท็บคำวิจารณ์" อย่างไรก็ตามตั้งแต่ ios4 คุณจะพบคำหลักที่สงวนไว้เช่น viewContentsUserReviews หรือ id ที่ Apple ยังคงใช้เป็นพารามิเตอร์รับ URL หากคุณต้องการอยู่อย่างปลอดภัยให้ใช้ Link Maker อย่างเป็นทางการlinkmaker.itunes.apple.com/th-th
Satinos

1
@ Ms. Nehal คำถามถามหาลิงก์ พวกเขาคือคำตอบจริงไม่ใช่ตัวชี้ไปยังคำตอบ
Tobi Nary

9

ใน iOS7 URL ที่เปลี่ยนแอพของคุณเป็น App Store สำหรับอัตราและรีวิวได้เปลี่ยนไป:

itms-apps://itunes.apple.com/app/idAPP_ID

ตำแหน่งที่ APP_ID ต้องถูกแทนที่ด้วย ID แอปพลิเคชันของคุณ

สำหรับ iOS 6 ขึ้นไป URL ในคำตอบก่อนหน้านี้ใช้ได้ดี

ที่มา: Appirater

เพลิดเพลินกับการเข้ารหัส .. !!


มันใช้งานได้บน iPhone .. ไม่เคยทดสอบบน iPad ลิงก์ใช้งานได้บน iPhone ลองแก้ไขข้อผิดพลาด !!
Sahil Mahajan

2
ฉันได้สี่เหลี่ยมสีขาวเพราะฉันไม่ทราบว่าคุณใส่ "id" ลงในหมายเลขของคุณใน URL ฉันเพิ่งลอง "... / app / 123123123" และไม่ใช่: "... / app / id123123123" ฮ่าฮ่าอัปยศฉันที่อ่านไม่ถูกต้อง หวังว่านี่จะช่วยให้ทุกคนที่ตั้งใจทำเช่นนั้นด้วยเช่นกัน
cclogg

8

มีวิธีใหม่ในการทำเช่นนี้ในiOS 11+ (app store ใหม่) คุณสามารถเปิดกล่องโต้ตอบ "เขียนรีวิว" ได้โดยตรง

ตัวอย่าง iOS 11:

itms-apps://itunes.apple.com/us/app/id1137397744?action=write-review

หรือ

https://itunes.apple.com/us/app/id1137397744?action=write-review

หมายเหตุ:

  • ต้องระบุรหัสประเทศ ( /us/) มันอาจเป็นรหัสประเทศใด ๆ ก็ได้ไม่สำคัญ
  • เปลี่ยนรหัสแอพ ( 1137397744) เป็นรหัสแอพของคุณ (รับจาก iTunes URL)
  • หากคุณต้องการสนับสนุน iOS เวอร์ชันเก่า (ก่อนหน้า 11) คุณจะต้องมีตรรกะเงื่อนไขเพื่อเชื่อมโยงด้วยวิธีนี้หากเวอร์ชั่นของระบบปฏิบัติการดีกว่าหรือเท่ากับ 11

8

การใช้ URL นี้เป็นโซลูชันที่สมบูรณ์แบบสำหรับฉัน Write a Review sectionมันจะนำผู้ใช้โดยตรงกับ เครดิตไปที่ @Joseph Duffy ต้องลอง

URL = itms-apps://itunes.apple.com/gb/app/idYOUR_APP_ID_HERE?action=write-review&mt=8 แทนที่YOUR_APP_ID_HEREด้วยAppIdของคุณ

สำหรับโค้ดตัวอย่างลองทำสิ่งนี้:

Swift 3, Xcode 8.2.1:

 let openAppStoreForRating = "itms-apps://itunes.apple.com/gb/app/id1136613532?action=write-review&mt=8"
 if let url = URL(string: openAppStoreForRating), UIApplication.shared.canOpenURL(url) {
      UIApplication.shared.openURL(url)
 } else {
      showAlert(title: "Cannot open AppStore",message: "Please select our app from the AppStore and write a review for us. Thanks!!")
 }

นี่ showAlert UIAlertControllerเป็นฟังก์ชั่นที่กำหนดเองสำหรับ


2
โปรดอย่าเพิ่มคำตอบเดียวกันในหลายคำถาม ตอบคำถามที่ดีที่สุดและทำเครื่องหมายส่วนที่เหลือเป็นรายการซ้ำ ดูเป็นที่ยอมรับหรือไม่ที่จะเพิ่มคำตอบซ้ำสำหรับคำถามหลายข้อ?
g00glen00b

1
ขอบคุณครับ ฉันใหม่กับสิ่งนี้และการเรียนรู้ ขอบคุณสำหรับแนวทางที่จะเก็บไว้ในใจ
Ankit Kumar Gupta

7

เริ่มต้นจาก iOS 10.3 คุณสามารถแนบaction=write-reviewรายการข้อความค้นหากับhttps://itunes.apple.com/...และhttps://appsto.re/...URL ของคุณ บน iOS 10.3 ขึ้นไปจะเปิดขึ้นWrite a reviewโดยอัตโนมัติในขณะที่รุ่น iOS ที่ต่ำกว่าจะย้อนกลับไปที่หน้า App Store ของแอพ

อัปเดต iOS 11 : ใช้ linkmaker ของ Apple: linkmaker.itunes.apple.com และผนวก&action=write-reviewดูเหมือนจะเป็นวิธีที่ปลอดภัยที่สุด


4

iOS 4 ได้ทำหน้าที่ "ให้อัตราการลบ" แล้ว

สำหรับตอนนี้ทางเดียวที่จะให้คะแนนแอปพลิเคชั่นคือผ่าน iTunes

แก้ไข: สามารถสร้างลิงค์ไปยังแอปพลิเคชันของคุณผ่าน iTunes Link Maker ไซต์นี้มีบทช่วยสอน


ขอบคุณ . . และสิ่งที่ฉันกำลังมองหาคือลิงค์ iTunes!
วิลเลียม Jockusch

2
ลองใช้ iTunes Link Maker ความเข้าใจของฉันคือมันเปิดตัวสำเนาผู้ใช้ iTunes เพื่อเรียกดูร้านค้า ฉันจะแก้ไขคำตอบเพื่อวางลิงก์ในนั้น
Kynth

4
NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/us/app/kidsworld/id906660185?ls=1&mt=8"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];

4

Swift 2 version ที่นำคุณไปสู่หน้าตรวจสอบสำหรับแอปของคุณทั้ง iOS 8 และ iOS 9:

let appId = "YOUR_APP_ID"
let url = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=\(appId)"

UIApplication.sharedApplication().openURL(NSURL(string: url)!)

3

สำหรับ> = iOS8: (คำตอบของ @ @ EliBud แบบง่าย)

#define APP_STORE_ID 1108885113

- (void)rateApp{
    static NSString *const iOSAppStoreURLFormat = @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d";

    NSURL *appStoreURL = [NSURL URLWithString:[NSString stringWithFormat:iOSAppStoreURLFormat, APP_STORE_ID]];

    if ([[UIApplication sharedApplication] canOpenURL:appStoreURL]) {
        [[UIApplication sharedApplication] openURL:appStoreURL];
    }
}


3

ลิงก์ไปที่แอพใดก็ได้ใน AppStore ผ่าน SKStoreProductViewController

มันง่ายที่จะลิงค์ไปยังแอพของคุณที่ app store ผ่าน SKStoreProductViewController แต่ฉันดิ้นรนเล็กน้อยฉันจึงตัดสินใจที่จะแสดงกระบวนการทั้งหมดและรหัสที่จำเป็น เทคนิคนี้ยังทำให้แน่ใจว่าจะใช้ร้านค้าที่ถูกต้องเสมอ (สำคัญสำหรับแอปที่แปลเป็นภาษาท้องถิ่น)

ในการแสดงหน้าจอผลิตภัณฑ์ของแอพใด ๆ ของแอพสโตร์ภายในแอพของคุณด้วยแอพใด ๆ ของคุณ ViewControllers ทำตามขั้นตอนนี้:

  1. เพิ่ม StoreFit.framework ในการตั้งค่าโครงการของคุณ(เป้าหมายสร้างเฟส -> เชื่อมโยงไบนารีกับไลบรารี
  2. นำเข้า StoreKitไปยังคลาส ViewController
  3. ทำให้ ViewController ของคุณเป็นไปตามโปรโตคอลนี้ SKStoreProductViewControllerDelegate
  4. สร้างวิธีการนำเสนอ StoreViewพร้อมกับหน้าจอผลิตภัณฑ์ที่คุณต้องการ
  5. ปิด StoreView

แต่ที่สำคัญที่สุด: สิ่งนี้ - ด้วยเหตุผลบางอย่าง - ไม่ทำงานในโปรแกรมจำลอง - คุณต้องสร้างและติดตั้งบนอุปกรณ์จริงด้วยการเชื่อมต่ออินเทอร์เน็ต

  1. การเพิ่ม StorKit.framework ให้กับโครงการของคุณ: ค้นหาสิ่งนี้ในการตั้งค่าโครงการของคุณ

SWIFT 4:นี่คือรหัสตามขั้นตอนที่อธิบายไว้ข้างหน้า:

    // ----------------------------------------------------------------------------------------
// 2. Import StoreKit into the ViewController class
// ----------------------------------------------------------------------------------------
import StoreKit

// ...

// within your ViewController

    // ----------------------------------------------------------------------------------------
    // 4. Create the method to present the StoreView with the product screen you want
    // ----------------------------------------------------------------------------------------
    func showStore() {

        // Define parameter for product (here with ID-Number)
        let parameter : Dictionary<String, Any> = [SKStoreProductParameterITunesItemIdentifier : NSNumber(value: 742562928)]

        // Create a SKStoreProduktViewController instance
        let storeViewController : SKStoreProductViewController = SKStoreProductViewController()

        // set Delegate
        storeViewController.delegate = self

        // load product
        storeViewController.loadProduct(withParameters: parameter) { (success, error) in

            if success == true {
                // show storeController
                self.present(storeViewController, animated: true, completion: nil)
            } else {
                print("NO SUCCESS LOADING PRODUCT SCREEN")
                print("Error ? : \(error?.localizedDescription)")
            }
        }
    }

// ...

// ----------------------------------------------------------------------------------------
// 3. Make your ViewController conforming the protocol SKStoreProductViewControllerDelegate
// ----------------------------------------------------------------------------------------
extension ViewController : SKStoreProductViewControllerDelegate {

    // ----------------------------------------------------------------------------------------
    // 5. Dismiss the StoreView
    // ----------------------------------------------------------------------------------------
    func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
        print("RECEIVED a FINISH-Message from SKStoreProduktViewController")
        viewController.dismiss(animated: true, completion: nil)
    }
}

2

นี่คือรหัสที่ฉันใช้ในแอพของฉัน

-(void)rateApp {

     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[@"itms-apps://itunes.apple.com/app/" stringByAppendingString: @"id547101139"]]]; 
}

2

คำตอบที่ยอมรับไม่สามารถโหลดแท็บ "ความเห็น" ฉันพบวิธีการด้านล่างเพื่อโหลดแท็บ "ตรวจทาน" โดยไม่มีแท็บ "รายละเอียด"

[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id={APP_ID}&pageNumber=0&sortOrdering=2&mt=8"]];

แทนที่{APP_ID}ด้วยแอพเก็บรหัสแอพของคุณ


2

สวิฟท์ 3

fileprivate func openAppStore() {
        let appId = "YOUR_APP_ID"
        let url_string = "itms-apps://itunes.apple.com/app/id\(appId)"
        if let url = URL(string: url_string) {
            UIApplication.shared.openURL(url)
        }
    }

2

อ้างจากเอกสารนักพัฒนา Apple

นอกจากนี้คุณยังสามารถรวมลิงก์ถาวรในหน้าจอการตั้งค่าหรือหน้าจอการกำหนดค่าของแอพของคุณซึ่งจะลิงก์ไปยังหน้าผลิตภัณฑ์ App Store ของคุณ หากต้องการเปิดหน้าเว็บที่ผู้ใช้สามารถเขียนบทวิจารณ์ใน App Store โดยอัตโนมัติให้ผนวกพารามิเตอร์การสืบค้น action = write-review เข้ากับ URL ผลิตภัณฑ์ของคุณ

ดังนั้น URL จะเป็นดังต่อไปนี้:

itms-apps: //itunes.apple.com/app/id YOUR_APP_ID ? action = write-review


2

ทำงานได้ดีบน iOS 9 - 11

ยังไม่ได้ทดสอบกับรุ่นก่อนหน้า

[NSURL URLWithString:@"https://itunes.apple.com/app/idXXXXXXXXXX?action=write-review"];


0

เริ่มต้นใน iOS 10.3:

import StoreKit

func someFunction() {
 SKStoreReviewController.requestReview()
}

แต่มันเพิ่งเปิดตัวพร้อมกับ 10.3 ดังนั้นคุณยังคงต้องการวิธีสำรองสำหรับรุ่นเก่าตามที่อธิบายไว้ข้างต้น


0

หากแอปของคุณได้รับการอนุมัติสำหรับรุ่นเบต้าและยังไม่ได้เผยแพร่ลิงก์ตรวจสอบแอปจะพร้อมใช้งาน แต่จะไม่สามารถแสดงความคิดเห็นได้

  1. เข้าสู่ระบบ iTunes Connect
  2. คลิก My Apps
  3. คลิกที่App Iconสนใจของคุณ
  4. ตรวจสอบให้แน่ใจในApp Storeหน้า
  5. ไปที่App Informationส่วน (จะพาคุณไปที่นั่นโดยอัตโนมัติ)
  6. ที่ด้านล่างของหน้ามีลิงค์สีน้ำเงินที่ระบุว่าView on App Storeเป็น คลิกที่มันและมันจะเปิดไปยังหน้าว่าง คัดลอกสิ่งที่อยู่ในแถบ url ที่ด้านบนของหน้าเว็บและนั่นคือลิงค์บทวิจารณ์แอปของคุณ มันจะใช้งานได้เมื่อแอพถ่ายทอดสด

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.