Monetizando Sua APP Android Com AppJolt no Uninstall
(3103) (14)
CategoriasAndroid, Design, Protótipo
AutorVinÃcius Thiengo
VÃdeo aulas186
Tempo15 horas
ExercÃciosSim
CertificadoSim
CategoriaEngenharia de Software
Autor(es)Kent Beck
EditoraNovatec
Edição1ª
Ano2024
Páginas112
Opa, blz?
Nesse post vamos trabalhar a library da startup AppJolt. A library vai nos permitir disponibilizar conteúdo (anúncios em sua maioria) logo depois de o user de nossa APP desinstala-la ou atualiza-la, O conteúdo é apresentado no navegador mobile.
Essa é uma maneira inovadora de obtermos mais ganhos com nossas APPs e também poder saber de nossos ex-users o porquê de eles estarem deixando a APP. Em muitos casos, o saber porque os users estão deixando a APP pode ser muito mais importante, pois a retenção deles junto a melhoria da APP no caminho correto (de acordo com a resposta do questionário de desinstalação) é a principio mais importante para o sucesso da APP.
A AppJolt é uma startup nova, tem menos de um ano que o produto deles esta liberado e o principal foco é em desenvolvedores de games, mas qualquer APP pode utilizar a library (.jar) do AppJolt.
Fique ligado que para utilizar o AppJolt você não precisará remover o APPODEAL ou qualquer outra library que anúncios no contexto padrão (dentro da APP), pois o AppJolt trabalha como se fosse uma library de complemento para aumentar os ganhos ou entendimento do porquê os users estão deixando a APP.
Assim que realizar o cadastro você já ganha 50 dólares, não é para gastar com anúncios, é seu, porém somente pode ser resgatado assim que você atingir um total de 100 dólares. Para cada amigo que se cadastrar com seu link (encontrado no menu do topo, lado direito, botão "Referral Program") e ainda colocar uma APP na PlayStore utilizando o AppJolt você ganha 25 dólares.
Abaixo vou lhe guiar na configuração e utilização do AppJolt. No fnal do post tem um vídeo com o conteúdo completo e comentado.
Primeiro entre no site http://www.appjolt.com/, logo depois no menu superior, lado direito, clique em "Sign Up". Crie sua conta e novamente no menu, no lado esquerdo, clique em "Log In". Entre com suas credenciais e conecte-se ao AppJolt.
O próximo passo é baixar o AppJolt Android SDK. No menu lateral esquerdo clique em "Android SDK". Logo depois clique no botão de download da Android SDK (o primeiro de cima para baixo). Realizado o download, descompacte o .zip e em seu projeto (assumindo que já criou um projeto vazio - Empty project) coloque a visualozação de hierarquia do projeto em modo "Project" (o padrão é "Android") como abaixo:
Coloque dentro do folder "libs" o arquivo .jar que estava dentro do .zip como na figura abaixo:
Agora é setar no Gradle (Module: app) a referência ao arquivo .jar como abaixo:
...
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile files('libs/appjolt-sdk-2.8.72.jar')
}
...
Logo depois, abara o AndroidManifest.xml e coloque as seguintes permissões (fora da tag <application>):
...
<!-- Appjolt - Required -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- Appjolt - Highly Recommended -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
...
Note que se já estiver desenvolvendo para Android 6 (Marshmallow) e compilando com API 23 ou maior, terá de utilizar requisição de permissão em tempo de execução como nesse vídeo do Blog: Sistema de Permissões em Tempo de Execução, Android M.
Agora, ainda no AndroidManifest.xml coloque as seguintes configurações dentro da tag <application> (coloque no final dela):
...
<!-- Appjolt -->
<!-- Appjolt Activity -->
<activity android:name="com.appjolt.sdk.AppjoltActivity"
android:taskAffinity="com.appjolt.sdk.twentyeight"
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="false"/>
<!-- Appjolt Service -->
<service
android:name="com.appjolt.sdk.AppjoltService"
android:enabled="true"
android:process=":appjolt" />
<!-- Appjolt BOOT receiver -->
<receiver
android:name="com.appjolt.sdk.AppjoltReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
</intent-filter>
</receiver>
...
Note que na tag <service> não utilizamos o atributo android:exported="true". Caso esteja você com o AndroidStudio atualizado, não terá problemas quanto a isso, caso não esteja e os anúncios não sejam apresentados, tente colocando esse atributo.
Agora é criar uma application personalizada para que seja possível a inicialização do AppJolt. Segue código de MyApplication.java que está na rais do projeto como a MainActivity.java:
import android.app.Application;
import com.appjolt.sdk.Appjolt;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Appjolt.init( this );
}
}
Se não entende o que é uma Application, veja esse vídeo do Blog: Application Class no Android, Entendendo e Utilizando
Agora é voltar ao AndroidManifest.xml e atualizar a tag <application> colocando o atributo android:name com a referência de nossa MyApplication:
...
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:name=".MyApplication">
...
Segue código da MainActivity:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.appjolt.sdk.Appjolt;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* Appjolt - Show EULA only in Google Play Installs (and Debug mode) */
/* Please make sure this is added to the Activity onCreate and not Application like the init() method. */
if (Appjolt.isGooglePlayInstall(this))
{
Appjolt.showEULA(this);
}
Appjolt.addUserSegment(this, "Buyer");
}
}
No código acima note que tem um trecho de verificação do Google Play e logo depois, dentro do condicional, a chamada a showEULA(). Esse showEULA se refere a uma dialog que devemos apresentar ao user da APP antes que ele prossiga com a utilização dela. Pois como vamos apresentar conteúdo proveniente da APP depois de ele já ter desinstalado ela, essa apresentação da dialog sobre End User License Agreement (EULA) para confirmação dele é necessária, caso contrário o Google tende a remover nossa APP da PlayStore.
Alias esse é um dos pontos negativos da APP, pois nessa parte pode ocorrer algumas desistências em continuar com a APP, isso por parte dos users. Mas é aquilo, primeiro devemos testar para termos os verdadeiros números, para então tomar uma decisão quanto a continuar ao não com o AppJolt. Veja abaixo como é a tela de verificação e informação do EULA:
O trecho de código que tem a chamada a addUserSegmente() está ali somente para mostrar a maneira que podemos colocar tags aos users da APP de acordo com as ações tomadas por ele, nela.
Volte ao dashboard Web do AppJolt e no menu esquerdo clique em "Applications". Logo depois clique em "+ Add Application".
Vou assumir que esta com a APP ainda em ambiente de desenvolvimento, dessa forma, abaixo do "- OR -" preencha os dados de sua APP. O packagename de sua APP se encontra na tag <manifest> no atributo "package" do arquivo AndroidManifest.xml.
Preenchido o formulário, agora crie uma campanha clicando em "+ Add Campaign", no modal aberto clique em "Monetize".
Na página, terá um formulário onde no campo "Campaign name" você pode entrar com qualquer nome de sua escolha, sempre evite palavras acentuadas no AppJolt, eles ainda não programaram o site para isso (really!). No campo "Region" pode deixar "Global" ou selecionar Brazil (portuguese).
Clique em "Optional settings" e no campo "User Segments" coloque "Buyer". Logo depois clique em "Create Campaign".
Note que o status de sua APP no AppJolt provavelmente ainda estará "Awaiting SDK integration", logo depois que executar sua APP no emulador esse status vai para "Approved".
Agora é voltar ao AndroidStudio, no menu superior clique em "Build" logo depois em "Rebuild Project":
Agora é somente executar a APP e logo depois remove-la do device, dessa forma você deve obter algo similar ao print do emulador abaixo:
Well done. Agora já é possível ampliar a receita de sua APP com anúncios pós uninstall ou saber por meio de surveis (questionários) o porquê do user estar deixando a APP e então trabalhar a APP para melhorar a questão mais frequente.
No dashboard do AppJolt você tem todo esse controle, incluindo as respostas dos surveis.
Até o lançamento desse post o AppJolt ainda não trabalhava com Android Lollipop ou superior. A plataforma Web tinha ainda muitos bugs com palavras acêntuadas. Porém o suporte é muito bom e ainda tem a opção de monetização com "Marketing Research", onde nada é apresentado ao user e mesmo assim, devido aos trabalhos de coleta de dados no background, a APP está sendo monetizada.
Conteúdo completo no GitHub: https://github.com/viniciusthiengo/AdsAppJolt
Segue vídeo de implementação do projeto, note que no vídeo ainda tem a implementação da versão Survey.
Seguem links das postagens também utilizadas para estudo do AppJolt:
AppJolt Releases Solution for Monetizing App Uninstalls
Monetizing Uninstalls ?? AppJolt
Vlw.
Comentários Facebook