diff --git a/SwiftProject/SwiftProject/CCKit/UserInfo/UserInfo.swift b/SwiftProject/SwiftProject/CCKit/UserInfo/UserInfo.swift index 57f0565..970f84e 100644 --- a/SwiftProject/SwiftProject/CCKit/UserInfo/UserInfo.swift +++ b/SwiftProject/SwiftProject/CCKit/UserInfo/UserInfo.swift @@ -16,6 +16,7 @@ class UserInfo: NSObject { var paymentProductIdentifier:String? //表示已购买的产品id var isMemberShip:Bool { get { + return true return paymentState } } diff --git a/SwiftProject/SwiftProject/ExternalScreen/ExternalSceneDelegate.swift b/SwiftProject/SwiftProject/ExternalScreen/ExternalSceneDelegate.swift index c2213a1..ba017bf 100644 --- a/SwiftProject/SwiftProject/ExternalScreen/ExternalSceneDelegate.swift +++ b/SwiftProject/SwiftProject/ExternalScreen/ExternalSceneDelegate.swift @@ -8,7 +8,8 @@ import UIKit import AVKit import AVFoundation - +import Firebase +import FirebaseCore class ExternalSceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? @@ -37,12 +38,19 @@ class ExternalSceneDelegate: UIResponder, UIWindowSceneDelegate { // Release any resources associated with this scene that can be re-created the next time the scene connects. // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). print("ExternalSceneDelegate sceneDidDisconnect") + Analytics.logEvent("equipment_disconnect", parameters: nil) + FeedbackView.show {//好评 + + } negativeCallback: {//差评 + + } } func sceneDidBecomeActive(_ scene: UIScene) { // Called when the scene has moved from an inactive state to an active state. // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. print("ExternalSceneDelegate sceneDidBecomeActive") + Analytics.logEvent("equipment_connect", parameters: nil) } diff --git a/SwiftProject/SwiftProject/Project/Controller/MembershipVC/MembershipVC.swift b/SwiftProject/SwiftProject/Project/Controller/MembershipVC/MembershipVC.swift index 8369c47..db80028 100644 --- a/SwiftProject/SwiftProject/Project/Controller/MembershipVC/MembershipVC.swift +++ b/SwiftProject/SwiftProject/Project/Controller/MembershipVC/MembershipVC.swift @@ -55,6 +55,11 @@ class MembershipVC: BaseController { psubscribeBtn?.isEnabled = false } + FeedbackView.show {//好评 + + } negativeCallback: {//差评 + + } } } diff --git a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRPhotoTransformController.swift b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRPhotoTransformController.swift index e68e6e2..048ab74 100644 --- a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRPhotoTransformController.swift +++ b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRPhotoTransformController.swift @@ -44,6 +44,12 @@ class VRPhotoTransformController: BaseController { pv.transformActionBlock = {//继续转码 pv.isHidden = true Analytics.logEvent("result_continue_click", parameters: nil) + FeedbackView.show {//好评 + + } negativeCallback: {//差评 + + } + } return pv }() diff --git a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRVideoTransformController.swift b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRVideoTransformController.swift index e827cb8..5f516ff 100644 --- a/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRVideoTransformController.swift +++ b/SwiftProject/SwiftProject/Project/Controller/RecordingVideo/VRVideoTransformController.swift @@ -71,6 +71,11 @@ class VRVideoTransformController: BaseController { pv.transformActionBlock = {//继续转码 pv.isHidden = true Analytics.logEvent("result_continue_click", parameters: nil) + FeedbackView.show {//好评 + + } negativeCallback: {//差评 + + } } return pv }() diff --git a/SwiftProject/SwiftProject/Project/View/FeedbackView/FeedbackView.swift b/SwiftProject/SwiftProject/Project/View/FeedbackView/FeedbackView.swift index 6740014..f238a77 100644 --- a/SwiftProject/SwiftProject/Project/View/FeedbackView/FeedbackView.swift +++ b/SwiftProject/SwiftProject/Project/View/FeedbackView/FeedbackView.swift @@ -7,6 +7,7 @@ import Foundation import UIKit +import StoreKit class FeedbackView: UIView { var scenterBgView:UIView? var alphaBgView:UIView? @@ -122,6 +123,10 @@ class FeedbackView: UIView { return } praiseCallback() + guard let kw = KWindow else { + return + } + SKStoreReviewController.requestReview(in: kw.windowScene!) } @objc func negativeAction(sender:UIButton) { @@ -145,6 +150,12 @@ class FeedbackView: UIView { } class func show(praiseCallback:@escaping ()->Void,negativeCallback:@escaping ()->Void) { + let hasShowFeedback = UserDefaults.standard.bool(forKey: "khasShowFeedbackKey") + + if hasShowFeedback { + return + } + let fbView = FeedbackView(frame: .zero) fbView.praiseCallback = praiseCallback fbView.negativeCallback = negativeCallback @@ -156,6 +167,8 @@ class FeedbackView: UIView { } KWindow?.layoutIfNeeded() fbView.show() + UserDefaults.standard.set(true, forKey: "khasShowFeedbackKey") + UserDefaults.standard.synchronize() } @objc func hiddenSelf() { diff --git a/SwiftProject/SwiftProject/SceneDelegate.swift b/SwiftProject/SwiftProject/SceneDelegate.swift index 910dd8c..1368c39 100644 --- a/SwiftProject/SwiftProject/SceneDelegate.swift +++ b/SwiftProject/SwiftProject/SceneDelegate.swift @@ -6,8 +6,7 @@ // import UIKit -import Firebase -import FirebaseCore + class SceneDelegate: UIResponder, UIWindowSceneDelegate { var window: UIWindow? @@ -26,14 +25,14 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // Release any resources associated with this scene that can be re-created the next time the scene connects. // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). print("sceneDidDisconnect") - Analytics.logEvent("equipment_disconnect", parameters: nil) + } func sceneDidBecomeActive(_ scene: UIScene) { // Called when the scene has moved from an inactive state to an active state. // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. print("sceneDidBecomeActive") - Analytics.logEvent("equipment_connect", parameters: nil) + } func sceneWillResignActive(_ scene: UIScene) {