IT story

"이 앱 평가 / 검토"에 대한 App Store 링크

hot-time 2020. 5. 18. 08:08
반응형

"이 앱 평가 / 검토"에 대한 App Store 링크


내 앱에 "이 앱 평가 / 검토"기능을 넣고 싶습니다.

앱을 검토하는 앱 스토어의 화면에 직접 연결하는 방법이 있습니까? 따라서 고객은 기본 앱 링크를 클릭 할 필요가 없습니다. 감사.

편집 : 응답이 부족하여 현상금을 시작합니다. 명확하게 확인하기 위해 : 상점의 내 앱 페이지에 링크 할 수 있다는 것을 알고 있으며 사용자에게 "이 앱 검토"화면을 클릭하도록 요청합니다. 문제는 "이 앱 검토"화면에 직접 연결하여 어떤 것도 클릭 할 필요가 없는지 여부입니다.


iOS 7보다 낮은 버전의 경우 이전 버전을 사용하십시오.

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

이것은 내 끝에서 작동합니다 (Xcode 5-iOS 7- Device !) :

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

최신 정보:

스위프트 5.1, Xcode 11

실제 장치 iOS 13.0에서 테스트 (작동 보증)

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

위에 쓰여진 모든 것이 정확합니다. iTunesconnect에서 가져온 샘플을 앱에 삽입하고 {YOUR APP ID}를 실제 앱 ID로 변경하면 검토 페이지가 표시됩니다. 위에서 언급했듯이 시뮬레이터에서는 작동하지 않으며 장치 만 작동합니다.
-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]];

편집 : 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에서 작동하지 않는 것 같습니다.

문제는 대부분 아이폰 OS (11) 앱 스토어 응용 프로그램에서 응용 프로그램 페이지가 않습니다이다 NOT 더 이상 검토 탭이있다. 대신 리뷰는 설명과 스크린 샷 바로 아래에 있습니다. 물론이 섹션에 직접 도달 할 수는 있지만 (예를 들어 어떤 종류의 앵커로) 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)

따라서 사용자를 앱 스토어 페이지로 계속 이동할 수는 있지만 더 이상 리뷰 섹션으로 직접 이동할 수는 없습니다. 피드백을 남기려면 사용자가 검토 섹션으로 아래로 스크롤해야합니다.

의문의 여지없이 이것은 "사용자 경험에 대한 굉장하고 놀라운 이점이며 개발자가 사용자를 성가 시게하지 않고 고품질 리뷰를 남기도록 도울 것입니다". 잘했다 애플 ...


위의 모든 접근 방식은 정확하지만 요즘 SKStoreProductViewController를 사용 하면 사용자 경험이 향상됩니다. 그것을 사용하려면 다음을 수행해야합니다.

  • 앱 델리게이트에서 SKStoreProductViewControllerDelegate 프로토콜 구현
  • 필요한 productViewControllerDidFinish 메소드를 추가하십시오 .

    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
      [viewController dismissViewControllerAnimated: YES completion: nil];
    }
    
  • 있는지 확인 SKStoreProductViewController의 클래스가 사용 가능하고 하나 그것을 또는 앱 스토어에 스위치를 보여줍니다

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

iOS 11 용 솔루션

짧은 App Store URL로 인해 새로운 iOS 11 App Store에서 "리뷰 작성"인터페이스가 제대로 열리지 않습니다. 예를 들어, 작동 하지 않습니다 :

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

해결 방법은 다음과 같이 URL에 두 글자 국가 코드와 앱 이름을 포함시키는 것입니다.

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

또는

아이튠즈 뮤직 스토어 - 애플 리케이션 : //itunes.apple.com/ 우리 / 응용 프로그램 / 트위터 / ? id333903271 후지산 = 8 & 액션 = 쓰기 검토

https://linkmaker.itunes.apple.com/ 에서 앱의 전체 URL을 얻을 수 있습니다.

iOS 11 App Store에서 "리뷰 작성"인터페이스가 성공적으로 열립니다.

편집 : @Theo가 아래 언급했듯이 국가 코드를 현지화 할 필요가 없으며 앱 이름이 변경되면 URL의 앱 이름을 업데이트 할 필요가 없습니다.

잘만되면 애플은 더 짧은 URL을 위해 이것을 곧 고칠 것입니다. 레이더 참조 :: // 34498138


스위프트 2 버전

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

이전의 모든 링크가 더 이상 '검토'탭으로 연결되지 않습니다.

이 링크는 "검토 탭"으로 직접 연결됩니다.

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

또는

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


iOS7에서 평가 및 검토를 위해 ur 앱을 App Store로 전환하는 URL이 변경되었습니다.

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

APP_ID를 애플리케이션 ID로 바꿔야합니다.

iOS 6 및 이전 버전의 경우 이전 답변의 URL이 정상적으로 작동합니다.

출처 : Appirater

코딩을 즐기십시오 .. !!


