Liên kết cửa hàng ứng dụng cho tỷ lệ / xem xét ứng dụng này


192

Tôi muốn đưa tính năng "đánh giá / đánh giá ứng dụng này" vào ứng dụng của mình.

Có cách nào để liên kết trực tiếp đến màn hình trong cửa hàng ứng dụng nơi họ xem xét ứng dụng không? Vì vậy, khách hàng không phải nhấp qua liên kết ứng dụng chính. Cảm ơn.

EDIT: bắt đầu một tiền thưởng về điều này do thiếu phản ứng. Chỉ để đảm bảo rằng nó rõ ràng: Tôi biết rằng tôi có thể liên kết đến trang ứng dụng của mình trong cửa hàng và yêu cầu người dùng nhấp từ đó đến màn hình "xem lại ứng dụng này". Câu hỏi đặt ra là liệu có thể liên kết trực tiếp đến màn hình "xem lại ứng dụng này" để họ không phải nhấp qua bất cứ thứ gì.


1
Xem câu trả lời của tôi tại đây: stackoverflow.com/questions/3011246/ từ
iwasrobbed

Câu trả lời:


349

Đối với các phiên bản thấp hơn iOS 7, hãy sử dụng phiên bản cũ:

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

Điều này hoạt động ở phần cuối của tôi (Xcode 5 - iOS 7 - Thiết bị !):

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

Dành cho iOS 8 trở lên:

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

Đoạn mã (bạn chỉ có thể sao chép và dán nó):

#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

165
Lưu ý - những "type = tím + Phần mềm" được ở đó và nó là nghĩa đen "Purple Phần mềm" - nó không phải là tên của công ty bạn, đó là một tên mã cho các ứng dụng iPhone :) Tôi lãng phí một giờ trước khi tôi đã tìm ra này ...
Kuba Suder

16
Điều đáng chú ý là điều này không hoạt động trong trình giả lập, nhưng nó hoạt động trên một thiết bị thực tế.
Joseph

1
FYI, điều này dường như hoạt động trong iPad, nhưng CHỈ lần thứ hai, không bao giờ là lần đầu tiên tôi thử nó. (Sau khi giết ứng dụng iTunes & App Store)
Michael

13
Trên iOS 7, điều này đưa tôi đến trang cửa hàng, nhưng không chọn tab đánh giá.
devios1

40
Là một phần của iOS 10.3, có một tham số truy vấn mới có thể được thêm vào URL : action=write-review. Tôi đã thử nghiệm điều này trên iOS 10.2 và nó hoạt động, nhưng tôi không biết điều này sẽ lùi xa đến đâu. Điều này sẽ mở hộp thoại "Viết đánh giá" , thay vì chỉ hiển thị tab đánh giá. Ví dụ: itunes.apple.com/gb/app/ cường
Joseph Duffy

61

Cập nhật:

Swift 5.1, Xcode 11

Đã thử nghiệm trên thiết bị thực iOS 13.0 (Đảm bảo hoạt động)

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.
        }
    }
}

Hoạt động trong iOS 10.3
Vladimir Shutyuk

xóa dấu ngoặc khỏi chuỗi appID và nó hoạt động
richc

7
Điều này không còn hoạt động nữa. Cái gì đang hoạt động là <sản phẩm-url>? Action = write-review. Vui lòng kiểm tra tài liệu này cho một understaning tốt hơn: developer.apple.com/documentation/storekit/...
Karthik Kannan

38

Tất cả mọi thứ, viết ở trên là chính xác. Chỉ cần một mẫu để chèn vào ứng dụng và thay đổi {ID APP CỦA BẠN} thành id ứng dụng thực tế, được lấy từ iTunesconnect để hiển thị trang Đánh giá. Xin lưu ý, như đã nhận xét ở trên, rằng nó không hoạt động trên Trình mô phỏng - chỉ là thiết bị.
- Sửa vì ios 7 thay đổi.

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]];

Điều này dường như chỉ hiển thị một trang App Store trống cho tôi. Có vẻ như bạn cần phải thêm 'id' trước ID thực tế
Ger

dấu ngoặc cho appId có cần thiết không? Vì tôi quên bao gồm chúng và chức năng đánh giá vẫn hoạt động tốt.
Glenn

