May 12, 2019
プロダクトのレビュー施策にKjellConnelly/react-native-rateを導入してみた。
導入自体はyarn install -> linkしたら終わる
このjsしか気にしなくていい軽いobjcとjavaはしらん感じ本当に開発体験としていいよなーと常々思う
READMEのまんま
$ yarn add react-native-rate
$ react-native link
<Button title="Rate App" onPress={()=>{
let options = {
AppleAppID:"2193813192",
GooglePackageName:"com.mywebsite.myapp",
AmazonPackageName:"com.mywebsite.myapp",
OtherAndroidURL:"http://www.randomappstore.com/app/47172391",
preferredAndroidMarket: AndroidMarket.Google,
preferInApp:false,
openAppStoreIfInAppFails:true,
fallbackPlatformURL:"http://www.mywebsite.com/myapp.html",
}
Rate.rate(options, success=>{
if (success) {
// this technically only tells us if the user successfully went to the Review Page.
// Whether they actually did anything, we do not know.
this.setState({rated:true})
}
})
} />
Apple/Google/Amazonに対応しておりサンプルはボタンを押したら表示されるが、 実際は何かが成功したReduxのActionのXX回目等にRate.rate()を叩いて表示させて様子を見ている。
iOSでレビューリクエストする際に
requestReview() - SKStoreReviewController | Apple Developer Documentation を叩く事になるが、
開発版では必ず表示されて
TestFlightでは表示されない記述があり
本番はthis method may or may not present an alert
とあって
表示する場合としない場合があるのでボタン押してレビューさせるみたいな動作は避けましょう的な記述がある。
更にhuman-interface-guidelines/ratings-and-reviewsには
The system automatically limits the display of the prompt to three occurrences per app within a 365-day period.
365日に3回までしか表示しないと書かれていて
実際プロダクトで1回表示する際にランダムなのか等思いながら実装して自分の実機で3回使い切ってみたが 叩かれる度にrequestReview()は確実に呼ばれるっぽい??のでとりあえず自分の呼びたい成功回数などに突っ込んでおけば大丈夫そう?
表示されるかされないは3回制限のことを言っているっぽく?ボタン等で表示みたいな動作は避けろというニュアンスっぽい? 知ってる方いたらリプください…