Não receberá atualizações futuras ou correções de bugs. Se você o estiver usando, migre para outra solução.
O IRATE é uma biblioteca para ajudá -lo a promover seus aplicativos iPhone e Mac App Store, levando os usuários a classificar o aplicativo depois de usá -lo por alguns dias. Essa abordagem é uma das melhores maneiras de obter análises positivas de aplicativos, direcionando -se apenas a usuários regulares (que presumivelmente gostam do aplicativo ou não o usariam!).
Nota: 'Suportado' significa que a biblioteca foi testada com esta versão. 'Compatível' significa que a biblioteca deve funcionar nessa versão do sistema operacional (ou seja, não depende de nenhum recurso SDK indisponível), mas não está mais sendo testado para compatibilidade e pode exigir ajustes ou correções de bugs para executar corretamente.
A partir da versão 1.7, o irado requer arco. Se você deseja usar o Irate em um projeto não-ARC, basta adicionar o sinalizador de compilador -fobjc-arco à classe irate.m. Para fazer isso, vá para a guia Build Fases nas configurações de destino, abra o grupo de fontes de compilação, clique duas vezes em irate.m na lista e digite -fobjc-arc no popover.
Se você deseja converter todo o seu projeto em arco, comente a linha #Error em irate.m e execute a ferramenta Editar> Refactor> Converter em Objective-C Arc ... use arco para (incluindo irate.m) é verificado.
O Irate usa rosqueamento internamente para evitar bloquear a interface do usuário, mas nenhuma das interfaces externas iradas é segura e você não deve chamar nenhum método ou definir quaisquer propriedades em irado, exceto no encadeamento principal.
Para instalar o seu aplicativo irado, arraste os arquivos irados.h, .m e .bundle em seu projeto. Você pode omitir o .bundle se não estiver interessado no texto localizado.
O irado normalmente não requer nenhuma configuração e simplesmente é executado automaticamente, usando o ID do pacote do aplicativo para procurar o ID do aplicativo na App Store.
Nota: Se você tiver aplicativos com IDs de pacote correspondentes nas lojas de aplicativos Mac e iOS (mesmo que eles usem capitalização diferente), o mecanismo de pesquisa não funcionará, então você precisará definir manualmente a propriedade AppStoreid, que é uma ID numérico que pode ser encontrado no iTunes Connect após você configurar um aplicativo. Além disso, se você estiver criando um aplicativo Mac com caixa de areia e seu aplicativo não solicitar a permissão de acesso à rede, precisará definir o AppStoreid, pois ele não pode ser recuperado do serviço iTunes.
Se você deseja personalizar o Irate, o melhor momento para fazer isso é no método do AppDelegate -[application:didFinishLaunchingWithOptions:]
. A aplicação da configuração mais tarde pode não funcionar, pois o prompt pode já ter sido demonstrado nesse ponto:
#import "iRate.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//configure iRate
[iRate sharedInstance].daysUntilPrompt = 5;
[iRate sharedInstance].usesUntilPrompt = 15;
return YES;
}
Para configurar o irado, existem várias propriedades da classe irada que podem alterar o comportamento e a aparência de irado. Estes devem ser principalmente auto-explicativos, mas estão documentados abaixo:
@property (nonatomic, assign) NSUInteger appStoreID;
Isso deve corresponder ao ID do aplicativo do iTunes do seu aplicativo, que você pode obter do iTunes Connect após a configuração do seu aplicativo. Normalmente, esse valor não é necessário e geralmente é necessário apenas se você tiver o conflito acima mencionado entre os IDs de pacote para seus aplicativos Mac e iOS, ou no caso de aplicativos Mac com caixa de areia, se seu aplicativo não tiver permissão de rede porque não será Capaz de buscar o AppStoreid usando o iTunes Services automaticamente.
@property (nonatomic, assign) NSUInteger appStoreGenreID;
Este é o tipo de aplicativo, usado para determinar o texto padrão para a caixa de diálogo de classificação. Isso é definido automaticamente chamando um serviço do iTunes, portanto, você não precisa defini -lo manualmente para a maioria dos propósitos. Se você deseja substituir esse valor, configurá -lo para a constante iRateAppStoreGameGenreID
fará com que o irado use a versão "Game" da caixa de diálogo de classificação e configurá -la em qualquer outro valor usará a versão "App" da caixa de diálogo de classificação.
@property (nonatomic, copy) NSString *appStoreCountry;
Este é o código do país de duas letras usado para especificar qual loja do iTunes store para verificar. Ele é definido automaticamente a partir das preferências de localidade do dispositivo, portanto, não precisará ser alterado na maioria dos casos. Você pode substituir isso para apontar para a loja dos EUA ou outra loja específica, se preferir, o que pode ser uma boa idéia se o seu aplicativo estiver disponível apenas em determinados países.
@property (nonatomic, copy) NSString *applicationName;
Este é o nome do aplicativo exibido no alerta irado. Ele é definido automaticamente a partir da info.plista do aplicativo, mas você pode substituí -lo por uma versão mais curta ou mais longa.
@property (nonatomic, copy) NSString *applicationBundleID;
Este é o ID do pacote de aplicativos, usado para recuperar o appStoreID
e appStoreGenreID
do iTunes. Isso é definido automaticamente a partir da info.plista do aplicativo, portanto, você não precisa alterá -lo, exceto para fins de teste.
@property (nonatomic, assign) float daysUntilPrompt;
Este é o número de dias que o usuário deve ter instalado o aplicativo antes de ser solicitado a classificá -lo. O tempo é medido desde a primeira vez que o aplicativo é iniciado. Este é um valor de ponto flutuante, para que possa ser usado para especificar um número fracionário de dias (por exemplo, 0,5). O valor padrão é de 10 dias.
@property (nonatomic, assign) NSUInteger usesUntilPrompt;
Este é o número mínimo de vezes que o usuário deve iniciar o aplicativo antes de ser solicitado a classificá -lo. Isso evita o cenário em que um usuário executa o aplicativo uma vez, não o olha por semanas e o inicia novamente, apenas para ser imediatamente solicitado a classificá -lo. A contagem mínima de uso garante que apenas usuários frequentes sejam solicitados. O prompt aparecerá somente após o número de dias e usos especificados. Isso padrão é de 10 usos.
@property (nonatomic, assign) NSUInteger eventsUntilPrompt;
Para alguns aplicativos, os lançamentos não são uma boa métrica para uso. Por exemplo, o aplicativo pode ser um daemon que funciona constantemente, ou um jogo em que o usuário não pode escrever uma revisão informada até que atinja um nível específico. Nesse caso, você pode registrar manualmente eventos significativos e que o prompt apareça após um número predeterminado desses eventos. Assim como a configuração UsantilPrompt, o prompt aparecerá somente após o número especificado de dias e eventos, no entanto, uma vez atingido o limite do dia, o prompt aparecerá se o limite ou o limite do evento for atingido. Isso padrão é 10 eventos.
@property (nonatomic, assign) float usesPerWeekForPrompt;
Se você estiver menos preocupado com o número total de vezes que o aplicativo é usado, mas preferiria usar a frequência de vezes que o aplicativo é usado, você pode usar a propriedade usesPerWeekForPrompt
para definir um limite mínimo para o número de vezes que o usuário deve iniciar O aplicativo por semana (em média) para que o prompt seja mostrado. Observe que essa é a média, pois o aplicativo foi instalado; portanto, se o usuário passar por um longo período sem executar o aplicativo, ele poderá eliminar a média. O valor padrão é zero.
@property (nonatomic, assign) float remindPeriod;
Quanto tempo o aplicativo deve esperar antes de lembrar um usuário a classificar depois de selecionar a opção "Lembre -me mais tarde" (medido em dias). Um valor zero significa que o aplicativo lembrará o próximo lançamento do usuário. Observe que esse valor substitui os outros critérios; portanto, o aplicativo não solicitará uma classificação durante o período de lembrete, mesmo que uma nova versão seja lançada nesse meio tempo. Isso padrão é 1 dia.
@property (nonatomic, copy) NSString *messageTitle;
O título exibido para o prompt de classificação. Se você não quiser exibir um título, defina @""
;
@property (nonatomic, copy) NSString *message;
A mensagem de solicitação de classificação. Isso deve ser educado e cortês, mas não muito prolixo. Se você não quiser exibir uma mensagem, defina @""
;
@property (nonatomic, copy) NSString *updateMessage;
Esta é uma mensagem a ser usada para usuários que classificaram anteriormente o aplicativo, incentivando-os a serem re-cobrados. Isso permite que você personalize a mensagem para esses usuários. Se você não fornecer uma mensagem personalizada para este caso, a mensagem padrão será usada.
@property (nonatomic, copy) NSString *cancelButtonLabel;
A etiqueta do botão para o botão descartar o prompt de classificação sem classificar o aplicativo.
@property (nonatomic, copy) NSString *rateButtonLabel;
A etiqueta do botão para o botão que o usuário pressiona se deseja classificar o aplicativo.
@property (nonatomic, copy) NSString *remindButtonLabel;
A etiqueta do botão para o botão que o usuário pressiona se não quiser classificar o aplicativo imediatamente, mas deseja ser lembrado sobre isso no futuro. Defina isso como @""
se você não quiser exibir o botão Lembre -me - por exemplo, se você não tiver espaço na tela.
@property (nonatomic, assign) BOOL useAllAvailableLanguages;
Por padrão, o IRATE usará todos os idiomas disponíveis no Irate.bundle, mesmo se usado em um aplicativo que não suporta localização. Se você preferir restringir o Irate para usar apenas o mesmo conjunto de idiomas que seu aplicativo já suporta, defina essa propriedade como não. (Padrões para sim).
@property (nonatomic, assign) BOOL promptForNewVersionIfUserRated;
Como as classificações do iTunes são específicas da versão, você idealmente deseja que os usuários classifiquem cada nova versão do seu aplicativo. Os usuários que realmente amam o seu aplicativo podem estar dispostos a atualizar sua revisão para novos lançamentos. Definir promptForNewVersionIfUserRated
como YES
, e irado solicitará ao usuário novamente cada vez que instalar uma atualização até que eles se recusem a classificar o aplicativo. Se eles caírem, não serão solicitados novamente.
@property (nonatomic, assign) BOOL onlyPromptIfLatestVersion;
Defina isso como não para ativar o prompt de classificação para ser exibido, mesmo que o usuário não esteja executando a versão mais recente do aplicativo. Isso padrão é sim porque, dessa maneira, os usuários não deixam críticas ruins devido a bugs que você já corrigiu etc.
@property (nonatomic, assign) BOOL onlyPromptIfMainWindowIsAvailable;
Essa configuração é aplicável apenas ao Mac OS. Por padrão, no Mac OS, o alerta irado é exibido como folha na janela principal. Alguns aplicativos não têm uma janela principal, portanto essa abordagem não funciona. Para tais aplicativos, defina esta propriedade como não para permitir que o alerta irado seja exibido como uma janela modal regular.
@property (nonatomic, assign) BOOL promptAtLaunch;
Defina isso como não para desativar o prompt de classificação aparecendo automaticamente quando o aplicativo iniciar ou retornar do segundo plano. Os critérios de classificação continuarão sendo rastreados, mas o prompt não será exibido automaticamente enquanto essa configuração estiver em vigor. Você pode usar esta opção se desejar controlar manualmente a exibição do prompt de classificação.
@property (nonatomic, assign) BOOL verboseLogging;
Esta opção fará com que o irado envie logs detalhados para o console sobre o processo de decisão imediata. Se o seu aplicativo não estiver solicitando corretamente uma classificação quando você espera, isso ajudará você a descobrir o porquê. O registro verbose é ativado por padrão nas compilações de depuração e desativado nas compilações de liberação e implantação.
@property (nonatomic, assign) BOOL previewMode;
Se definido como sim, o irado sempre exibirá o prompt de classificação no lançamento, independentemente de quanto tempo o aplicativo está em uso ou se é a versão mais recente (a menos que você tenha desativado explicitamente a opção promptAtLaunch
). Use isso para revisar sua mensagem e verifique sua configuração está correta durante o teste, mas desative -a para a versão final (padrão para não).
@property (nonatomic, assign) BOOL useUIAlertControllerIfAvailable;
Por padrão, o IRATE usará o UialerTView no iOS para exibir o prompt de classificação. O UIALERTVIEW foi descontinuado no iOS8 e substituído pelo UialerTController. Infelizmente, diferentemente do UIALERTVIEW, apresentando um alerta com o uialertController interfere na capacidade do aplicativo de exibir outros controladores e, como irado poderia teoricamente exibir um alerta em qualquer momento durante a vida útil do aplicativo, ele pode se chocá -lo com o aplicativo que tenta apresentar outro controlador de exibição . Por esse motivo, o uso do UialerTController é desativado por padrão. Você deve definir apenas essa propriedade como sim, se tiver certeza de que ela não entrará em conflito com a lógica do seu aplicativo (por exemplo, se você tiver desativado os prompts de classificação automática ou se o aplicativo não usar nenhum controlador de visualização modal).
@property (nonatomic, assign) BOOL useSKStoreReviewControllerIfAvailable;
Por padrão, o IRATE usará o SkStoreReviewController para solicitar análises no iOS 10.3 e acima. Para desativar isso, o set useSKStoreReviewControllerIfAvailable
para NO
.
Se o comportamento irado padrão não atender aos seus requisitos, você poderá implementar o seu próprio usando as propriedades, métodos e delegados avançados. As propriedades abaixo permitem acessar o estado interno e substituí -lo:
@property (nonatomic, strong) NSURL *ratingsURL;
O URL para o qual o aplicativo direcionará o usuário para que possa escrever uma classificação para o aplicativo. Isso é definido como o valor correto para a plataforma fornecida automaticamente. No iOS 6 e abaixo disso, leva os usuários diretamente para a página de classificação, mas no iOS 7 e Mac OS, leva os usuários à página principal do aplicativo (se houver uma maneira de vincular diretamente a página de classificação nessas plataformas, eu ainda para encontrá -lo). Se você estiver implementando seu próprio prompt de classificação, provavelmente deverá usar o método openRatingsPageInAppStore
, especialmente no Mac OS, pois o processo para abrir a Mac App Store é mais complexo do que apenas abrir o URL.
@property (nonatomic, strong) NSDate *firstUsed;
A primeira data em que o usuário lançou a versão atual do aplicativo. Isso é usado para calcular se o critério dos dias até os dias foi atendido.
@property (nonatomic, strong) NSDate *lastReminded;
A data em que o usuário solicitou pela última vez para ser lembrado para classificar o aplicativo posteriormente.
@property (nonatomic, assign) NSUInteger usesCount;
O número de vezes que a versão atual do aplicativo foi usada (lançada).
@property (nonatomic, assign) NSUInteger eventCount;
O número de eventos de aplicativos significativos que foram gravados desde a versão atual foi instalada. Isso é incrementado pelo método logEvent, mas também pode ser manipulado diretamente. Confira a demonstração dos eventos para ver como esse sistema operacional usou.
@property (nonatomic, readonly) float usesPerWeek;
O número médio de vezes por semana em que a versão atual do aplicativo foi usada (lançada).
@property (nonatomic, assign) BOOL declinedThisVersion;
Esse sinalizador indica se o usuário se recusou a classificar a versão atual (sim) ou não (não). Atualmente, isso não é usado pela lógica irada, mas pode ser útil para implementar sua própria lógica.
@property (nonatomic, assign) BOOL declinedAnyVersion;
Esse sinalizador indica se o usuário se recusou a classificar qualquer versão anterior do aplicativo (sim) ou não (não). O irado não solicitará o usuário automaticamente se isso estiver definido como sim.
@property (nonatomic, assign) BOOL ratedThisVersion;
Esse sinalizador indica se o usuário já classificou a versão atual (sim) ou não (não).
@property (nonatomic, readonly) BOOL ratedAnyVersion;
Este sinalizador (readonly) indica se o usuário classificou anteriormente qualquer versão do aplicativo (sim) ou não (não).
@property (nonatomic, assign) id<iRateDelegate> delegate;
Um objeto que você forneceu que implementa o protocolo iRateDelegate
, documentado abaixo. Use isso para detectar e/ou substituir o comportamento padrão do irado. Isso padrão é o delegado do aplicativo; portanto, se você estiver usando o delegado do aplicativo como seu delegado irado, não precisará definir essa propriedade.
Além da configuração, o irado possui os seguintes métodos:
- (BOOL)shouldPromptForRating;
Retorna sim se os critérios imediatos foram atendidos, e não, se não o fizerem. Você pode usar isso para decidir quando exibir um prompt de classificação se tiver desativado a exibição automática no lançamento do aplicativo. Chamar esse método não chamará o método iRateShouldPromptForRating
Delegate.
- (void)promptForRating;
Esse método acionará imediatamente o prompt de classificação sem verificar se a App Store está disponível e, sem ligar para o método de delegado de IratesHouldPromptForrating. Observe que esse método depende das propriedades appStoreID
e applicationGenre
, que são recuperadas apenas após a pesquisa do servidor do iTunes; portanto, se você pretende chamar esse método diretamente, precisará definir essas propriedades de antemão ou usar o método promptIfNetworkAvailable
.
- (void)promptIfNetworkAvailable;
Este método verificará se a App Store estiver disponível e, se for, exibirá o prompt de classificação ao usuário. O método IratesHouldPromptForrating Delegate será chamado antes que o alerta seja mostrado, para que você possa interceptá -lo. Observe que, se o seu aplicativo estiver com caixa de areia e não tiver a permissão de acesso à rede, esse método ignorará o status de disponibilidade da rede; no entanto, neste caso, você precisará definir manualmente o appStoreID
ou irado não poderá funcionar.
- (void)promptIfAllCriteriaMet;
Este método verificará se todos os critérios de solicitação foram atendidos e se a App Store estiver disponível e, se for, exibirá o prompt de classificação ao usuário. O método IratesHouldPromptForrating Delegate será chamado antes que o alerta seja mostrado, para que você possa interceptá -lo.
- (void)openRatingsPageInAppStore;
Este método pula o alerta do usuário e abre a página de classificação do aplicativo na Mac ou iPhone App Store, dependendo da plataforma irada está sendo executada. Este método não executa nenhum cheque para verificar se a máquina tem acesso à rede ou que a App Store está disponível. Ele também não chama o método de delegado -iRateShouldOpenAppStore
. Você deve usar esse método para abrir a página de classificação em vez da propriedade RatingSurl, pois o processo para o lançamento da App Store é mais complexo do que apenas abrir o URL em muitos casos. Observe que este método depende do appStoreID
, que é recuperado apenas após a pesquisa do servidor do iTunes. Se você chamar esse método sem primeiro fazer uma verificação de atualização, precisará definir a propriedade appStoreID
de antemão ou arriscar que o método possa levar algum tempo para fazer uma chamada de rede ou falhar completamente. Sobre o sucesso, esse método chamará o método de delegado -iRateDidOpenAppStore
. Na falha, ele chamará o método -iRateCouldNotConnectToAppStore:
Delegate.
- (void)logEvent:(BOOL)deferPrompt;
Esse método pode ser chamado de qualquer lugar do seu aplicativo (após a configuração irada) e incrementa a contagem de eventos significativa irada. Quando o número predefinido de eventos for alcançado, o prompt de classificação será mostrado. O parâmetro opcional de adiamento é usado para determinar se o prompt será mostrado imediatamente (não) ou se o aplicativo esperará até o próximo lançamento (sim).
- (void)remindLater;
Este método redefine o período de lembrete.
O protocolo Iratelegate fornece os seguintes métodos que podem ser usados para interceptar eventos irados e substituir o comportamento padrão. Todos os métodos são opcionais.
- (void)iRateCouldNotConnectToAppStore:(NSError *)error;
Esse método é chamado se o irado não puder se conectar à App Store, geralmente porque a conexão de rede está baixa. Isso também pode disparar se o seu aplicativo não tiver acesso à rede devido às permissões de sandbox; nesse caso, você precisará definir manualmente o AppStoreid para que o irado ainda possa funcionar.
- (void)iRateDidDetectAppUpdate;
Esse método é chamado se o irado detectar que o aplicativo foi atualizado desde a última vez em que foi lançado.
- (BOOL)iRateShouldPromptForRating;
Este método é chamado imediatamente antes do prompt de classificação ser exibido para o usuário. Você pode usar esse método para implementar a lógica solicitada personalizada, além das regras padrão. Você também pode usar esse método para bloquear o alerta de prompt padrão e exibir o prompt de classificação de uma maneira diferente ou ignorá -lo por completo.
- (void)iRateDidPromptForRating;
Este método é chamado imediatamente antes que o prompt de classificação seja exibido. Isso é útil se você usar o Analytics para rastrear qual a porcentagem de usuários veja o prompt e depois vá para a App Store. Isso pode ajudá -lo a ajustar as circunstâncias quando/como você mostra o prompt.
- (void)iRateUserDidAttemptToRateApp;
Isso é chamado quando o usuário pressionou o botão de taxa no prompt de classificação. Isso é útil se você deseja registrar a interação do usuário com irado. Este método é chamado apenas se você estiver usando o prompt de visualização de alerta irado padrão e não será chamado automaticamente se você fornecer uma implementação de classificação personalizada ou chamar o método openRatingsPageInAppStore
diretamente.
- (void)iRateUserDidDeclineToRateApp;
Isso é chamado quando o usuário se recusa a classificar o aplicativo. Isso é útil se você deseja registrar a interação do usuário com irado. Este método é chamado apenas se você estiver usando o prompt de visualização de alerta irado padrão e não será chamado automaticamente se você fornecer uma implementação de classificação personalizada.
- (void)iRateUserDidRequestReminderToRateApp;
Isso é chamado quando o usuário pede para ser lembrado para classificar o aplicativo. Isso é útil se você deseja registrar a interação do usuário com irado. Este método é chamado apenas se você estiver usando o prompt de visualização de alerta irado padrão e não será chamado automaticamente se você fornecer uma implementação de classificação personalizada.
- (BOOL)iRateShouldOpenAppStore;
Este método é chamado imediatamente antes de irar tentar abrir a App Store. Retorne não, se você deseja implementar sua própria página de exibição da página de classificação.
- (void)iRateDidOpenAppStore;
Este método é chamado imediatamente após o Irate abrir a App Store.
As seqüências de caracteres padrão para irate já estão localizadas para vários idiomas. Por padrão, o IRATE usará todas as localizações no Irate. As chaves iradas são:
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";
Se você preferir irado usar apenas as localizações ativadas em seu aplicativo (para que, se o seu aplicativo suportar apenas inglês, francês e espanhol, irado será automaticamente localizado para esses idiomas, mas não para alemão, mesmo que irado inclua um alemão alemão arquivo de idioma), defina a opção useAllAvailableLanguages
como não.
Não é recomendável que você modifique os arquivos de strings no irado.bundle, pois ele complicará a atualização para versões mais recentes do irado. A exceção é se você deseja enviar idiomas ou melhorias adicionais ou correções para as localizações no projeto irado no GitHub (que são muito apreciadas).
Se você deseja adicionar um idioma adicional para irado em seu aplicativo sem enviá -lo de volta ao projeto GitHub, poderá adicionar essas seqüências diretamente ao arquivo localizável apropriado. Se você deseja substituir algumas ou todas as seqüências iradas padrão, a opção mais simples é copiar apenas essas strings para o seu próprio arquivo localizável.strings e modificá -las. O IRATE usará automaticamente strings no pacote de aplicativos principal em preferência aos do pacote irado para que você possa substituir qualquer string dessa maneira.
Se você não deseja usar nenhuma das localizações padrão, poderá omitir o irado. Observe que, se você deseja suportar apenas um subconjunto de idiomas que suportam irados, não é necessário excluir os outros arquivos de strings do irate.bundle - basta definir useAllAvailableLanguages
como não, e o irado usará apenas os idiomas que seu aplicativo já suporta.
O método antigo de substituir as seqüências padrão do Irate usando métodos individuais do setter (veja abaixo) ainda é suportado, no entanto, a abordagem recomendada agora é adicionar essas strings ao arquivo localizável do seu projeto, que será detectado automaticamente por irado.
+ (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");
}
Quando você constrói e executa o projeto básico de exemplo do Mac ou iPhone pela primeira vez, ele mostrará um alerta solicitando que você classifique o aplicativo. Isso ocorre porque a opção VisuewMode está definida.
Desative a opção PreviewMode e jogue com as outras configurações para ver como o aplicativo se comporta na prática.
O exemplo avançado demonstra como você pode implementar uma interface irada completamente sob medida usando os métodos irados. O aviso automático está desativado e, em vez disso, o usuário pode optar por classificar o aplicativo pressionando o botão "Avalie este aplicativo".
Quando pressionado, o aplicativo primeiro verifica se a App Store está disponível (pode não ser se o computador não tiver conexão com a Internet ou Apple.com estiver inativo) e iniciar a Mac App Store.
O exemplo é para o Mac OS, mas o mesmo princípio pode ser aplicado no iOS.
Versão 1.12.2
Versão 1.12.1
Versão 1.12
Versão 1.11.7
Versão 1.11.6
Versão 1.11.5
Versão 1.11.4
canOpenURL:
Versão 1.11.3
Versão 1.11.2
Versão 1.11.1
Versão 1.11
promptIfCriteriaMet
NSNotificationCenter
como alternativa para delegarUIAlertController
em vez de UIAlertView
se disponívelVersão 1.10.3
Versão 1.10.2
Versão 1.10.1
Versão 1.10
daysUntilPrompt
até o período após uma atualização de aplicativopromptForNewVersionIfUserRated
para re-crominar os usuários que têm classificação anterior (OFF por padrão)updateMessage
para uso com a opção promptForNewVersionIfUserRated
Versão 1.9.3
Versão 1.9.2
Versão 1.9.1
Versão 1.9
promptAgainEachVersion
Versão 1.8.3
Versão 1.8.2
Versão 1.8.1
Versão 1.8
Versão 1.7.5
Versão 1.7.4
Versão 1.7.3
Versão 1.7.2
Versão 1.7.1
Versão 1.7
Versão 1.6.2
Versão 1.6.1
Versão 1.6
Versão 1.5.3
Versão 1.5.2
Versão 1.5.1
Versão 1.5
Versão 1.4.9
Versão 1.4.8
Versão 1.4.7
Versão 1.4.6
Versão 1.4.5
Versão 1.4.4
Versão 1.4.3
Versão 1.4.2
Versão 1.4.1
Versão 1.4
Versão 1.3.5
Versão 1.3.4
iRateDidDetectAppUpdate
MétodoVersão 1.3.3
Versão 1.3.2
Versão 1.3.1
Versão 1.3
Versão 1.2.3
Versão 1.2.2
Versão 1.2.1
MAC_APP_STORE_REFRESH_DELAY
to 5 seconds to support older machinesVersão 1.2
Versão 1.1
Versão 1.0