1
sử dụng Số ngoại trừ {ID APP CỦA BẠN}, MEans @ "5555555555" - dấu ngoặc chỉ cho thấy đó là một giá trị
ETech

37

EDIT: Giải pháp iOS 11

Đây là giải pháp cho câu trả lời ban đầu của tôi (xem bên dưới). Khi sử dụng iOS 11, định dạng liên kết sau sẽ hoạt động:

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

Chỉ cần thay thế APP_IDbằng ID ứng dụng cụ thể của bạn. Chìa khóa để làm cho liên kết hoạt động là mã quốc gia . Liên kết ở trên sử dụng usmã nhưng thực tế không quan trọng mã nào được sử dụng. Người dùng sẽ tự động được chuyển hướng đến cửa hàng của mình.

Cập nhật iOS 11:

Dường như không có giải pháp nào được trình bày trong các câu trả lời khác để truy cập trực tiếp vào Trang đánh giá hoạt động trên iOS 11.

Vấn đề rất có thể là, một trang ứng dụng trong ứng dụng App Store trên iOS 11 KHÔNG còn có Tab đánh giá nữa. Thay vào đó, các đánh giá hiện được đặt ngay bên dưới mô tả và ảnh chụp màn hình. Tất nhiên vẫn có thể tiếp cận trực tiếp phần này (ví dụ với một số loại neo), nhưng có vẻ như điều này không được Apple hỗ trợ / dự định.

Sử dụng một trong các liên kết sau không hoạt động nữa. Họ vẫn đưa người dùng đến ứng dụng App Store nhưng chỉ đến một trang trống :

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

Mọi người vẫn sử dụng các liên kết này nên cập nhật ứng dụng của mình càng sớm càng tốt , bởi vì việc giới thiệu người dùng đến trang App Store trống rất có thể không phải là những gì bạn dự định.

Tuy nhiên, các liên kết không đề cập đến trang Đánh giá nhưng đến trang Ứng dụng, vẫn hoạt động, ví dụ:

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

Vì vậy, bạn vẫn có thể đưa người dùng đến trang Cửa hàng ứng dụng của mình, nhưng không trực tiếp đến phần đánh giá nữa. Người dùng hiện phải cuộn xuống phần đánh giá bằng tay để để lại phản hồi của họ.

Không nghi ngờ gì, đây là "lợi ích tuyệt vời và tuyệt vời cho Trải nghiệm người dùng và sẽ giúp các nhà phát triển thu hút người dùng để lại các đánh giá chất lượng cao mà không làm phiền họ". Làm tốt lắm Apple ...


SKStoreReviewControll. requestReview () có hoạt động hay không?
dev_m

1
Giới thiệu về SKStoreReviewCont kiểm soát: "Yêu cầu StoreKit yêu cầu người dùng đánh giá ứng dụng. Điều này có thể hoặc không thể hiển thị bất kỳ giao diện người dùng nào". Vì vậy, SKStoreReviewControll không phải là giải pháp. Tôi cố gắng tránh nó.
Fallstreak

26

Tất cả các cách tiếp cận trên đều đúng, nhưng hiện nay việc sử dụng SKStore SẢNtViewControll dẫn đến trải nghiệm người dùng tốt hơn. Để sử dụng nó, bạn cần làm như sau:

  • triển khai giao thức SKStore ProducttViewControllDelegate trong đại biểu ứng dụng của bạn
  • thêm phương thức ProductViewControllDidFinish cần thiết :

    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
      [viewController dismissViewControllerAnimated: YES completion: nil];
    }
  • Kiểm tra xem lớp SKStore ProducttViewControll có khả dụng không và hiển thị nó hoặc chuyển sang 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
Điều này trông giống như một giải pháp tuyệt vời, nhưng tôi đã không thể làm cho nó hoạt động. Nút "Viết đánh giá" bị vô hiệu hóa. Lúc đầu tôi nghĩ rằng điều này là do tôi đã chạy phiên bản dev của mình và nghĩ rằng có lẽ phiên bản cửa hàng ứng dụng phải được cài đặt. Vì vậy, tôi đã tạo một id gói hoàn toàn mới và chạy nó cùng với phiên bản cửa hàng ứng dụng và vẫn không gặp may. Dựa trên bài đăng này, có vẻ như nút "Viết đánh giá" đã bị vô hiệu hóa trong iOS 7+ stackoverflow.com/questions/19058069/ chủ
Matt R

