Ini tidak akan menerima pembaruan atau perbaikan bug di masa depan. Jika Anda menggunakannya, silakan migrasi ke solusi lain.
IRATE adalah perpustakaan untuk membantu Anda mempromosikan aplikasi iPhone dan App App Store Anda dengan mendorong pengguna untuk menilai aplikasi setelah menggunakannya selama beberapa hari. Pendekatan ini adalah salah satu cara terbaik untuk mendapatkan ulasan aplikasi positif dengan menargetkan hanya pengguna reguler (yang mungkin menyukai aplikasi atau mereka tidak akan terus menggunakannya!).
Catatan: 'Didukung' berarti bahwa perpustakaan telah diuji dengan versi ini. 'Kompatibel' berarti bahwa perpustakaan harus bekerja pada versi OS ini (yaitu tidak bergantung pada fitur SDK yang tidak tersedia) tetapi tidak lagi diuji untuk kompatibilitas dan mungkin memerlukan tweaking atau perbaikan bug untuk berjalan dengan benar.
Pada versi 1.7, irate membutuhkan busur. Jika Anda ingin menggunakan IRATE dalam proyek non-Arc, cukup tambahkan bendera kompiler -fobjc-arc ke kelas IRATE.M. Untuk melakukan ini, buka tab Build Fase di pengaturan target Anda, buka grup Compile Sources, klik dua kali irate.m dalam daftar dan ketik -fobjc-arc ke dalam popover.
Jika Anda ingin mengonversi seluruh proyek Anda ke busur, komentari baris #Error di IRATE.M, lalu jalankan edit> refactor> Convert ke ARCEPT-C ARC ... Alat di Xcode dan pastikan semua file yang Anda inginkan Gunakan busur untuk (termasuk irate.m) diperiksa.
IRATE menggunakan threading secara internal untuk menghindari memblokir UI, tetapi tidak ada antarmuka eksternal yang irate yang aman dan Anda tidak boleh memanggil metode apa pun atau mengatur properti apa pun pada irate kecuali dari utas utama.
Untuk menginstal irate ke aplikasi Anda, seret file irate.h, .m dan .bundle ke dalam proyek Anda. Anda dapat menghilangkan .bundle jika Anda tidak tertarik dengan teks yang terlokalisasi.
IRATE biasanya tidak memerlukan konfigurasi sama sekali dan hanya akan berjalan secara otomatis, menggunakan ID bundel aplikasi untuk melihat ID aplikasi di toko aplikasi.
Catatan: Jika Anda memiliki aplikasi dengan ID bundel yang cocok di kedua toko aplikasi Mac dan iOS (bahkan jika mereka menggunakan kapitalisasi yang berbeda), mekanisme pencarian tidak akan berfungsi, jadi Anda harus mengatur properti AppStoreID secara manual, yang merupakan a ID numerik yang dapat ditemukan di iTunes Connect setelah Anda mengatur aplikasi. Juga, jika Anda membuat aplikasi Mac Sandboxed dan aplikasi Anda tidak meminta izin akses jaringan maka Anda perlu mengatur AppStoreID karena tidak dapat diambil dari layanan iTunes.
Jika Anda ingin menyesuaikan irate, waktu terbaik untuk melakukan ini adalah di metode appdelegate Anda -[application:didFinishLaunchingWithOptions:]
metode. Menerapkan konfigurasi nanti mungkin tidak berfungsi, karena prompt mungkin sudah ditunjukkan pada saat itu:
#import "iRate.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//configure iRate
[iRate sharedInstance].daysUntilPrompt = 5;
[iRate sharedInstance].usesUntilPrompt = 15;
return YES;
}
Untuk mengonfigurasi irate, ada sejumlah properti dari kelas IRATE yang dapat mengubah perilaku dan penampilan irate. Ini harus sebagian besar penjelasan diri, tetapi didokumentasikan di bawah ini:
@property (nonatomic, assign) NSUInteger appStoreID;
Ini harus cocok dengan ID aplikasi iTunes dari aplikasi Anda, yang dapat Anda dapatkan dari iTunes Connect setelah menyiapkan aplikasi Anda. Nilai ini biasanya tidak diperlukan dan umumnya hanya diperlukan jika Anda memiliki konflik yang disebutkan di atas antara ID bundel untuk aplikasi Mac dan iOS Anda, atau dalam hal aplikasi Mac Sandboxed, jika aplikasi Anda tidak memiliki izin jaringan karena tidak akan ada dapat mengambil AppStoreID secara otomatis menggunakan layanan iTunes.
@property (nonatomic, assign) NSUInteger appStoreGenreID;
Ini adalah jenis aplikasi, yang digunakan untuk menentukan teks default untuk dialog peringkat. Ini diatur secara otomatis dengan menelepon layanan iTunes, jadi Anda tidak perlu mengaturnya secara manual untuk sebagian besar tujuan. Jika Anda ingin mengesampingkan nilai ini, mengaturnya ke konstanta iRateAppStoreGameGenreID
akan menyebabkan marah untuk menggunakan versi "game" dari dialog peringkat, dan mengaturnya ke nilai lain akan menggunakan versi "aplikasi" dari dialog peringkat.
@property (nonatomic, copy) NSString *appStoreCountry;
Ini adalah kode negara dua huruf yang digunakan untuk menentukan iTunes Store mana yang akan diperiksa. Ini diatur secara otomatis dari preferensi lokal perangkat, jadi tidak perlu diubah dalam kebanyakan kasus. Anda dapat mengesampingkan ini untuk menunjuk ke toko AS, atau toko spesifik lain jika Anda lebih suka, yang mungkin merupakan ide yang baik jika aplikasi Anda hanya tersedia di negara -negara tertentu.
@property (nonatomic, copy) NSString *applicationName;
Ini adalah nama aplikasi yang ditampilkan dalam peringatan IRATE. Ini diatur secara otomatis dari info aplikasi. Plist, tetapi Anda mungkin ingin menimpanya dengan versi yang lebih pendek atau lebih lama.
@property (nonatomic, copy) NSString *applicationBundleID;
Ini adalah ID Bundel Aplikasi, yang digunakan untuk mengambil appStoreID
dan appStoreGenreID
dari iTunes. Ini diatur secara otomatis dari info aplikasi. Plist, jadi Anda tidak perlu mengubahnya kecuali untuk tujuan pengujian.
@property (nonatomic, assign) float daysUntilPrompt;
Ini adalah jumlah hari yang harus diinstal oleh aplikasi sebelum mereka diminta untuk menilai. Waktu diukur dari pertama kalinya aplikasi diluncurkan. Ini adalah nilai titik mengambang, sehingga dapat digunakan untuk menentukan jumlah fraksional hari (mis. 0,5). Nilai defaultnya adalah 10 hari.
@property (nonatomic, assign) NSUInteger usesUntilPrompt;
Ini adalah jumlah minimum kali pengguna harus meluncurkan aplikasi sebelum diminta untuk menilai. Ini menghindari skenario di mana pengguna menjalankan aplikasi satu kali, tidak melihatnya selama berminggu -minggu dan kemudian meluncurkannya lagi, hanya untuk segera didorong untuk menilai. Hitungan penggunaan minimum memastikan bahwa hanya pengguna yang sering diminta. Prompt akan muncul hanya setelah jumlah hari yang ditentukan dan penggunaan telah tercapai. Ini default ke 10 kegunaan.
@property (nonatomic, assign) NSUInteger eventsUntilPrompt;
Untuk beberapa aplikasi, peluncuran bukanlah metrik yang baik untuk digunakan. Misalnya aplikasi ini mungkin adalah daemon yang berjalan terus -menerus, atau permainan di mana pengguna tidak dapat menulis ulasan informasi sampai mereka mencapai level tertentu. Dalam hal ini Anda dapat mencatat peristiwa signifikan secara manual dan meminta prompt muncul setelah jumlah yang telah ditentukan dari peristiwa ini. Seperti pengaturan UseUntilPromppt, prompt akan muncul hanya setelah jumlah hari dan peristiwa yang ditentukan, namun begitu ambang batas hari tercapai, prompt akan muncul jika ambang peristiwa atau menggunakan ambang batas tercapai. Ini default ke 10 acara.
@property (nonatomic, assign) float usesPerWeekForPrompt;
Jika Anda kurang peduli dengan total kali aplikasi digunakan, tetapi lebih suka menggunakan frekuensi waktu aplikasi digunakan, Anda dapat menggunakan properti usesPerWeekForPrompt
untuk menetapkan ambang minimum untuk berapa kali pengguna harus diluncurkan Aplikasi per minggu (rata -rata) untuk prompt yang akan ditampilkan. Perhatikan bahwa ini adalah rata -rata karena aplikasi diinstal, jadi jika pengguna pergi untuk waktu yang lama tanpa menjalankan aplikasi, itu mungkin membuang rata -rata. Nilai default adalah nol.
@property (nonatomic, assign) float remindPeriod;
Berapa lama aplikasi harus menunggu sebelum mengingatkan pengguna untuk menilai setelah mereka memilih opsi "ingatkan nanti" (diukur dalam beberapa hari). Nilai nol berarti aplikasi akan mengingatkan peluncuran pengguna berikutnya. Perhatikan bahwa nilai ini menggantikan kriteria lain, sehingga aplikasi tidak akan meminta peringkat selama periode pengingat, bahkan jika versi baru dirilis sementara itu. Default ini menjadi 1 hari.
@property (nonatomic, copy) NSString *messageTitle;
Judul yang ditampilkan untuk prompt peringkat. Jika Anda tidak ingin menampilkan judul, atur ini ke @""
;
@property (nonatomic, copy) NSString *message;
Pesan Prompt Peringkat. Ini harus sopan dan sopan, tetapi tidak terlalu bertele -tele. Jika Anda tidak ingin menampilkan pesan, atur ini ke @""
;
@property (nonatomic, copy) NSString *updateMessage;
Ini adalah pesan yang digunakan untuk pengguna yang sebelumnya menilai aplikasi, mendorong mereka untuk menilai kembali. Ini memungkinkan Anda untuk menyesuaikan pesan untuk pengguna ini. Jika Anda tidak menyediakan pesan khusus untuk kasus ini, pesan standar akan digunakan.
@property (nonatomic, copy) NSString *cancelButtonLabel;
Label tombol untuk tombol untuk mengabaikan prompt peringkat tanpa peringkat aplikasi.
@property (nonatomic, copy) NSString *rateButtonLabel;
Label tombol untuk tombol yang ditekan pengguna jika mereka ingin menilai aplikasi.
@property (nonatomic, copy) NSString *remindButtonLabel;
Label tombol untuk tombol yang ditekan pengguna jika mereka tidak ingin menilai aplikasi segera, tetapi ingin diingatkan tentang hal itu di masa mendatang. Atur ini ke @""
Jika Anda tidak ingin menampilkan tombol EAIN ME - misalnya jika Anda tidak memiliki ruang di layar.
@property (nonatomic, assign) BOOL useAllAvailableLanguages;
Secara default, irate akan menggunakan semua bahasa yang tersedia di irate.bundle, bahkan jika digunakan dalam aplikasi yang tidak mendukung lokalisasi. Jika Anda lebih suka membatasi irate untuk hanya menggunakan set bahasa yang sama yang sudah didukung aplikasi Anda, atur properti ini ke no. (Default ke ya).
@property (nonatomic, assign) BOOL promptForNewVersionIfUserRated;
Karena peringkat iTunes khusus versi, Anda idealnya ingin pengguna menilai setiap versi baru dari aplikasi Anda. Pengguna yang sangat menyukai aplikasi Anda mungkin bersedia memperbarui ulasan mereka untuk rilis baru. Setel promptForNewVersionIfUserRated
ke YES
, dan IRATE akan meminta pengguna lagi setiap kali mereka menginstal pembaruan sampai mereka menurun untuk menilai aplikasi. Jika mereka menolak, mereka tidak akan ditanya lagi.
@property (nonatomic, assign) BOOL onlyPromptIfLatestVersion;
Atur ini ke TIDAK untuk mengaktifkan prompt peringkat yang akan ditampilkan bahkan jika pengguna tidak menjalankan versi terbaru dari aplikasi. Ini default ke ya karena dengan cara itu pengguna tidak akan meninggalkan ulasan buruk karena bug yang sudah Anda perbaiki, dll.
@property (nonatomic, assign) BOOL onlyPromptIfMainWindowIsAvailable;
Pengaturan ini hanya berlaku untuk Mac OS. Secara default, pada Mac OS, Peringatan IRATE ditampilkan sebagai lembar di jendela utama. Beberapa aplikasi tidak memiliki jendela utama, jadi pendekatan ini tidak berhasil. Untuk aplikasi semacam itu, atur properti ini ke TIDAK untuk memungkinkan peringatan irate ditampilkan sebagai jendela modal biasa.
@property (nonatomic, assign) BOOL promptAtLaunch;
Atur ini ke TIDAK untuk menonaktifkan prompt peringkat muncul secara otomatis ketika aplikasi diluncurkan atau kembali dari latar belakang. Kriteria peringkat akan terus dilacak, tetapi prompt tidak akan ditampilkan secara otomatis saat pengaturan ini berlaku. Anda dapat menggunakan opsi ini jika Anda ingin mengontrol tampilan prompt peringkat secara manual.
@property (nonatomic, assign) BOOL verboseLogging;
Opsi ini akan menyebabkan marah untuk mengirim log terperinci ke konsol tentang proses pengambilan keputusan yang cepat. Jika aplikasi Anda tidak meminta peringkat ketika Anda mengharapkannya, ini akan membantu Anda mengetahui alasannya. Verbose Logging diaktifkan secara default pada debug build, dan dinonaktifkan pada rilis dan penempatan build.
@property (nonatomic, assign) BOOL previewMode;
Jika diatur ke YA, IRATE akan selalu menampilkan prompt peringkat pada peluncuran, terlepas dari berapa lama aplikasi telah digunakan atau apakah itu versi terbaru (kecuali jika Anda secara eksplisit menonaktifkan opsi promptAtLaunch
). Gunakan ini untuk mengoreksi pesan Anda dan periksa konfigurasi Anda benar selama pengujian, tetapi nonaktifkan untuk rilis akhir (default ke tidak).
@property (nonatomic, assign) BOOL useUIAlertControllerIfAvailable;
Secara default, IRATE akan menggunakan UialerTView di iOS untuk menampilkan prompt peringkat. UialertView sudah usang di IOS8 dan digantikan oleh UialertController. Sayangnya, tidak seperti UialerTView, menyajikan peringatan dengan UialertController mengganggu kemampuan aplikasi untuk menampilkan pengontrol lain, dan karena IRATE secara teoritis dapat menampilkan peringatan pada titik mana pun selama masa hidup aplikasi, mungkin berbenturan dengan aplikasi yang mencoba menyajikan pengontrol tampilan lain untuk mengontrol tampilan lain untuk mengontrol tampilan lain untuk mengontrol tampilan lain untuk menyajikan pengontrol tampilan lain untuk menyajikan pengontrol tampilan lain. . Untuk alasan ini, penggunaan UialertController dinonaktifkan secara default. Anda hanya harus mengatur properti ini ke YES jika Anda yakin itu tidak akan berbenturan dengan logika aplikasi Anda (misalnya, jika Anda telah menonaktifkan petunjuk peringkat otomatis, atau jika aplikasi Anda tidak menggunakan pengontrol tampilan modal).
@property (nonatomic, assign) BOOL useSKStoreReviewControllerIfAvailable;
Secara default, IRATE akan menggunakan SKStoreReviewController untuk meminta ulasan di iOS 10.3 dan di atas. Untuk menonaktifkan ini, atur useSKStoreReviewControllerIfAvailable
ke NO
.
Jika perilaku irate default tidak memenuhi kebutuhan Anda, Anda dapat mengimplementasikannya sendiri dengan menggunakan properti, metode, dan delegasi canggih. Properti di bawah ini memungkinkan Anda mengakses keadaan internal dan menimpanya:
@property (nonatomic, strong) NSURL *ratingsURL;
URL bahwa aplikasi akan mengarahkan pengguna ke sehingga mereka dapat menulis peringkat untuk aplikasi. Ini diatur ke nilai yang benar untuk platform yang diberikan secara otomatis. Di iOS 6 dan di bawah ini membawa pengguna langsung ke halaman peringkat, tetapi di iOS 7 dan Mac OS itu membawa pengguna ke halaman aplikasi utama (jika ada cara untuk secara langsung menautkan ke halaman peringkat di platform tersebut, saya belum untuk menemukannya). Jika Anda menerapkan prompt peringkat Anda sendiri, Anda mungkin harus menggunakan metode openRatingsPageInAppStore
sebagai gantinya, terutama pada Mac OS, karena proses untuk membuka Mac App Store lebih kompleks daripada hanya membuka URL.
@property (nonatomic, strong) NSDate *firstUsed;
Tanggal pertama di mana pengguna meluncurkan versi aplikasi saat ini. Ini digunakan untuk menghitung apakah hari -hari kriteria yang telah dipenuhi.
@property (nonatomic, strong) NSDate *lastReminded;
Tanggal di mana pengguna terakhir diminta untuk diingatkan untuk menilai aplikasi nanti.
@property (nonatomic, assign) NSUInteger usesCount;
Berapa kali versi aplikasi saat ini telah digunakan (diluncurkan).
@property (nonatomic, assign) NSUInteger eventCount;
Jumlah acara aplikasi signifikan yang telah direkam sejak versi saat ini diinstal. Ini bertambah dengan metode LogEvent, tetapi juga dapat dimanipulasi secara langsung. Lihat demo acara untuk melihat bagaimana OS ini digunakan.
@property (nonatomic, readonly) float usesPerWeek;
Jumlah rata -rata per minggu dari versi aplikasi saat ini telah digunakan (diluncurkan).
@property (nonatomic, assign) BOOL declinedThisVersion;
Bendera ini menunjukkan apakah pengguna telah menolak untuk menilai versi saat ini (ya) atau tidak (tidak). Ini saat ini tidak digunakan oleh logika yang diminta, tetapi mungkin berguna untuk mengimplementasikan logika Anda sendiri.
@property (nonatomic, assign) BOOL declinedAnyVersion;
Bendera ini menunjukkan apakah pengguna telah menolak untuk menilai versi aplikasi sebelumnya (ya) atau tidak (tidak). irate tidak akan meminta pengguna secara otomatis jika ini diatur ke ya.
@property (nonatomic, assign) BOOL ratedThisVersion;
Bendera ini menunjukkan apakah pengguna telah menilai versi saat ini (ya) atau tidak (tidak).
@property (nonatomic, readonly) BOOL ratedAnyVersion;
Bendera (ReadOnly) ini menunjukkan apakah pengguna sebelumnya menilai versi aplikasi (ya) atau tidak (tidak).
@property (nonatomic, assign) id<iRateDelegate> delegate;
Suatu objek yang telah Anda pasang yang mengimplementasikan protokol iRateDelegate
, yang didokumentasikan di bawah ini. Gunakan ini untuk mendeteksi dan/atau mengganti perilaku default IRATE. Default ini untuk delegasi aplikasi, jadi jika Anda menggunakan delegasi aplikasi Anda sebagai delegasi irate Anda, Anda tidak perlu mengatur properti ini.
Selain konfigurasi, irate memiliki metode berikut:
- (BOOL)shouldPromptForRating;
Mengembalikan ya jika kriteria cepat telah dipenuhi, dan tidak jika mereka belum. Anda dapat menggunakan ini untuk memutuskan kapan harus menampilkan prompt peringkat jika Anda telah menonaktifkan tampilan otomatis pada peluncuran aplikasi. Menyebut metode ini tidak akan menyebut metode delegasi iRateShouldPromptForRating
.
- (void)promptForRating;
Metode ini akan segera memicu prompt peringkat tanpa memeriksa bahwa App Store tersedia, dan tanpa memanggil metode delegasi IrateshouldPromptForrating. Perhatikan bahwa metode ini tergantung pada properti appStoreID
dan applicationGenre
, yang hanya diambil setelah pemungutan suara server iTunes, jadi jika Anda berniat untuk memanggil metode ini secara langsung, Anda perlu mengatur properti ini sendiri sebelumnya, atau menggunakan metode promptIfNetworkAvailable
.
- (void)promptIfNetworkAvailable;
Metode ini akan memeriksa apakah App Store tersedia, dan jika ada, itu akan menampilkan prompt peringkat kepada pengguna. Metode delegasi yang berkompomptasi IresshouldPromptForrating akan dipanggil sebelum peringatan ditampilkan, sehingga Anda dapat mencegatnya. Perhatikan bahwa jika aplikasi Anda adalah kotak pasir dan tidak memiliki izin akses jaringan, metode ini akan mengabaikan status ketersediaan jaringan, namun dalam hal ini Anda perlu mengatur secara manual appStoreID
atau irate tidak dapat berfungsi.
- (void)promptIfAllCriteriaMet;
Metode ini akan memeriksa apakah semua kriteria yang diminta telah dipenuhi, dan jika App Store tersedia, dan jika ada, itu akan menampilkan prompt peringkat kepada pengguna. Metode delegasi yang berkompomptasi IresshouldPromptForrating akan dipanggil sebelum peringatan ditampilkan, sehingga Anda dapat mencegatnya.
- (void)openRatingsPageInAppStore;
Metode ini melewatkan peringatan pengguna dan membuka halaman Peringkat Aplikasi di Mac atau iPhone App Store, tergantung pada platform mana yang beroperasi. Metode ini tidak melakukan cek apa pun untuk memverifikasi bahwa mesin memiliki akses jaringan atau bahwa App Store tersedia. Ini juga tidak menyebut metode -iRateShouldOpenAppStore
delegate. Anda harus menggunakan metode ini untuk membuka halaman peringkat alih -alih properti peringkat, karena proses untuk meluncurkan App Store lebih kompleks daripada hanya membuka URL dalam banyak kasus. Perhatikan bahwa metode ini tergantung pada appStoreID
yang hanya diambil setelah polling server iTunes. Jika Anda memanggil metode ini tanpa terlebih dahulu melakukan pemeriksaan pembaruan, Anda harus mengatur properti appStoreID
sendiri sebelumnya, atau mengambil risiko bahwa metode tersebut mungkin membutuhkan waktu untuk melakukan panggilan jaringan, atau gagal sepenuhnya. Pada keberhasilan, metode ini akan menghubungi metode delegasi -iRateDidOpenAppStore
. Pada kegagalan itu akan menghubungi -iRateCouldNotConnectToAppStore:
Metode Delegasi.
- (void)logEvent:(BOOL)deferPrompt;
Metode ini dapat dipanggil dari mana saja di aplikasi Anda (setelah irate telah dikonfigurasi) dan menambah jumlah acara yang signifikan. Ketika jumlah peristiwa yang telah ditentukan tercapai, prompt peringkat akan ditampilkan. Parameter DeferPrompt opsional digunakan untuk menentukan apakah prompt akan segera ditampilkan (tidak) atau apakah aplikasi akan menunggu hingga peluncuran berikutnya (ya).
- (void)remindLater;
Metode ini mengatur ulang periode pengingat.
Protokol IratedElegate menyediakan metode berikut yang dapat digunakan mencegat peristiwa irate dan mengesampingkan perilaku default. Semua metode opsional.
- (void)iRateCouldNotConnectToAppStore:(NSError *)error;
Metode ini dipanggil jika IRATE tidak dapat terhubung ke App Store, biasanya karena koneksi jaringan turun. Ini juga dapat menembak jika aplikasi Anda tidak memiliki akses ke jaringan karena izin Sandbox, dalam hal ini Anda perlu secara manual mengatur AppStoreID sehingga irate masih dapat berfungsi.
- (void)iRateDidDetectAppUpdate;
Metode ini dipanggil jika IRATE mendeteksi bahwa aplikasi telah diperbarui sejak terakhir kali diluncurkan.
- (BOOL)iRateShouldPromptForRating;
Metode ini dipanggil segera sebelum prompt peringkat ditampilkan kepada pengguna. Anda dapat menggunakan metode ini untuk mengimplementasikan logika prompt khusus di samping aturan standar. Anda juga dapat menggunakan metode ini untuk memblokir peringatan prompt standar dan menampilkan prompt peringkat dengan cara yang berbeda, atau memotongnya sama sekali.
- (void)iRateDidPromptForRating;
Metode ini dipanggil segera sebelum prompt peringkat ditampilkan. Ini berguna jika Anda menggunakan analitik untuk melacak persentase pengguna yang melihat prompt dan kemudian pergi ke App Store. Ini dapat membantu Anda menyempurnakan keadaan di sekitar kapan/bagaimana Anda menunjukkan prompt.
- (void)iRateUserDidAttemptToRateApp;
Ini dipanggil ketika pengguna menekan tombol laju di prompt peringkat. Ini berguna jika Anda ingin mencatat interaksi pengguna dengan IRATE. Metode ini hanya dipanggil jika Anda menggunakan prompt tampilan peringatan IRATE standar dan tidak akan dipanggil secara otomatis jika Anda memberikan implementasi peringkat khusus atau hubungi metode openRatingsPageInAppStore
secara langsung.
- (void)iRateUserDidDeclineToRateApp;
Ini dipanggil ketika pengguna menolak untuk menilai aplikasi. Ini berguna jika Anda ingin mencatat interaksi pengguna dengan IRATE. Metode ini hanya dipanggil jika Anda menggunakan prompt tampilan peringatan irate standar dan tidak akan dipanggil secara otomatis jika Anda memberikan implementasi peringkat khusus.
- (void)iRateUserDidRequestReminderToRateApp;
Ini dipanggil ketika pengguna meminta untuk diingatkan untuk menilai aplikasi. Ini berguna jika Anda ingin mencatat interaksi pengguna dengan IRATE. Metode ini hanya dipanggil jika Anda menggunakan prompt tampilan peringatan irate standar dan tidak akan dipanggil secara otomatis jika Anda memberikan implementasi peringkat khusus.
- (BOOL)iRateShouldOpenAppStore;
Metode ini dipanggil segera sebelum upaya IRATE untuk membuka App Store. Kembalikan tidak jika Anda ingin mengimplementasikan logika tampilan halaman peringkat Anda sendiri.
- (void)iRateDidOpenAppStore;
Metode ini dipanggil segera setelah IRATE membuka App Store.
String default untuk irate sudah terlokalisasi untuk banyak bahasa. Secara default, marah akan menggunakan semua lokalisasi dalam irate.bundle bahkan dalam aplikasi yang tidak terlokalisasi, atau yang hanya terlokalisasi pada subset bahasa yang didukung oleh ARATE. Kunci string irate adalah:
static NSString *const iRateMessageTitleKey = @"iRateMessageTitle";
static NSString *const iRateAppMessageKey = @"iRateAppMessage";
static NSString *const iRateGameMessageKey = @"iRateGameMessage";
static NSString *const iRateUpdateMessageKey = @"iRateUpdateMessage";
static NSString *const iRateCancelButtonKey = @"iRateCancelButton";
static NSString *const iRateRemindButtonKey = @"iRateRemindButton";
static NSString *const iRateRateButtonKey = @"iRateRateButton";
Jika Anda lebih suka irate untuk hanya menggunakan lokalisasi yang diaktifkan dalam aplikasi Anda (sehingga jika aplikasi Anda hanya mendukung bahasa Inggris, Prancis dan Spanyol, irate secara otomatis akan dilokalisasi untuk bahasa -bahasa tersebut, tetapi tidak untuk bahasa Jerman, meskipun IRATE termasuk orang Jerman file bahasa), atur opsi useAllAvailableLanguages
ke no.
Tidak disarankan agar Anda memodifikasi file string di irate.bundle, karena akan mempersulit pembaruan ke versi yang lebih baru dari irate. Pengecualian untuk ini adalah jika Anda ingin mengirimkan bahasa tambahan atau perbaikan atau koreksi ke lokalisasi dalam proyek IRATE di GitHub (yang sangat dihargai).
Jika Anda ingin menambahkan bahasa tambahan untuk irate di aplikasi Anda tanpa mengirimkannya kembali ke proyek GitHub, Anda dapat menambahkan string ini langsung ke file localizable yang sesuai di folder proyek Anda. Jika Anda ingin mengganti beberapa atau semua string irate default, opsi paling sederhana adalah menyalin hanya string itu ke file localizable Anda sendiri dan kemudian memodifikasinya. IRATE akan secara otomatis menggunakan string di bundel aplikasi utama dalam preferensi pada yang ada di bundel irate sehingga Anda dapat mengganti string apa pun dengan cara ini.
Jika Anda tidak ingin menggunakan lokalisasi default , Anda dapat menghilangkan irate.bundle sama sekali. Perhatikan bahwa jika Anda hanya ingin mendukung subset bahasa yang didukung oleh marah, tidak perlu menghapus file string lainnya dari irate.bundle - cukup atur useAllAvailableLanguages
ke Tidak, dan IRATE hanya akan menggunakan bahasa yang sudah didukung aplikasi Anda.
Metode lama mengesampingkan string default IRATE dengan menggunakan metode setter individual (lihat di bawah) masih didukung, namun pendekatan yang disarankan sekarang adalah untuk menambahkan string tersebut ke file localizable proyek Anda, yang akan terdeteksi secara otomatis oleh irate.
+ (void)initialize
{
//overriding the default iRate strings
[iRate sharedInstance].messageTitle = NSLocalizedString(@"Rate MyApp", @"iRate message title");
[iRate sharedInstance].message = NSLocalizedString(@"If you like MyApp, please take the time, etc", @"iRate message");
[iRate sharedInstance].cancelButtonLabel = NSLocalizedString(@"No, Thanks", @"iRate decline button");
[iRate sharedInstance].remindButtonLabel = NSLocalizedString(@"Remind Me Later", @"iRate remind button");
[iRate sharedInstance].rateButtonLabel = NSLocalizedString(@"Rate It Now", @"iRate accept button");
}
Saat Anda membangun dan menjalankan proyek contoh Mac atau iPhone dasar untuk pertama kalinya, itu akan menunjukkan peringatan yang meminta Anda untuk menilai aplikasi. Ini karena opsi PreviewMode diatur.
Nonaktifkan opsi PreviewMode dan mainkan dengan pengaturan lain untuk melihat bagaimana aplikasi berperilaku dalam praktik.
Contoh lanjutan menunjukkan bagaimana Anda dapat menerapkan antarmuka ireate yang sepenuhnya dipesan lebih dahulu menggunakan metode IratedElegate. Permintaan otomatis dinonaktifkan dan sebaliknya pengguna dapat memilih untuk menilai aplikasi dengan menekan tombol "Nilai aplikasi ini".
Saat ditekan, aplikasi pertama -tama memeriksa bahwa App Store tersedia (mungkin bukan jika komputer tidak memiliki koneksi internet atau Apple.com turun), dan kemudian meluncurkan Mac App Store.
Contohnya adalah untuk Mac OS, tetapi prinsip yang sama dapat diterapkan pada iOS.
Versi 1.12.2
Versi 1.12.1
Versi 1.12
Versi 1.11.7
Versi 1.11.6
Versi 1.11.5
Versi 1.11.4
canOpenURL:
Versi 1.11.3
Versi 1.11.2
Versi 1.11.1
Versi 1.11
promptIfCriteriaMet
NSNotificationCenter
sebagai alternatif untuk delegasiUIAlertController
alih -alih UIAlertView
jika tersediaVersi 1.10.3
Versi 1.10.2
Versi 1.10.1
Versi 1.10
daysUntilPrompt
penuh setelah mencapai periode setelah pembaruan aplikasipromptForNewVersionIfUserRated
untuk mempromposkan kembali pengguna yang memiliki peringkat sebelumnya (OFF secara default)updateMessage
untuk digunakan dengan promptForNewVersionIfUserRated
opsiVersi 1.9.3
Versi 1.9.2
Versi 1.9.1
Versi 1.9
promptAgainEachVersion
Versi 1.8.3
Versi 1.8.2
Versi 1.8.1
Versi 1.8
Versi 1.7.5
Versi 1.7.4
Versi 1.7.3
Versi 1.7.2
Versi 1.7.1
Versi 1.7
Versi 1.6.2
Versi 1.6.1
Versi 1.6
Versi 1.5.3
Versi 1.5.2
Versi 1.5.1
Versi 1.5
Versi 1.4.9
Versi 1.4.8
Versi 1.4.7
Versi 1.4.6
Versi 1.4.5
Versi 1.4.4
Versi 1.4.3
Versi 1.4.2
Versi 1.4.1
Versi 1.4
Versi 1.3.5
Versi 1.3.4
iRateDidDetectAppUpdate
Versi 1.3.3
Versi 1.3.2
Versi 1.3.1
Versi 1.3
Versi 1.2.3
Versi 1.2.2
Versi 1.2.1
MAC_APP_STORE_REFRESH_DELAY
to 5 seconds to support older machinesVersi 1.2
Versi 1.1
Versi 1.0