post Image
SwiftRater を使って好きなタイミングで SKStoreReviewController を表示する

TL;DR

iOS 10.3 からアプリ内でレーティングできる SKStoreReviewController が使えるようになりましたが表示するタイミングを調整しないといけないですよね。その調整が簡単にできるライブラリ SwiftRaterを作りました。

SKStoreReviewController

iOS 10.3 からアプリ内でレーティングできるようになりましたね。記事もいくつか出ています。

ですが、どのタイミングで表示すればいいかは考えないといけないですね。

似たようなライブラリに appirater というものがありますが、
* SKStoreReviewController にはまだ対応していない
* Objective-c で書かれている
だったので Swift で書いてみました。

https://github.com/takecian/SwiftRater

使い方

Cocoapods か Carthage でインストールします。

Cocoapods

pod "SwiftRater"

Carthage

github "takecian/SwiftRater"

AppDelegate の中でセットアップをします。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        SwiftRater.daysUntilPrompt = 7
        SwiftRater.usesUntilPrompt = 10
        SwiftRater.significantUsesUntilPrompt = 3
        SwiftRater.daysBeforeReminding = 1
        SwiftRater.showLaterButton = true
        SwiftRater.debugMode = true
        SwiftRater.appLaunched()

        return true
}

SwiftRater では レーティングのポップアップを表示するための条件を複数指定できます。

Property Description
daysUntilPrompt ポップアップを表示するまでの日数。
usesUntilPrompt ポップアップを表示するまでの起動(使用)回数
significantUsesUntilPrompt ポップアップを表示するまでの重要なアクションの実行回数

例えば、「初回起動から10日経つか、15回起動したらポップアップを表示する」という条件にしたいなら

SwiftRater.daysUntilPrompt = 10
SwiftRater.usesUntilPrompt = 15
SwiftRater.appLaunched()

と設定します。

例えばインスタグラムのような写真投稿アプリの場合で「写真を10枚投稿したらポップアップを出す」という条件にしたいなら、

SwiftRater.significantUsesUntilPrompt = 10
SwiftRater.appLaunched()

と指定し、写真投稿を実装する部分に、SwiftRater.incrementSignificantUsageCount() を追加します。

func uploadPhoto() {
    ** upload photo **

    SwiftRater.incrementSignificantUsageCount()
}

そしてポップアップを表示したい場所にSwiftRater.check()を追加します。

override func viewDidAppear(_ animated: Bool) {
   super.viewDidAppear(animated)
   SwiftRater.check()
}

セットアップの時の指定した条件を満たしていたら(一回だけ)レーティングのポップアップを表示します。

iOS10.3 未満のデバイスへの対応

iOS10.3 未満のデバイスに対しては Alert を表示して、AppStore へ遷移するようになっています。

iOS10.3 未満のデバイスに表示するポップアップにはすぐにはレーティングしない「あとで(Remind later)」も選択できます。「あとで(Remind later)」を選んだユーザーには x 日後に再度ポップアップを表示する(リマインダー)ことができます。この「あとで」の選択肢を表示するかどうか、リマインダーの設定もセットアップ時にできます。

SwiftRater.daysBeforeReminding = 1
SwiftRater.showLaterButton = true

動作確認

開発中に動作確認をしたい場合は、

SwiftRater.debugMode = true

にして実行すると毎回ポップアップが表示されるようになります。(AppStore に提出するときは false にしておかないと毎回ポップアップが表示されてしまうので注意(デフォルト:false))

ユーザーのレーティングを集めることは重要なことなのでこのライブラリを使ってどんどんレーティングを増やしてみるのはいかがでしょうか。

SwiftRater


『 Swift 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。