@MattR có thể là do bạn chưa mua ứng dụng đó. Nút "Viết đánh giá" đã được bật cho tôi nhưng không làm gì cả. Tôi sẽ phải kiểm tra nếu nó chỉ hoạt động nếu bạn đã mua ứng dụng.
Kamran Khan

3
Bất kỳ ý tưởng làm thế nào để mở tab "đánh giá" theo mặc định với việc thực hiện này? Tài liệu của Apple chỉ cung cấp cho tôi 3 tham số nhưng dường như không liên quan đến những gì tôi cần: SKStore ProducttParameterITunesItemIdentifier, SKStore ProducttParameterAffiliateToken & SKStore ProducttParameterCampaignToken
Jovan

@KamranKhan, tôi cũng thấy như vậy. Tôi tự hỏi nếu điều này bị vô hiệu hóa trong phiên bản dev. Bạn đã thử điều này trong một ứng dụng vận chuyển (đã ký) để xem nó có hoạt động không?
Shammi

@Shammi Không, tôi chưa kiểm tra nó.
Kamran Khan

15

Giải pháp cho iOS 11

Các URL của App Store ngắn không mở đúng giao diện "viết đánh giá" trong App Store iOS 11 mới. Ví dụ: điều này không hoạt động:

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

Cách giải quyết là bao gồm mã quốc gia gồm hai chữ cái và tên ứng dụng trong URL, chẳng hạn như:

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

hoặc là

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

Bạn có thể lấy URL đầy đủ của ứng dụng của mình từ đây: https://linkmaker.itunes.apple.com/

Điều này mở thành công giao diện "viết đánh giá" trong App Store trên iOS 11.

Chỉnh sửa: Như @Theo đề cập bên dưới, mã quốc gia không cần phải được bản địa hóa và tên ứng dụng trong URL không cần phải cập nhật nếu tên ứng dụng thay đổi.

Hy vọng Apple sẽ khắc phục điều này sớm cho URL ngắn hơn. Xem phần thứ tư: // 34498138


3
Đây là cách chính xác cho iOS 11, như được giới thiệu trong WWDC Phiên 303 . Lưu ý rằng tham số mt=8là không bắt buộc. Hơn nữa, rõ ràng mã quốc gia và tên ứng dụng trong URL là bắt buộc, nhưng bị bỏ qua. Vì vậy, URL không cần phải được bản địa hóa hoặc cập nhật khi tên ứng dụng thay đổi.
Theo

@Theo bạn đúng, chỉ cần ID thay đổi:itms-apps://itunes.apple.com/xy/app/foo/id{your_app_id}?action=write-review
DaveAlden

4
Nghiêm túc? Chúng ta cần phải xem bao nhiêu giờ của WWDC để tránh những thứ này?!?
thibaut noah

1
Cũng như một lưu ý cho những người khác, liên kết sâu mới có sẵn kể từ iOS 10.3, như đã nói trong WWDC Phiên 303 .
Kjuly

12

Phiên bản Swift 2

func jumpToAppStore(appId: String) {
    let url = "itms-apps://itunes.apple.com/app/id\(appId)"
    UIApplication.sharedApplication().openURL(NSURL(string: url)!)
}

11

Tất cả các liên kết trước đó không còn trực tiếp đến tab "Đánh giá",

Liên kết này sẽ trực tiếp đến "Tab đánh giá" trực tiếp:

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

hoặc

itms-apps: //itunes.apple.com/app/viewContentsUserReview? id = AppID


1
Không có liên kết chính thức trong Thư viện nhà phát triển của Apple hướng người dùng đến "Tab đánh giá". Tuy nhiên, vì ios4, bạn sẽ tìm thấy các từ khóa dành riêng như viewContentsUserReview hoặc id mà apple vẫn sử dụng làm url nhận tham số. Nếu bạn muốn giữ an toàn, hãy sử dụng linkmaker.itunes.apple.com/en-us
Satinos 11/03/2016

1
@ Ms.Nehal, câu hỏi yêu cầu liên kết. Họ câu trả lời thực tế, không phải là một con trỏ đến một câu trả lời.
Tobi Nary

9

