मैंने आईओएस 10.3 में उपलब्ध इस नई सुविधा के बारे में पढ़ा है और सोचा कि यह अधिक लचीला और बाहर होगा डिब्बा। लेकिन जब मैंने docs पढ़ा तो मुझे पता चला कि आपको इसे दिखाने के लिए समय और दृश्य नियंत्रक इसे कॉल करने का समय तय करने की आवश्यकता है। क्या कोई तरीका है कि मैं इसे किसी भी दृश्य में यादृच्छिक अवधि के बाद ट्रिगर कर सकता हूं नियंत्रक उस पल में दिखा रहा है?वर्तमान दृश्य में समीक्षा पॉपअप दिखाने के लिए requestReview (SKStore समीक्षा नियंत्रक) का उपयोग कैसे करें यादृच्छिक अवधि के बाद नियंत्रक
उत्तर
अपने AppDelegate में:
स्विफ्ट:
import StoreKit
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let shortestTime: UInt32 = 50
let longestTime: UInt32 = 500
guard let timeInterval = TimeInterval(exactly: arc4random_uniform(longestTime - shortestTime) + shortestTime) else { return true }
Timer.scheduledTimer(timeInterval: timeInterval, target: self, selector: #selector(AppDelegate.requestReview), userInfo: nil, repeats: false)
}
func requestReview() {
SKStoreReviewController.requestReview()
}
ऑब्जेक्टिव-सी:
#import <StoreKit/StoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
int shortestTime = 50;
int longestTime = 500;
int timeInterval = arc4random_uniform(longestTime - shortestTime) + shortestTime;
[NSTimer scheduledTimerWithTimeInterval:timeInterval target:self selector:@selector(requestReview) userInfo:nil repeats:NO];
}
- (void)requestReview {
[SKStoreReviewController requestReview];
}
कोड ऊपर उपयोगकर्ता संकेत करने के लिए एप्पल पूछना एक यादृच्छिक समय में एप्लिकेशन को रेट करने के लिए होगा ऐप लॉन्च होने के 50 से 500 सेकंड के बीच। याद रखें कि ऐप्पल के दस्तावेज़ों के अनुसार, इस बात की कोई गारंटी नहीं है कि जब अनुरोध रिव्यू कहा जाता है तो रेटिंग प्रॉम्प्ट प्रस्तुत किया जाएगा।
क्या ऐप्पल यह नहीं पूछता कि वर्तमान उपयोगकर्ता ने वर्तमान संस्करण पर समीक्षा सबमिट की है या नहीं? –
@MichaelReilly हाँ वे –
के लिए उद्देश्य - सी:
जोड़े StoreKit.framework
अपने viewController.h#import <StoreKit/StoreKit.h>
फिर अपने समारोह कॉल में
में फिर
:
[SKStoreReviewController requestReview];
स्विफ्ट
लिएअपने ViewController.swift
import StoreKit
तब में जोड़े StoreKit.framework
अपने समारोह कॉल में:
SKStoreReviewController.requestReview()
यह है कि! जब ऐप्पल रेटिंग दिखाएगा (यादृच्छिक रूप से) ऐप्पल का ख्याल रखेगा। विकास में जब भी आप इसे कॉल करते हैं तो इसे कॉल किया जाएगा।
संपादित: ओएस संस्करण की जांच करने की कोई आवश्यकता नहीं है, ओएस 10.3 से कम होने पर स्टोरकिट पॉपअप नहीं करेगा, धन्यवाद ज़कारिया।
और (दूसरों के लिए जो त्रुटियों का निर्माण करते हैं) ... बाइनरी "StoreKit.framework" को लिंक करना सुनिश्चित करें। – lifjoy
यह सवाल का जवाब नहीं देता है क्योंकि यह रेटिंग पॉपअप को यादृच्छिक दृश्य नियंत्रक में लोड नहीं करता है। – Zakaria
असल में, आपको यह जांचने की आवश्यकता नहीं है कि सिस्टम वर्जन है = = 10.3, क्योंकि यदि ऐसा नहीं है, तो "requestReview" कुछ भी नहीं करेगा .. – Zakaria
यादृच्छिक समय पर उठना उस दिनचर्या का उपयोग करने का एक अच्छा तरीका नहीं है, और न केवल ऐप्पल की सलाह के उल्लंघन में है, बल्कि आपको कम से कम परिणाम देगा।
एक यादृच्छिक समय पर पॉप अप के साथ उपयोगकर्ता को परेशान करना कभी भी उचित समय पर उन्हें प्रेरित करने के रूप में सफल नहीं होगा- जैसे कि जब उन्होंने अभी एक स्तर पूरा किया है या एक दस्तावेज़ बनाया है, और उस उपलब्धि की गर्म अस्पष्ट भावना है ।
मैं अभी तक टिप्पणी नहीं जोड़ सकता लेकिन यदि आप एपिरेटर का उपयोग कर रहे हैं तो आप यह देखने के लिए संस्करण देखना चाहेंगे कि यह 10.3 से कम है या नहीं, अन्य एपिरेटर समीक्षा संदेश बॉक्स पॉप अप हो गया है।
पीटर जॉन्सन की सलाह लेते हुए, मैंने एक साधारण वर्ग बनाया जहां आप बस अपने कोड में वांछित स्थान पर विधि को चिपका सकते हैं और यह उस स्थान पर खुल जाएगा जहां उपयोगकर्ता की सफलता थी।
struct DefaultKeys {
static let uses = "uses"
}
class ReviewUtility {
// Default Keys stored in Structs.swift
static let sharedInstance = ReviewUtility()
private init() {}
func recordLaunch() {
let defaults = UserDefaults.standard
// if there's no value set when the app launches, create one
guard defaults.value(forKey: DefaultKeys.uses) != nil else { defaults.set(1, forKey: DefaultKeys.uses); return }
// read the value
var totalLaunches: Int = defaults.value(forKey: DefaultKeys.uses) as! Int
// increment it
totalLaunches += 1
// write the new value
UserDefaults.standard.set(totalLaunches, forKey: DefaultKeys.uses)
// pick whatever interval you want
if totalLaunches % 20 == 0 {
// not sure if necessary, but being neurotic
if #available(iOS 10.3, *) {
// do storekit review here
SKStoreReviewController.requestReview()
}
}
}
}
इसका उपयोग करने के लिए, जहां आप इसे कॉल करना चाहते हैं उसे चिपकाएं और उम्मीद है कि आप उपयोगकर्ताओं को यादृच्छिकता से दूर नहीं करेंगे।
ReviewUtility.sharedInstance.recordLaunch()
- 1. एसकेस्टोर समीक्षा नियंत्रक, इसे सही तरीके से कैसे उपयोग करें?
- 2. वर्तमान मॉडल दृश्य नियंत्रक
- 3. नए दृश्य नियंत्रक को प्रस्तुत करने के बाद वर्तमान दृश्य नियंत्रक को खारिज करें - स्विफ्ट
- 4. जांच वर्तमान दृश्य नियंत्रक
- 5. वर्तमान एकाधिक मोडल दृश्य नियंत्रक?
- 6. सी # वर्तमान दृश्य नियंत्रक स्टोरीबोर्ड में दृश्य नियंत्रक
- 7. वर्तमान टैब पर वर्तमान दृश्य नियंत्रक नेविगेशन नियंत्रक
- 8. आईओएस - पारदर्शीता के साथ वर्तमान दृश्य नियंत्रक
- 9. नेविगेशन नियंत्रक से वर्तमान दृश्य कैसे पॉप करें?
- 10. कैसे? नियंत्रक कुछ भी नहीं/वर्तमान दृश्य
- 11. टीएफएस के साथ कोड समीक्षा कैसे करें?
- 12. Gerrit समीक्षा
- 13. समीक्षा कतार
- 14. आईओएस स्विफ्ट window.rootViewController बनाम वर्तमान दृश्य नियंत्रक
- 15. एक दृश्य नियंत्रक के लिए autorotate रोकें?
- 16. एसवीएन और समीक्षा बोर्ड के साथ सफल कोड समीक्षा रणनीति?
- 17. दृश्य नियंत्रक
- 18. एम्बर नियंत्रक के बाद कार्रवाई कैसे करें
- 19. प्रीप्रोजेक्ट आर्किटेक्चर समीक्षा कैसे करें
- 20. समीक्षा के साथ गिट वर्कफ़्लो
- 21. कोडनिर्देशक: वर्तमान नियंत्रक (php_self नियमित php में) के बाद लॉगिन करने के लिए रीडायरेक्ट कैसे करें
- 22. App स्टोर समीक्षा बटन
- 23. टीएफएस 2012 के लिए कोड समीक्षा विकल्प?
- 24. लाटेक्स में दस्तावेज़ समीक्षा कैसे करें?
- 25. ऐप समीक्षा
- 26. अकादमिक में कोड समीक्षा
- 27. UIPageViewController और वर्तमान दृश्य नियंत्रक को हटाने
- 28. टैब बार नियंत्रक से 'वर्तमान' नेविगेशन नियंत्रक कैसे प्राप्त करें
- 29. पीयर कोड समीक्षा के लिए टीएफएस उपकरण
- 30. कस्टम एमवीसी, नियंत्रक के लिए रेंडर फ़ंक्शन को कैसे कार्यान्वित करें ताकि दृश्य नियंत्रक
इसे देखें। https://stackoverflow.com/a/46358053/1514066 –