iOS
ios10.3

SKStoreReviewController まとめ

More than 1 year has passed since last update.

※ ブラックボックスなところが多いので情報あったら教えてください


これは何

Appleが公式で用意したレビュー訴求用のAPI

iOS 10.3以降で使える


これを使う理由

Appleのレビューガイドラインより

https://developer.apple.com/app-store/review/guidelines/#objectionable-content


1.1.7 App Store Reviews:

Use the provided API to prompt users to review your app; this functionality allows customers to provide an App Store rating and review without the inconvenience of leaving your app, and we will disallow custom review prompts.

(Google翻訳:提供されたAPIを使用して、ユーザーにアプリのレビューを促します。 この機能により、お客様はApp Storeの評価と提供をアプリを離れることの不便さなしに行うことができ、カスタムレビューのプロンプトは許可されません。)


要はオリジナルのレビュー訴求は認められなくなり、公式で用意されたものを使わないとリジェクトされる可能性が高くなった

レビュー訴求するならもうSKStoreReviewControllerを 使わないといけない

ただし

https://developer.apple.com/documentation/storekit/skstorereviewcontroller/2851536-requestreview


When you call this method in your shipping app and a rating/review request view is displayed, the system handles the entire process for you. 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.

(Google翻訳:送料アプリでこのメソッドを呼び出し、評価/レビュー依頼ビューが表示されると、システムはプロセス全体を処理します。 さらに、App Storeの製品ページに深くリンクしている設定や設定画面に、永続的なリンクを引き続き含めることができます。 ユーザがApp Storeにレビューを書くことができるページを自動的に開くには、クエリパラメータaction = write-reviewを商品URLに追加します。)


AppStoreのレビュー投稿画面へのDeepLinkは設置してOKだそう


SKStoreReviewControllerによるレビュー訴求の注意点

https://developer.apple.com/ios/human-interface-guidelines/interaction/ratings-and-reviews/

より


  • ユーザは設定でレビュー訴求をオフにできる

  • ユーザあたりアプリごとに最大365日に3回まで表示

  • 必ずレビュー訴求が表示されるわけではない


実装

レビュー訴求したいところで

SKStoreReviewController.requestReview()

するだけ

開発環境では「送信」ボタンが押せなくなってるので、押した後のUXは確認できない

本番環境では・・・

★をつけたあとレビュー文言入力するか問われる。するを選んでもAppStoreに遷移せずアプリ内で入力できる。


使ってみたところ・・・

レビュー数が数年間合計で24だったアプリが、一晩で80ついた。

レビュー訴求呼び出したとき、3回表示されてないユーザだったら必ず表示されるようだ。

条件をゆるくしてしまうと3回までは出まくってしまうので、

条件を厳しくするか、WebAPIなどで外部から出現条件をコントロール出来たほうが良さそう。