Trong iOS7, URL chuyển ứng dụng của bạn sang App Store để đánh giá và đánh giá đã thay đổi:

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

Trường hợp APP_ID cần được thay thế bằng ID ứng dụng của bạn.

Đối với iOS 6 trở lên, URL trong các câu trả lời trước đang hoạt động tốt.

Nguồn: Người thừa kế

Thưởng thức mã hóa .. !!


Nó hoạt động trên iPhone .. Chưa bao giờ thử nghiệm trên iPad. Liên kết hoạt động trên iPhone. Cố gắng gỡ lỗi !!
Sahil Mahajan

2
Tôi đã nhận được một hình vuông màu trắng vì tôi không nhận ra bạn đã thêm 'id' vào số của bạn trong URL. Tôi mới thử "... / app / 123123123", và không: "... / app / id123123123". Haha xấu hổ vì tôi không đọc chính xác. Hy vọng điều này sẽ giúp bất cứ ai vô tình làm điều đó quá.
cclogg

8

Có một cách mới để làm điều này trong iOS 11+ (cửa hàng ứng dụng mới). Bạn có thể mở hộp thoại "Viết đánh giá" trực tiếp.

Ví dụ về iOS 11:

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

hoặc là

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

Ghi chú:

  • Mã quốc gia là bắt buộc ( /us/). Nó có thể là bất kỳ mã quốc gia, không quan trọng.
  • Thay đổi id ứng dụng ( 1137397744) thành id ứng dụng của bạn (lấy từ URL iTunes).
  • Nếu bạn muốn hỗ trợ phiên bản iOS cũ hơn (trước 11), bạn sẽ muốn một số logic có điều kiện chỉ liên kết theo cách này nếu phiên bản HĐH tuyệt vời hơn hoặc bằng 11.

8

Sử dụng URL này là giải pháp hoàn hảo cho tôi. Nó đưa người dùng trực tiếp đến Write a Review section. Tín dụng cho @Joseph Duffy. PHẢI THỬ

URL = itms-apps://itunes.apple.com/gb/app/idYOUR_APP_ID_HERE?action=write-review&mt=8 Thay thế YOU_APP_ID_HERE bằng AppId của bạn

Đối với mã mẫu, hãy thử điều này:

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!!")
 }

Ở đây showAlert là một chức năng tùy chỉnh cho một UIAlertController.


2
Vui lòng không thêm cùng một câu trả lời cho nhiều câu hỏi. Trả lời câu hỏi hay nhất và đánh dấu phần còn lại là trùng lặp. Xem Có được chấp nhận để thêm một câu trả lời trùng lặp cho một số câu hỏi không?
g00glen00b

1
Ok cảm ơn. Tôi mới làm điều này và học tập. Cảm ơn đã hướng dẫn sẽ ghi nhớ điều này.
Ankit Kumar Gupta

7

Bắt đầu từ iOS 10.3, bạn có thể đính kèm action=write-reviewmục truy vấn vào https://itunes.apple.com/...https://appsto.re/...URL của mình. Trên iOS 10.3 trở lên, nó sẽ Write a reviewtự động mở , trong khi ở các bản phát hành iOS thấp hơn sẽ quay lại trang App Store của ứng dụng.

Cập nhật iOS 11 : Sử dụng công cụ liên kết của Apple: linkmaker.itunes.apple.com và chắp thêm &action=write-review, dường như là cách an toàn nhất để đi.


4

iOS 4 đã bỏ chức năng "Đánh giá khi xóa".

Hiện tại, cách duy nhất để đánh giá một ứng dụng là thông qua iTunes.

Chỉnh sửa: Liên kết có thể được tạo cho các ứng dụng của bạn thông qua iTunes Link Maker. Trang web này có một hướng dẫn.


Cảm ơn . . . và những gì tôi đang tìm kiếm là liên kết iTunes!
William Jockusch

2
Hãy dùng thử Trình tạo liên kết iTunes. Hiểu biết của tôi là nó ra mắt một bản sao người dùng iTunes để duyệt các cửa hàng. Tôi sẽ chỉnh sửa câu trả lời để đặt một liên kết trong đó.
Thứ

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

4

Phiên bản Swift 2 thực sự đưa bạn đến trang đánh giá cho ứng dụng của bạn trên cả iOS 8 và 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

