Jak Mogę dodać link do przycisku rate za pomocą swift?
Po Pierwsze Nie wiem, jak zdobyć link przed przesłaniem aplikacji i czy link jest dla każdego kraju app store czy jest uniwersalny?
No I Nie wiem czy sposobem na to jest po prostu wstawienie tam linka w stylu:
@IBAction func rate(sender: AnyObject) {
UIApplication.sharedApplication().openURL(NSURL(string : "webLinkHere")!)
}
Czy powinienem użyć innego sposobu, aby to zrobić?
Thanks
9 answers
Spróbuj Tego
Swift 3
func rateApp(appId: String, completion: @escaping ((_ success: Bool)->())) {
guard let url = URL(string : "itms-apps://itunes.apple.com/app/" + appId) else {
completion(false)
return
}
guard #available(iOS 10, *) else {
completion(UIApplication.shared.openURL(url))
return
}
UIApplication.shared.open(url, options: [:], completionHandler: completion)
}
Method, change appId by your App ID
rateApp(appId: "id959379869") { success in
print("RateApp \(success)")
}
Id959379869 to jest identyfikator, gdy idziesz na swoją stronę Itune aplikacji
Przykład: https://itunes.apple.com/fr/app/hipster-moustache/id959379869?mt=8
Jak uzyskać ID :
- konto Itunesconnect
- Moje Aplikacje
- Kliknij przycisk " + "
- Nowy aplikacja iOS
- wypełnij wymagane szczegóły
- Po wypełnieniu wszystkich szczegółów goto swoją aplikację
- Kliknij przycisk Więcej
- Zobacz w AppStore
- przekieruje Cię do adresu URL aplikacji, który będzie uniwersalny
- Look Http URL
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-20 14:08:57
To działa najlepiej dla mnie. Kieruje użytkownika bezpośrednio do komponentu "Napisz recenzję" aplikacji.
Swift 3.1 (wsparcie dla iOS10 i poniżej)
Wprowadza nowe action=write-review
let appID = "959379869"
if let checkURL = URL(string: "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(appID)&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8") {
open(url: checkURL)
} else {
print("invalid url")
}
...
func open(url: URL) {
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:], completionHandler: { (success) in
print("Open \(url): \(success)")
})
} else if UIApplication.shared.openURL(url) {
print("Open \(url)")
}
}
Testowany i działa na Swift 2.2
let appID = "959379869" // Your AppID
if let checkURL = NSURL(string: "http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(appID)&pageNumber=0&sortOrdering=2&type=Purple+Software&mt=8") {
if UIApplication.sharedApplication().openURL(checkURL) {
print("url successfully opened")
}
} else {
print("invalid url")
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-10 10:38:00
Możesz użyć następującej funkcji i zastąpić APP_ID swoim. Wywołanie tej funkcji otworzy aplikację w App Store link, a użytkownik zobaczy stronę recenzji, na której może łatwo kliknąć i napisać recenzję.
func rateApp(){
UIApplication.sharedApplication().openURL(NSURL(string : "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=\(APP_ID)&onlyLatestVersion=true&pageNumber=0&sortOrdering=1)")!);
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-20 13:57:13
Swift 4
let url = URL(string: "itms-apps:itunes.apple.com/us/app/apple-store/id\(YOURAPPID)?mt=8&action=write-review")!
UIApplication.shared.openURL(url)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-05 11:03:43
Teraz po iOS 10.3+
Kontroler SKStoreReviewController pozwala użytkownikom oceniać aplikację bezpośrednio z poziomu aplikacji za pomocą okna dialogowego. Jedyną wadą jest to, że możesz poprosić StoreKit o wyświetlenie okna dialogowego, ale nie możesz być pewien, czy tak będzie.
import StoreKit
func requestToRate() {
SKStoreReviewController.requestReview()
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-21 10:57:56
WARNING: If you are running your app on a simulator
UIApplication.sharedApplication().openURL(NSURL(string : "url")!)
Nie zadziała, ponieważ w symulatorze nie ma app store. Aby przetestować tę funkcjonalność, musisz uruchomić aplikację na urządzeniu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-22 06:27:53
Dla systemu iOS 10.3+ możesz użyć kontrolera SKStoreReviewController z prostym oknem dialogowym i wybrać ocenę w oknie w stylu alertów. Aby go użyć, należy zaimportować bibliotekę StoreKit. Tak więc uniwersalny sposób oceniania aplikacji jest taki:
import StoreKit
func rateApp(){
if #available(iOS 10.3, *) {
SKStoreReviewController.requestReview()
} else {
guard let url = URL(string: "itms-apps://itunes.apple.com/ru/app/cosmeteria/id1270174484") else {
return
}
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
}
I kiedy próbujesz uruchomić go w simulator, nie zobaczysz okna App Store, więc spróbuj go na urządzeniu i będzie działać. W ten sposób obejmuje wszystkie wersje iOS, wykorzystując wszystkie możliwości. Część ścieżki w adresie aplikacji "/ us / app " oznacza Sklep z aplikacjami lokalizacja, na przykład " us " oznacza USA. Możesz łatwo znaleźć swój identyfikator aplikacji w ciągu adresu, otwierając aplikację w App Store w dowolnym browser.To Pobierz link, wystarczy skopiować adres w przeglądarce. Zmiana "https:// "na" itms-apps: / / "pozwala otworzyć aplikację w aplikacji App Store, podczas gdy "https" otwiera stronę internetową w Safari
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-07 08:08:36
Przejdź do swojego konta itunesconnect - > Moje aplikacje - > kliknij przycisk " + " - > Nowa aplikacja na iOS - > wypełnij wymagaj szczegółów - > Po wypełnieniu wszystkich szczegółów przejdź do swojej aplikacji - > kliknij przycisk więcej - > Zobacz w AppStore - > przekieruje Cię do adresu URL aplikacji będzie to uniwersalne i będzie takie samo po uruchomieniu aplikacji .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-03 13:14:50
Swift 3
func rateApp(){
UIApplication.shared.open(URL(string : "itms-apps://itunes.apple.com/app/id959379869")!, options: [:]) { (done) in
// Handle results
}}
Id959379869 to jest identyfikator, gdy idziesz na stronę iTunes swojej aplikacji
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-16 10:03:47