이 URL을 사용하는 것이 나에게 완벽한 솔루션이었습니다. 사용자를로 직접 연결합니다 Write a Review section. @Joseph Duffy의 크레딧. 꼭 해봐

URL = YOUR_APP_ID_HEREAppId로itms-apps://itunes.apple.com/gb/app/idYOUR_APP_ID_HERE?action=write-review&mt=8 교체

샘플 코드의 경우 다음을 시도하십시오.

스위프트 3, Xcode 8.2.1 :

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

여기 showAlert는에 대한 사용자 정의 함수입니다 UIAlertController.


아이폰 OS 10.3에서 시작하면 당신은 첨부 할 수 있습니다 action=write-review귀하의에 쿼리 항목 https://itunes.apple.com/...https://appsto.re/...URL이 표시됩니다. iOS 10.3 이상에서는 Write a review자동으로 열리고 , iOS 릴리스가 낮 으면 앱의 App Store 페이지로 돌아갑니다.

iOS 11 업데이트 : Apple의 linkmaker : linkmaker.itunes.apple.com을 사용 하고 추가 &action=write-review하면 가장 안전한 방법 인 것 같습니다.


iOS 11 이상 (새로운 앱 스토어) 에서이를 수행하는 새로운 방법이 있습니다. "리뷰 작성"대화창을 직접 열 수 있습니다.

iOS 11 예 :

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

또는

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

노트:

  • 국가 코드가 필요합니다 ( /us/). 국가 코드가 될 수 있습니다.
  • 앱 ID ( 1137397744)를 앱 ID로 변경하십시오 ( iTunes URL에서 가져 오기).
  • 이전 iOS 버전 (11 이전)을 지원하려면 OS 버전이 11 이상인 경우 일부 방식으로 만이 방식으로 링크하는 조건부 논리가 필요합니다.

iOS 4는 "삭제 속도"기능을 버렸습니다.

한동안 응용 프로그램을 평가하는 유일한 방법은 iTunes를 통하는 것입니다.

편집 : iTunes Link Maker를 통해 응용 프로그램에 대한 링크를 생성 할 수 있습니다. 이 사이트에는 튜토리얼이 있습니다.


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

실제로 iOS 8 및 iOS 9에서 앱의 검토 페이지로 이동하는 Swift 2 버전 :

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

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

iOS 10에서 동일한 문제가 발생하여 iTunes 요금 섹션을 열 수 있습니다.

http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=YOUR_APP_ID&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=7

기본적으로 마지막 URL var를 "mt = 7"로 변경했습니다.

건배


SKStoreProductViewController를 통해 AppStore의 모든 앱에 연결

SKStoreProductViewController를 통해 앱 스토어에서 앱에 쉽게 연결할 수 있습니다. 그러나 조금 어려움을 겪었으므로 여기에 전체 프로세스와 필요한 코드를 표시하기로 결정했습니다. 이 기술은 또한 항상 올바른 상점이 사용되도록합니다 (현지화 된 앱에 중요 함).

앱 내 앱 스토어 앱의 제품 화면을 앱 ViewController와 함께 표시하려면 다음 단계를 따르십시오.

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

내 앱에서 사용중인 코드는 다음과 같습니다.

-(void)rateApp {

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

승인 된 답변에서 "검토"탭을로드하지 못했습니다. "세부 사항"탭없이 "검토"탭을로드하는 방법을 아래에서 찾았습니다.

[[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}앱 앱 스토어 앱 ID로 교체하십시오 .


스위프트 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)
        }
    }

Apple 개발자 문서 에서 인용

In addition, you can continue to include a persistent link in the settings or configuration screens of your app that deep-links to your App Store product page. To automatically open a page on which users can write a review in the App Store, append the query parameter action=write-review to your product URL.

So the URL would be the following:

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


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

This works fine on iOS 9 - 11.

Haven't tested on earlier versions.

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

Starting in iOS 10.3:

import StoreKit

func someFunction() {
 SKStoreReviewController.requestReview()
}

but its has been just released with 10.3, so you will still need some fallback method for older versions as described above


If your app has been approved for Beta and it's not live then the app review link is available but it won't be live to leave reviews.

  1. Log into iTunes Connect
  2. Click My Apps
  3. App Icon관심있는 것을 클릭하십시오
  4. App Store페이지 에서 확인하십시오
  5. App Information섹션으로 이동 (자동으로 이동 해야 함)
  6. 해당 페이지의 하단에는이라고 표시된 파란색 링크가 View on App Store있습니다. 그것을 클릭하면 빈 페이지가 열립니다. 페이지 상단의 URL 표시 줄에있는 내용을 복사하면 앱 리뷰 링크입니다. 앱이 활성화되면 라이브 상태가됩니다.

여기에 이미지 설명을 입력하십시오

참고 URL : https://stackoverflow.com/questions/3124080/app-store-link-for-rate-review-this-app

반응형