Dành cho> = iOS8: (Câu trả lời đơn giản của @ 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

Liên kết với bất kỳ Ứng dụng nào trong AppStore thông qua SKStore ProducttViewControll

Thật dễ dàng để liên kết với ứng dụng của bạn tại cửa hàng ứng dụng thông qua SKStore SẢNtViewControll. Nhưng tôi đã đấu tranh một chút, vì vậy tôi quyết định hiển thị ở đây toàn bộ quá trình và một số mã cần thiết. Kỹ thuật này cũng đảm bảo rằng luôn luôn sử dụng đúng cửa hàng (quan trọng đối với các ứng dụng được bản địa hóa).

Để hiển thị màn hình sản phẩm của bất kỳ ứng dụng nào của cửa hàng ứng dụng trong ứng dụng của bạn với bất kỳ ứng dụng nào của bạn, ViewControllers hãy làm theo các bước sau:

  1. Thêm StoreFit.framework trong cài đặt dự án của bạn (Target, Build Phase -> Link Binary With Library
  2. Nhập StoreKit vào lớp ViewContoder
  3. Làm cho ViewContoder của bạn tuân thủ giao thức này SKStore ProducttViewControllDelegate
  4. Tạo phương thức để trình bày StoreView với màn hình sản phẩm bạn muốn
  5. Loại bỏ StoreView

Nhưng quan trọng nhất: Điều này - vì một số lý do - không hoạt động trong trình giả lập - bạn phải xây dựng và cài đặt trên một thiết bị thực có kết nối internet.

  1. Thêm StorKit.framework vào dự án của bạn: Tìm cái này trong cài đặt dự án của bạn

SWift 4: Đây là mã theo các bước được mô tả phía trước:

    // ----------------------------------------------------------------------------------------
// 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

Đây là mã mà tôi đang sử dụng trong ứng dụng của mình;

-(void)rateApp {

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

2

Câu trả lời được chấp nhận không tải được tab "Nhận xét". Tôi tìm thấy phương pháp bên dưới để tải tab "Xem lại" mà không có tab "Chi tiết".

[[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"]];

Thay thế {APP_ID}bằng id ứng dụng cửa hàng ứng dụng của bạn.


2

Chuyển 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

trích dẫn từ Tài liệu dành cho nhà phát triển của Apple

Ngoài ra, bạn có thể tiếp tục bao gồm một liên kết liên tục trong cài đặt hoặc màn hình cấu hình của ứng dụng liên kết sâu đến trang sản phẩm App Store của bạn. Để tự động mở một trang mà người dùng có thể viết đánh giá trong App Store, hãy thêm tham số truy vấn action = write-review vào URL sản phẩm của bạn.

Vì vậy, URL sẽ là như sau:

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


2

Điều này hoạt động tốt trên iOS 9 - 11.

Không được thử nghiệm trên các phiên bản trước.

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

2
let rateUrl = "itms-apps://itunes.apple.com/app/idYOUR_APP_ID?action=write-review"
if UIApplication.shared.canOpenURL(rateUrl) {
    UIApplication.shared.openURL(rateUrl)
}

0

Bắt đầu từ iOS 10.3:

import StoreKit

func someFunction() {
 SKStoreReviewController.requestReview()
}

nhưng nó mới được phát hành với 10.3, vì vậy bạn vẫn sẽ cần một số phương thức dự phòng cho các phiên bản cũ hơn như mô tả ở trên


0

Nếu ứng dụng của bạn đã được phê duyệt cho Beta và nó không hoạt động thì liên kết đánh giá ứng dụng có sẵn nhưng nó sẽ không tồn tại để để lại đánh giá.

  1. Đăng nhập vào iTunes Connect
  2. Nhấp chuột My Apps
  3. Nhấp vào App Iconquan tâm của bạn vào
  4. Hãy chắc chắn rằng bạn trên App Storetrang
  5. Đi đến App Informationphần (nó sẽ tự động đưa bạn đến đó)
  6. Ở dưới cùng của trang đó có một liên kết màu xanh nói rằng View on App Store. Nhấp vào nó và nó sẽ mở ra một trang trống. Sao chép những gì trong thanh url ở đầu trang và đó là liên kết đánh giá ứng dụng của bạn. Nó sẽ được phát trực tiếp khi ứng dụng này hoạt động.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.