忍者ブログ
  • 2024.10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 2024.12
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/11/22 18:57 】 |
iRate導入
レーティングしてもらうために出すダイアログ。
定番は iRate

分かりやすい説明の記事

iRate.h
iRate.mm
の2ファイルを置くだけで良い。

設定内容として以下のようなコードを起動直後に行っておく。

[[iRate sharedInstance] setAppStoreID:APP_ID];

[[iRate sharedInstance] setUsesUntilPrompt:1]; //1回起動でプロンプト出す
[[iRate sharedInstance] setEventsUntilPrompt:1]; //1回イベント通過でプロンプト出す
[[iRate sharedInstance] setDaysUntilPrompt:2.f]; //「あとで」の場合、2日後に再度プロンプト出す

[[iRate sharedInstance] setMessageTitle:@"AppStoreレビュー"];
[[iRate sharedInstance] setMessage:@"このアプリをAppStoreでレビューしませんか?"];
[[iRate sharedInstance] setRateButtonLabel:@"いますぐレビューする"];
[[iRate sharedInstance] setRemindButtonLabel:@"あとで"];
[[iRate sharedInstance] setCancelButtonLabel:@"レビューしない"];





とある画面を一定回数通ったらダイアログを出す、をしたいときは

[[iRate sharedInstance] logEvent:NO];




というのを呼べばいい。設定した内容に応じて、ダイアログを出してくれる。
ただしこれも、開発中(APP_IDが存在しない)ときはダイアログが出ないので注意。(後述)

自分で明示的に呼び出すこともできて、

[[iRate sharedInstance] promptForRating];




とすれば良い。必ずダイアログが出る。


また、レーティング済みかどうかは

[[iRate sharedInstance] ratedAnyVersion];




で分かる。
ただしこれは実際にApp Storeに書き込んだかどうかではなく、アプリ内で保存している変数値でチェックしていることに注意。

- (void)setRatedThisVersion:(BOOL)rated
{
[[NSUserDefaults standardUserDefaults] setObject:(rated? self.applicationVersion: nil) forKey:iRateRatedVersionKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}




さて、コンパイルに失敗する場合があるが、それはARCが有効になっていないからかも。
このページを参考にして対応しよう。


問題はAPP_ID。アプリを申請したときに出てくる固有のID。これはサブミット作業を進めておかないと取得されない。
実際には、APP_IDでなく、バンドルIDでもレビュー画面に飛べる。
だからAPP_IDがなくてもいいんだけど、ぶっつけ本番になるから確認したいところ。
多分、サブミット作業をバイナリアップロード前(情報登録)のところまで進めておけば、APP_IDが発行されるんで、それを入れておくところまでやっておこう。

APP_IDまで入れた状態で、しかしまだAppStoreにページが存在していない状態(URLは決定しているけどね)で、
[[iRate sharedInstance] logEvent:NO];
を呼び出すと、ログに以下の文章が出る。

iRate could not find this application on iTunes. If your app is not intended for App Store release then you must specify a custom ratingsURL. If this is the first release of your application then it's not a problem that it cannot be found on the store yet



つまり、ダイアログは表示されなかったけど、AppStoreにページがないだけだから安心して、ということだ。
提出前のチェックとしては、このメッセージを信じて実装完了としよう。
PR
【2014/06/11 19:07 】 | iPhone | 有り難いご意見(0)
<<iPhoneシリーズ画面サイズやOS | ホーム | cocos2d-xにアイモバイル広告導入>>
有り難いご意見
貴重なご意見の投稿














<<前ページ | ホーム | 次ページ>>